摘要:本文設計的智能車以STM32F405微控制器作為核心控制單元,通過3個紅外傳感器檢測賽道信息,使用速度閉環控制,使智能車實現避障行駛。
關鍵詞:紅外傳感器;閉環控制;避障智能小車
中圖分類號:TP242 文獻標識碼:A 文章編號:1674-7712 (2012) 18-0001-02
隨著電子技術和智能控制技術的發展,智能車已經成為自動控制領域內的一個研究熱點。本文研究的智能小車可以利用傳感器自動獲取目標道路信息,同時還能自動避開障礙物。
一、總體設計
為了讓小車精確快速的通過賽道,我們設計了整個小車的外形(圖1),使小車盡量的小并且輕。所以我們選用了玻璃纖維板作為底盤,并且只使用了兩個電機,用差速轉彎的方式控制小車行進,并且自行設計了電路板。最大化的減小的車的體積和重量,平衡了車的整體重心。
二、硬件設計
本設計采用ST公司Cortex-M4驅動的32位閃存微處理器STM32F405作為硬件平臺,配以電源模塊、電機驅動模塊、傳感器信號輸入等相應的外圍電路和輸入輸出接口電路等,構成一套完整的硬件系統(見圖2)。
(二)核心微處理器
本系統采用STM32F405作為核心微處理器,這是由ST公司年推出的ARMCortex-M4處理器,是ARM專門開發的最新嵌入式處理器。
在系統中,單片機主要執行以下工作:
1.采集紅外測障傳感器信號,獲取賽道路況信息;
2.采集編碼器脈沖數,進行速度PID環的運算;
3.輸出所需的左右輪PWM。
(三)電機驅動模塊
本系統采用H橋集成芯片ZXMHC3F381N8作為電機驅動芯片,該芯片由4個MOS管集成而成,能滿足系統電機的工作轉矩和轉速。
本智能小車中采用脈寬調制方式(即PWM,PulseWidth Modulation)來調整電機的轉速和轉向。脈寬調制是通過改變發出的脈沖寬度來調節輸入到電機的平均電壓,也就是單片機提供給電機的信號是方波,通過不同方波的平均電壓不同來改變電機轉速。
(四)紅外測障傳感器
紅外測障傳感器(圖4)連接到主控制板板數字輸入口上。通過M3螺絲將傳感器模塊直接固定在智能小車底盤上。
紅外測障傳感器在使用過程中,當前方有障礙物時,發射的紅外就會被反射回來,紅外接收傳感器接收到反射光,認為此時傳感器前方有障礙物。單片機采集到此信號后,控制小車運動。
通過調節紅外測障傳感器上的電位器來改變其檢測距離。當順時針旋轉電位器時,紅外發射變強,檢測距離變遠;當逆時針旋轉電位器時,紅外發射變弱,檢測距離變近。
在使用中,紅外測障傳感器對于不同顏色與粗糙程度的障礙物,使用中其檢測距離不一樣。當障礙物顏色是黑色或深色時,會吸收大部分紅外光,只反射回一小部分,有時會使紅外接收傳感器接收到的紅外光強度不夠,不足以產生有障礙的信號;當障礙物顏色是白色或淺色時,正好相反。
三、程序設計
系統電機使用閉環控制系統,在采集到編碼器的脈沖信號后,進行速度PID閉環的運算。通過定期檢測紅外測障的數據,獲得跑道數據信息后,進行路徑規劃,輸出所需的左右輪的目標速度。加入PID運算。控制輪速以完成小車避障行駛。圖5是程序流程圖。
其中stateL代表左紅外測障傳感器狀態,若為“1”則表明未檢測到左邊緣,反之則表明檢測到左邊緣;stateR代表右紅外測障傳感器狀態,若為“1”則表明未檢測到右邊緣,反之則表明檢測到右邊緣;stateM代表中紅外測障傳感器狀態,若為“1”則表明未檢測到前邊緣,反之則表明檢測到前邊緣。
在方向控制上,通過左右輪的轉速差來控制。左輪較右輪轉速快,則控制智能車右轉,反之則控制智能車左轉。
四、結束語
本文以追求智能車避障行駛穩定性為前提,提出了智能車的整體設計思想,硬件設計,軟件設計。在機械結構方面,我們以電腦鼠作為設計思想,設計了輕巧的車體結構。在電路方面,我們以模塊形式分類,在最小系統、主板、電機驅動等模塊分別設計,經過不斷實驗,最后決定了我們最終的電路圖。在程序方面,我們使用C語言編程,經過不斷討論、改進,終于設計出一套比較通用穩定的智能避障程序。在這套算法中,我們結合路況調整車速,保證在最短時間內避障跑完全程。
參考文獻:
[1]卓晴.學做智能車:挑戰“飛思卡爾”杯[M].北京:北京航空航天大學出版社,2007.
[2]黃志偉.STM32F32位ARM微控制器應用設計與實踐[M].北京:北京航空航天大學出版社,2012.
[3]譚浩強.C程序設計[M].北京:清華大學出版社,2003.
[4]高海賓.AltiumDesigner10從入門到精通[M].北京:機械工業出版社,2012.