姚 慶 ,穆懷輝 ,王瑞紅
(黃河交通學院,河南 焦作 454950)
隨著人工智能技術的飛速發展與廣泛應用,智能避障車的作用日益突出。智能小車是一類具有感知外界環境、選擇最佳路徑、智能規避障礙等能力的智能機器人[1]。它利用紅外傳感器、超聲波傳感器等,對前方的障礙物進行實時檢測,實現智能避障,并可以在未知的路徑上進行自動駕駛,它不但能用于人們的日常生活,而且在工業和軍事領域有著廣闊的市場前景。本研究的目的是為智能小車的設計與發展提供一種新的思路與方法,使之能夠更好地服務于人們的日常生活,提升人們的生活品質。
在整個智能小車系統的整體設計[2-3]中,分為了兩大板塊進行,為小車硬件部分設計和軟件部分設計。本研究所設計的智能小車具有紅外避障、紅外循跡、紅外遙控、太陽能充電等多種功能。為了方便日后的更新和后續升級,在具體設計過程中做到不同模塊之間相對獨立。
1)電源模塊:主要由兩節蓄電池配合太陽能板塊來保證電能供給,電池容量匹配智能小車完成工作需要。
2)單片機控制模塊:作為控制系統的核心,主要擔當的角色和VCU 類似,對傳感器傳來的信息進行采集和處理,使各功能模塊完成指定的任務。
3)電機驅動模塊:由兩個電機來配合單片機系統和驅動芯片實現小車的正常驅動。
4)紅外檢測模塊(包括避障、循跡和遙控):由紅外光電傳感器組成,按不同功能對小車運動過程中遇到的感應物做出反應,然后傳送信號給控制模塊處理。
5)太陽能板模塊:它由一塊太陽能板和一個雙向開關組成,開關控制兩種模式(放電和充電模式),實現脫離傳統蓄電池充電驅動模式。
本研究所設計的智能型小車,包含兩大主要消耗電能的部分:一是控制回路,二是驅動回路。主控制部分所需電源為3.3 V,而電機驅動芯片L293D 的工作電壓為5 V。所以,可以選用5 V 為主要電源,再加上變換晶片7805,就可以得到+3.3 V的輸出電壓。
在供電方面,本設計采用了兩節14500 型號的3.7 V 的可充電鋰電池,所以能從鋰電池中直接獲得+7.4 V 的電壓。在+7.4 V 到+5 V 之間,最常用的變換晶片是7805,經過電壓穩定得到各系統所需電壓,并用7965開關來控制電源的開關。
控制系統是移動機器人的核心部件之一,它的主要工作就是在復雜的環境下,把事先設置好的方案和指令轉化成所需的機械運動,從而達到特定運動的目的。因此,其控制效果的好壞,不僅關系到整個機器人的動作精度,而且關系到其是否能夠達到預定的目標,而且關系到其靈巧性與可靠性[4]。綜合考慮了系統的硬件性能及成本等方面的原因,本研究選用意法半導體公司生產的一款具有良好性價比的32 位微控制器STM32F103,并將其應用于智能小車的控制中。
控制系統采用了高性能ARM 芯片Cortex-M3,32 位RISC 芯片,保證了系統的穩定性。其工作頻率最高可達到72 MHz,并配有一個嵌套的向量干擾控制器,使干擾反應更迅速。另外,它還具有512 KB的快閃記憶體,64 B 的SRAM 記憶體,多個增強的輸入輸出埠,并具有配置功能,可與兩個APB 總線相連。本設計采用了三種不同的低功率工作方式,并且采用了靈活的時鐘控制方式,能夠很好地滿足系統的需要。其工作電壓在2.0 V~3.6 V 之間,當電源電壓為3.3 V 時,耗電只有1.44 A。
PWM(Pulse Width Modulation)技術的特點之一就是將主控器與被控器之間的信號以數字方式傳遞給被控器,從而避免了對被控器進行DAC 轉換的過程。該算法能保證信號的數字化,并能將系統噪聲降到最低。通過一個循環中高電平的變化,可以使信號占空因數發生變化。接通間隔高電平維持得愈久,對應的占空因數愈大。調節占空比可以實現不同電壓的輸出,實現對電機轉速的調節。
紅外避障電路如圖1 所示,其中結構上由V7 紅外發射二極管和V4 接收管組成避障紅外傳感器探測部分,再結合上電壓比較器LM393 根據相應指令和控制系統傳達的信息來完成相應的避障工作,另外各并聯電路選取相應的色環電阻來分配電壓以保證電路穩定。其原理為:由發射二極管V7 發出的紅外線與障礙物發生碰撞反射,紅外線被反射,光敏管V4接收紅外線,其中3 針輸出高電平,并且2 針電壓U2低于3 針電壓U3,然后由1 針輸出低電平,將電平信號傳輸到控制系統和電機驅動芯片處理,完成后續報警并后退避障操作[5]。經過反復測試,本設計小車的避障距離為10 cm~20 cm。

圖1 紅外避障電路
紅外循跡回路與紅外避障回路的工作原理相似,但兩者的側重點有所不同。避障電路主要是探測是否有被反射的光線,從而判斷出是否有障礙物,而循跡電路則是著重研究了黑色和白色兩種不同顏色的物質對光線的吸收和反射能力的差別。在紅外線循跡模式下,根據黑、白兩種材料的吸光性能差異,設計了紅外線循跡裝置。該設計使用左右輪獨立的兩套循跡模組,兩套循跡模組的具體設計結構電路圖如圖2所示。

圖2 循跡電路圖
循跡電路的工作原理是:當電路連接電源后,由左邊的紅外線二極管發出紅外線,當光線與黑線相遇時,大多數紅外線會被黑線吸收,只有很少一部分會被反射回去。紅外線發射二極管右邊的紅外線接收光敏三極管因為收到的光太少而不能正常工作,光敏三極管的C 端和E 端都是高阻狀態,并且和電阻R3形成了一個電壓回路[6]。將該分壓電壓與該電壓比較器LM393 的2 針電壓相比較,且2 針電壓U2 低于3 針電壓U3 時,最終由1 針輸出高電平傳輸到控制系統和電機驅動系統來完成循跡工作,做到始終沿黑線行駛。
正常表面的光被反射后,紅外線光敏三極管吸收了許多光,導通壓降很小。結果2 針上的電壓U2 比3 針的電壓U3 高,最后,LM393 的1 針就會輸出一個低電平然后正常行駛。直到前面有黑線時,可以通過探測1 針的電平水平來判定。由于小車的循跡誤差取決于小車的大?。▋蓚€循跡傳感器的距離)、循跡傳感器的靈敏度和黑線的粗細等,本款小車的探測靈敏度的設置可以達到左右輪其中一個輪碰到黑線就會自動矯正,可允許偏移距離約5 cm,偏航后則自動矯正并巡線行駛完成循跡工作。
本系統選擇使用Keil MDK 作為開發工具,Keil MDK 是ARM 嵌入式開發的主流工具之一,也是目前為數不多的完全支持Cortex-M3 處理器開發的工具之一。若想要實現本設計的主要三大功能必須有一套精準的編碼。
在本次設計中,小車行駛時,單片機會先分析紅外傳感器發送的信號,以判斷前方是否有障礙物。如果紅外傳感器發射的紅外線被反射并接收到,則會認為前方有障礙物,從而進行相應的避障操作[7]。具體來說,若前方存在障礙物,小車會停下來報警后退并執行右轉避障,直到檢測到無障礙物后才停止右轉并繼續執行后續操作,以完成相應的任務。避障計算程序如圖3所示。

圖3 避障計算程序
該系統的設計思路是:在啟動車輛的情況下,首先對跟蹤模塊進行初始化,然后通過紅外線感應器來探測車輛的正前方有無黑線。若小車在黑線左邊偏了一點,那就往右邊偏,再往前走;若小車偏離黑線右邊,先向左拐,再向前行駛。循跡計算程序如圖4所示。

圖4 循跡計算程序
本款小車分為三部分焊接,分別為小車底板、單片機控制板和電力驅動轉接板[8]。
1)首先進行小車底板的焊制,小車底板主要包括避障和循跡板塊。中間固定電池槽,然后底部固定兩個電機和輪胎。
2)轉接板部分主要包括電力驅動系統的一些色環電阻、遙控板塊、穩壓芯片、驅動芯片和蜂鳴器等部件,還有電源部分的插接頭。
3)最后就是把三部分利用螺釘固定連接起來,并加裝上太陽能板模塊。
焊接過程中需要注意安全并避免脫焊等問題的出現。等到焊接工作完成,小車初步模型已經設計完畢,下一步進行編碼的燒錄,先在PC 端下載好Keil開發軟件和Fly 燒錄軟件,完善好編碼后進行小車與PC端連接燒錄。
1)紅外避障調試。調試工作流程:打開小車電源,調到避障模式,放入事先制作好的含有障礙物的環境中,當障礙物在小車前方10 cm~20 cm,小車報警倒退,實施右拐避障。以此類推直至小車走出障礙環境,完成避障工作[9]。
2)紅外循跡調試。循跡功能如圖5 所示,調試工作流程:打開小車電源,調到循跡模式,放入事先制作好的帶有黑線的循跡環境中,小車能夠在環境中沿著黑線穩定行駛,如有發現識別靈敏度低的狀況,可以調節小車底部循跡板塊的靈敏調節按鈕,直到達到準確完成循跡工作的要求。

圖5 循跡功能
3)紅外遙控調試。調試工作流程:打開小車電源,調到遙控模式,將小車放在地面上,用制作好的紅外遙控器向其發送指令,由小車后端的紅外接收端接收信號,傳輸至控制決策系統進行分析,最后控制小車完成前進、左右轉向、后退等操作[10]。
隨著智能車輛行業及計算機技術的快速發展,日常生活及工業生產正在向智能化方向發展,外加新能源汽車的爆火,本設計是一種不需人為管理的智能設備,符合可持續發展的理念,能夠適應各種不同環境,克服磁場、溫度、濕度等因素的影響,在人類無法生存或者無法進入的環境下仍然可以很好地完成運輸、勘測、救援等方面的非常任務。并在各種實況模擬條件下進行模擬調試優化,確保了本設計各功能的可行性。