李 博,張曼玉,胡曉霞,吳 超
(西安工商學院,陜西西安 710200)
隨著中國科技的迅速發展,智能車也隨之進入中國,并迅速占領市場。甚至智能車的迅速發展淘汰了之前的舊式智能車,伴隨著科技的成熟,智能車的技術也發展較快[1-2]。智能無人巡航車不僅為交通出行帶來方便,也降低了許多交通事故[3-5]。無人駕駛智能汽車旨在將定位與導航、環境感知、智能決策、控制工程等多個學科的前沿技術應用到傳統汽車上,從而提高車輛的智能化程度[6-10]。在無人駕駛汽車的多項單元技術中,車輛運動控制技術是實現車輛穩定可靠自主駕駛的基礎,并且未知路況下的速度控制和軌跡跟蹤一直是研究的重點和熱點[11-12]。
選擇STM32 作為智能無人車的主控制器,驅動DC 引擎從而使無人巡航車是運動行駛的狀態,并用小車傳感器開始收集智能車周圍的環境信息[13-14]。而智能車根據收到的命令進行下一步運動,至此實現了智能巡航無人車的智能控制[5]。
硬件模塊包括電源模塊、傳感器模塊,增量式速度檢測模塊、電機舵機驅動模塊、鍵盤及無線調試模塊、MCU 最小系統模塊等,分別實現不同的信號輸入和輸出等功能。這些硬件部分構成小車的實體。
文中的無人車需實現以下控制功能:
1)電動機功能。包括無人車前進、后退、向左轉和右轉,以及速度控制等。
2)避障功能。避障功能可以有效避開所遇障礙物。硬件總體設計框圖如圖1 所示。

圖1 硬件總體設計框圖
STM32最小系統需要有電源、晶體振蕩器、JTAG、串行端口和復位電路等模塊[15-16]。電源模塊提供穩定的電源電壓,以確保正確的操作和時序,該模塊是否運作良好對整個管理系統的最終性能都非常重要。根據以往的實際經驗來說,該設計采用12 V 鋰電池供電,但是,系統是由多個模塊組成的,況且每一個模塊所需要的額定電壓值是不一樣的,所以,必須通過一系列降壓技術,將12 V 電壓轉轉換為可以供給每一個模塊的額定電壓值。電源模塊供電電路如圖2 所示。

圖2 電源模塊供電電路
晶振是完整電路體系設計的一個重要參考,整體設計系統中所有的性能、功能以及參數都在該電路上傳輸[17]。由于晶體振蕩器的特性,如果設計不當,會影響到其他工作電路,如有AD 轉換功能干擾的電路,最差的情況就是晶振體不起任何作用,并且全部電路體系都無法正常的工作。因此,該電路設計就需要將PD0、PD1、PC14 和PC15 用于訪問晶體振蕩器電路,并且將其布置在最靠近CPU 的區域中,以確保最短的布線和最安全的信號傳輸。晶振電路如圖3 所示。

圖3 晶振電路
超聲波測距模塊是用來測量小車距礙物的距離,通過發射和接收超聲波,利用超聲波在空中的傳播的速度以及所用的時間差來計算,小車距障礙物的距離為速度乘以時間的一半[9-11]。超聲波電路如圖4 所示。

圖4 超聲波電路
由于普通直流電動機的速度非常快且轉矩很小,因此不適合智能汽車應用。變速箱應安裝在普通直流電動機上,以降低轉速并增加扭矩,在智能汽車的應用中,應用最多的驅動芯片就是意法半導體L298N 和L293D。比較可知,L298N 有很大的工作電流和很強大的驅動工作能力,所以采用L298N 電機驅動芯片,如圖5 所示。

圖5 L298N驅動電路
系統開始工作時,先要初始化,隨后按下開關啟動STM32 智能車,在開關處加入防抖動的程序,防止按鍵抖動,然后在小車啟動中,電機控制的L298N、超聲波以及循跡被啟動,并且需要循跡檢測是否有黑線,如果沒有檢測到黑線,小車則處于停止等待狀態,若檢測到黑線,小車就沿著黑線高速行駛。在該過程中若小車偏離軌跡,可停車等待或者等待重新檢測黑線的位置后,再繼續進行循跡。主程序流程圖如圖6 所示。

圖6 主程序流程圖
超聲波方向性強、傳輸快,在基質中的傳輸距離較大。在發射超聲波時,空氣中的超聲波在接觸到阻礙它前進的物體時,超聲波接收器就會接收到的傳回的信息,反射波立即停止所有的計時。可以根據秒表記錄的時間t計算出發射點與障礙物之間的距離s,即s=340t/2。這種方法被稱為時差測量法。通過超聲波確定距離的原理是根據兩次發射之間的時間差,通過測量聲波被反射的時間來計算發射點與障礙物之間的實際距離。超聲波軟件流程圖如圖7 所示。

圖7 超聲波采集流程圖
電機驅動模塊通過PWM 的調節來控制電機的運轉。
PWM 控制原理:PWM 網絡寬度的調制特征在于通過改變脈沖寬度來控制輸出電壓,并通過改變周期性來控制輸出頻率。可以通過改變脈沖調制周期來獲得輸出頻率的變化。這樣,兩個電壓和頻率調節功能是相干的,并且獨立于中間DC 連接,這樣可以加快調節速度并改善動態特性。由于恒定功率脈沖只需要恒定的直流電源,因此可以用電抗線圈代替,大大增加了網絡的功率因數。PWM 逆變器可以抑制或消除低電平諧波。由于自導式設備的組合使用,開關頻率將顯著增加,并且輸出波形會非常接近正弦波。電機驅動軟件流程圖如8 所示。

圖8 電機驅動軟件流程圖
測試儀器:秒表、數字萬用表、信號發生器、示波器、直流穩壓電源等。
測試方法:數字萬用表主要是用來測試單獨元件之間的電阻、壓降、漏電流以及截止或導通狀態等參數,信號發生器與示波器用于測試PWM 波是否正常,從而判斷PWM,控制電機的轉速;直流穩壓電源在測試期間為各種待測系統提供電源;秒表用于小車超聲波的測試中,測量信號從發射到小車作出反應的時間。
從小車的測試結來看,小車系統測試的距離與人工測試的距離(s=340t/2)誤差在允許的范圍內是基本相等的。從整體結果看來,各模塊正常運行,且小車運行平穩,達到了設計的要求。
對所設計的電路進行多次測量、校準發現,通常超聲波測距最大距離為10 m,小車規定在距離前方障礙物20 cm 以內作出正確的轉向判斷,測試時發現誤差在4 cm 時才作出反應,經過多次測量最終發現,測量盲區小于0.1 m。而且測量時超聲波測距儀有角度問題,使得測量有誤差,周圍沒有其他可反射超聲波的物體,且由于發射功率有限,測距儀無法測量1 m外的物體。
根據上述結果可知,文中設計的智能巡航無人車可以實現簡單的循跡與避開障礙物的功能,達到了設計要求,所以日常生活中這種智能車可以有效地增加汽車的安全行駛,使汽車智能化。