基于STM32F的電腦鼠控制系統(tǒng)設計
1 電腦鼠工作原理
本文引用地址:http://m.butianyuan.cn/article/201611/315696.htm電腦鼠周圍安裝六組紅外傳感器,分別感知左方、左前方、前方、右前方、右方,發(fā)射端發(fā)射一定頻率的紅外線,接收端通過六個方向的反射波來判斷是否有障礙物,實時地儲存單元格的資料,通過六組紅外傳感器反饋的迷宮信息,控制電腦鼠完成避障、轉彎、加速等動作,運用智能算法對迷宮的部分單元格或全部單元格進行遍歷,并將迷宮的信息以有效的數(shù)據(jù)結構存儲,微控制器根據(jù)這些記錄信息運用迷宮高效算法找到一條最優(yōu)化路徑,從而實現(xiàn)從起點到終點的最大化沖刺。
2 硬件電路設計
為完成迷宮探測和沖刺任務,電腦鼠需具備以下各功能模塊:ARM微處理器作為控制核心協(xié)調各功能模塊正常工作;電機及驅動模塊實時控制電機啟動、制動;紅外檢測模塊負責紅外線探測感知;電源為整個系統(tǒng)供電穩(wěn)定電壓,陀螺儀及指南針模塊確定電腦鼠方位,根據(jù)走過的距離,從而解析出所在坐標。硬件組成如圖1所示。
2.1 電源模塊
電源調節(jié)器件通常使用線性穩(wěn)壓器件(如LM7805),具有輸出電壓可調、穩(wěn)壓精度高的優(yōu)點,但是其線性調整工作方式在工作有較大的“熱損耗”,導致電源利用率不高、滿足不了便攜低功耗需求。開關電源調節(jié)器,不同于線性穩(wěn)壓器件,以完全導通或關斷的方式工作,通過控制開關管的導通與截止時間,有效的減少工作中的“熱損耗”,提高了電源利用率。本設計中電源模塊為系統(tǒng)提供三種不同的電壓,12V電源用于驅動電機,使用開關式電源LM2596將12V直流電壓降到5V給紅外模塊、人機交互模塊供電,再通過AMS1117將5V降到3.3V,供ARM處理器及其他模塊使用。
2.2 微處理器模塊
微處理器是整個控制系統(tǒng)的核心,它完成從紅外檢測模塊獲取路徑信息,采集瞬時速度,進行數(shù)據(jù)處理,控制算法運算,輸出實時控制量等功能。為了保證系統(tǒng)的實用性和易擴展性,本控制系統(tǒng)采用意法半導體推出的“增強型”系列STFM32F103RCT6,STM32F103xx增強型系列使用高性能的ARM Correx-M3 32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲器(高達128K字節(jié)的閃存和20K字節(jié)的SRAM),豐富的增強I/O端口和聯(lián)接到兩條APB總線的外設。所有型號的器件都包含2個12位的ADC、3個通用16位定時器和一個PWM定時器,還包含標準和先進的通信接口:多達2個I2C和SPI、3個USART、一個USB和一個CAN,在存儲容量和運算速度方面滿足要求。
2.3 電機及驅動模塊
為提高系統(tǒng)功率、降低功耗,驅動電路采用基于脈寬調制方式的集成電路芯片L298N。比較常見的是15腳Muliwart封裝的L298N,內(nèi)部包含四通道邏輯驅動電路,即內(nèi)含兩個H橋的高電壓大電流雙全橋式驅動器,可以驅動和控制兩個直流電機,芯片采用供給電機電源和邏輯電平電源的雙電源供電,可接受標準TTL邏輯電平信號,驅動46V,2A以下的電機,并可驅動電感性負載。其中ENA、ENB是控制使能端,IN1、IN 2、IN3、IN4是控制電平輸入端,電路如圖2所示。本設計中采用空心杯直流電機,它具有突出的節(jié)能特性、靈敏方便的控制特性和穩(wěn)定的運行特性,最大效率一般在70%以上,部分產(chǎn)品可達到90%以上;起動、制動迅速,響應極快;其重量、體積相對減少1/3-1/2,通過PWM調節(jié)脈沖占空比進行調速。
2.4 紅外檢測模塊
紅外檢測模塊主要負責迷宮環(huán)境監(jiān)測和處理。紅外線經(jīng)調制后由發(fā)射管發(fā)出,接收管接收迷宮墻壁反射光,根據(jù)接收反射信號強弱來判斷與隔墻的距離。本系統(tǒng)相對傳統(tǒng)紅外檢測方法做如下特點:
(1)紅外傳感器由原來的5組增加到6組。除了正前、正左、正右以及正前方兩個45度斜角外,正前方增加1組紅外傳感器,通過正前方兩組傳感器信息的融合實現(xiàn)路口45度斜走,相對于以往的90度直角調整,節(jié)約了時間,提高了效率。
(2)采用基于雙T選頻網(wǎng)絡的放大器設計,紅外傳感器根據(jù)反射信號的強弱實現(xiàn)電腦鼠與障礙物之間的測距。以往使用的是一體化紅外接收傳感器(如IRM8601S),其接收頭內(nèi)部集成自動增益控制電路、帶通濾波電路、解碼電路及輸出驅動電路,但由于檢測信號輸出的是數(shù)字信號,只能判斷有或無障礙物,不能根據(jù)檢測信號輸出的強度計算距離。本設計中采用基于雙T選頻網(wǎng)絡和TLC084組成的選頻放大設計,實現(xiàn)頻率不同增益不同,對有用信號進行放大處理,濾除或抑制無用信號。
(3)發(fā)射三種頻率調制波,減少信號之間的干擾。6組傳感器分為三組,正左和正右兩組傳感器負責檢測電腦鼠是否走在中線上,以便及時做出姿勢校正;左前方和右前方兩組傳感器主要檢查前方是否有路口;前方兩組傳感器配合電機,協(xié)同工作實現(xiàn)45度轉彎。紅外光發(fā)射頻率越高,傳播距離相對越遠,在本設計中由于迷宮墻壁之間距離16.8cm(單元格18cm.墻壁厚度1.2cm),而電腦鼠的寬度一般為10cm左右,車體距兩邊墻體的距離只有3cm左右,所以正左方和正右方發(fā)射頻率選擇為33kHz,左前方和右前方發(fā)射35kHz,正前方距離最遠,發(fā)射頻率為38kHz。具體如圖3所示。
本設計進行了硬件電路改進,由STM32定時器輸出三路PWM信號,每兩組紅外發(fā)射管共用一路PWM信號,遇到障礙物后返回,紅外接收管進行信號采集,通過選頻放大器對有用信號進行放大處理,送入STM32的12位逐次逼近型AD轉換器。由于整流濾波有延時,所以此處采用交流采樣,ADC在最高速采樣的時候需要1.5十12.5個ADC周期,在14M的ADC時鐘下達到1Msps的速度。紅外測距電路如圖4所示,當接收管接收到紅外線,D2導通,并且反射越強,D2阻值越小,沒有收到紅外線時,D2阻值無窮大,相當于截止;R3和R4兩個10K電阻提供2.5V的直流偏置。
3 軟件系統(tǒng)設計
軟件模塊是系統(tǒng)的重要組成部分,電腦鼠通過紅外檢測獲取周圍信息,完成前進、轉彎、沖刺、停止等基本動作,此外還要通過以獲取信息實現(xiàn)最優(yōu)路徑的搜尋并完成最后的沖刺。本設計才用模塊化設計,通過主程序調用各個功能子程序,主程序流程圖和中斷流程圖如圖5(a)(b)所示。
4 實驗驗證及分析
(1)紅外傳感器測距系統(tǒng)中使用基于選頻網(wǎng)絡的放大設計,由于電阻電容選用國標,無法使中心頻率恰好落在38kHz,雙T選頻網(wǎng)絡中心頻率f0=1/2πRC,選擇R/C=10k/430pF,f0=37kHz,用multisim仿真出的幅頻特性如圖6所示,搭建硬件實驗電路,中心頻率并未落在37kHz而是30kHz,減小RC值多次試驗,當R/C=9.1k/430pF,中心頻率落在38kHz。
(2)迷宮墻壁由空心的白色塑料做成,有很大一部分紅外光發(fā)生透射,加之日光影響,因此如法給發(fā)射管套用黑色外管,減少外界干擾;由ARM微處理器產(chǎn)生PWM信號送人紅外發(fā)射管,接收管接收經(jīng)過調制的紅外信號;用三極管實現(xiàn)電平轉換,調節(jié)電位器增加發(fā)射功率,使信號調整放大到A/D轉換的最佳量程范圍內(nèi),獲得期望的處理精度。通過實驗多次測量,得到一組紅外測量距離與輸出電壓的數(shù)據(jù),以障礙物距離S為橫坐標,選頻放大后的電壓值U為縱坐標,用matlab繪制曲線,電壓值與距離關系式為U=0.1195+4.5962*S-1,如圖7所示。
(4)利用STM32定時器功能,通過軟件編程調制出需要的PWM信號,以此控制電機、發(fā)射紅外,圖8是Timer4的CH1通道輸出頻率為38kHz,占空比為30%的PWM信號。
5 結束語
本文設計了基于STM32F103RCT6的電腦鼠控制系統(tǒng),在matlab、muhisim仿真基礎上,確定了選頻網(wǎng)絡的RC參數(shù),并通過實驗得到距離與電壓值的關系圖,體現(xiàn)了對稱RC雙T網(wǎng)絡良好的選頻特性;電機及驅動模塊選用效率高、響應快的空心杯直流電機。經(jīng)試驗驗證,該設計方案可以滿足系統(tǒng)要求。
評論