摘 要:系統以Cortex-M3為內核的STM32作為中央處理器,用激光傳感器探測路徑實時控制電機速度,結合PID算法控制舵機轉向。實踐證明,智能循跡車能自主尋找線路以2m/s的速度穩定運行。
關鍵詞:Cortex-M3;PID算法;激光傳感器;智能循跡車
1 引言
智能車輛作為智能交通系統的關鍵技術之一,它體現了車輛工程、人工智能、自動控制及計算機技術于一體的綜合技術。是未來汽車的發展趨勢[1]。本系統以激光傳感器采集路徑信息,霍爾元件所讀取的脈沖數中央處理器STM32-103RBT6計算車體與賽道中心偏差、入彎時曲線偏差角度和智能車實時車速;并完成舵機轉角和控制輸出驅動分配,使智能車穩定在賽道運行。為更好完成人機交互系統設置矩陣鍵盤,LCD液晶顯示和藍牙無線通信模塊。
2 系統整體框架
智能車采用HSP無限94185作為智能車機械結構的主體部分,由路徑采集部分,電機和驅動部分,穩壓部分,舵機部分,人機接口部分和中央處理器部分組成,系統框圖如圖(1)所示。為了讓各個模塊能夠正常的工作系統分別有3.3V穩壓電路和5V穩壓電路。系統路徑檢測部分是用激光傳感器,傳感器將檢測到的信號給中央處理器,測速模塊所測得脈沖同時也傳送給中央處理器,經過中央處理器分析處理會做出相應的響應。CPU會向舵機發送相應的指令同時也控制電機的轉速把相應的指令發送給驅動模塊。為了更好控制與校正系統使系統更加穩定,系統會把PID各參數顯示到TFTLCD液晶顯示屏上,并且矩陣鍵盤各個按鍵對系統的各個參數進行調節。為了能更好的監控到系統的運動狀態系統還可以通過無線通信模塊將信息發給PC機,PC機也可以對系統的各參數進行調節控制,從而更好的實時對智能車進行控制。
3 系統硬件結構
3.1 人機接口部分
人機接口部分主要包括:矩陣鍵盤模塊、LCD顯示模塊和HC-05無線藍牙通信模塊。矩陣鍵盤的各個按鍵有其特定的功能可以改變智能循跡車的速度,舵機打舵的角度,舵機、電機PID各個參數的大小還可以根據賽道不同的情況選擇不同的程序。LCD顯示模塊可以顯示智能循跡車的各項參數如:系統給定速度,測速模塊所測得的速度,系統舵機、電機PID算法的各個參數及傳感器采集回來的路徑信息。同時為了更好的滿足對系統的控制及調節系統會將上述信息通過藍牙無線模塊發送給上位機,上位機軟件顯示出相應的數值。在上位機發出相應的指令可以控制下位機的各個參數,從而更好的控制系統使系統更加穩定的運行。之所以選擇無線藍牙模塊是因為考慮到在現實的應用可以將PC機和手機作為用戶終端,PC機和手機都具有藍牙功能,只要在上面開發一款軟件就可以省去大量的材料,用戶終端輸入正確的指令就可以與下位機的藍牙配對,下位機會把數據上傳到上位機上位機會做出相應的處理。
3.2 系統電機驅動模塊
為系統提供動力的是RC380直流電機,系統單片機的I/O口提供的電流不夠,該系統采用常見的BTS7960芯片作為電機驅動。由于使用其他驅動電路如MOS管驅動或者其他驅動電路搭起來比較復雜而且阻容匹配也比較繁瑣,因為7960芯片體積小而且驅動能力比較強通態電阻小內部集成了驅動IC具有過壓,欠壓,過流及短路保護[2]。所以采用7960驅動芯片為電機提供驅動。驅動電路如圖2所示。
3.3 系統穩壓模塊
由于電源容量為1000mA提供7.2V的直流電, CPU正常工作電壓為3.3V,傳感器部分、測速部分及通信模塊正常工作電壓都為5V。所以我們采用了兩種穩壓芯片分別為提供3.3V的SPX1117芯片和提供5V的LM2940芯片。之所以選擇LM2940芯片是因為該芯片能提供電流為1A的5V電壓,系統測速模塊、通信模塊、矩陣鍵盤、傳感器模塊和通信模塊都用需要改芯片提供電壓,所以采用能提供1A電流的LM2940芯片。
3.4 系統路徑識別部分
由于賽道兩測是黑線,中間是白線,所以路經檢測部分采用激光傳感器八字型檢測。激光傳感器打到黑線上會被黑色的吸收接收器則接收不回來信號,激光打到白色賽道會形成漫反射接收器會接收到信號[3],為了讓接收到更加準確,信號更加強我們在接收器上安裝了透鏡,根據透鏡的聚光作用我們就能更準確的判斷路徑情況。激光發射接受電路如下圖3所示:限流電阻R1我們選擇的68Ω,經過多次實驗測得限流電阻必須大于65Ω,小于可能會燒壞激光。
3.5 速度檢測模塊
關于速度檢測有很多種傳感器包括光電編碼器、激光傳感去和霍爾元件加稀土磁鋼。他們各有各的優點及缺點,經過綜合考慮采用霍爾元件加稀土磁鋼。因為它本身體積比較小,容易安裝,獲取信息準確不增加后輪的負載;但是它也有缺點由于離后輪電機及驅動電路較近容易受到電磁場的干擾。速度檢測模塊我們采用霍爾元件加稀土磁鋼,能得到準確的速度返回值。
4 智能車軟件部分
Keil μVision4軟件具有強大的功能,智能車系統也使用這款軟件作為開發環境。軟件設計部分主要有系統各模塊運行程序和舵機電機PID控制程序。由于PID控制器結構典型,各個參數有明確的物理意義,需要整定的參數少,參數調整方便,容易實現多回路串級控制[4],所以我們也選擇這種控制方法。
4.1舵機控制
舵機控制軟件流程圖如圖4所示,之所以選擇數字舵機是因為反應速度快,定位精度高而且還防抖。
車模在行駛過程中不斷的采集賽道的信息,通過采集的信息判斷車模所處的路況,計算轉彎的半徑[5]。舵機的周期為20ms,舵機輸入脈寬為0.5ms,可以向左最大打角60°向右最大打角60°。利用CPU計算出距離賽道中心的距離,如果距離在允許范圍內,我們可以認為車模在指定的道路上,車模舵機保持車模全速前進。如果距離超出允許值,根據計算出的偏移量角度根據公式:
其中,?琢為車模偏離賽道中央的偏移角度,?駐x為兩個激光間間距,n為兩次采樣之間處于黑線所差的激光個數,?茁為八字激光與橫坐標所成的角度。v1,v2分別為在一個采樣周期T開始和結束時的速度,X為偏離橫坐標的偏移位移,H為車模運行縱坐標的距離。根據:
?茲為舵機所要打的角度。Kp、Ki、Kd分別為比例系數,積分系數和微分系數。偏差一旦形成,比例環節立即產生作用用以減小偏差;積分作用消除靜差,提高系統誤差度;微分作用加快動作速度,減小調節時間[6]。
4.2 電機控制
在車輪子上安裝了3塊磁鐵,小車車輪每轉一圈霍爾元件會讀取3次脈沖,我們根據一定時間內所獲取到的脈沖數就可以檢測到小車的運行速度,CPU獲取賽道信息結合所讀取車模實時返回的速度根據不同賽道信息情況CPU對電機驅動的PWM占空比會輸出不同的值,從而實現在不同的賽道,車模以不同的速度穩定在賽道運行。
舵機和電機控制都是通過STM32的I/O口輸出的PWM控制。
4.3 人機接口模塊軟件控制
人機接口程序主要包括LCD底層驅動及LCD顯示程序,無線藍牙串口程序和矩陣鍵盤調節程序。矩陣鍵盤為4×4方陣根據不同的賽道情況按下不同按鍵的順序可以選擇不同的程序;由于PID各參數物理意義明確按下指定按鍵可以調節舵機或者電機各PID參數從而使系統更穩定的運行。無線藍牙模塊實時的上傳車模運行的各項參數,上位機發送指定指令可以調節系統各參數,如發送“s0”會調節電機PWM讓電機加速每發一次PWM增加百分之二占空比,發送“djp1”會使舵機的比例系數減小每次減小0.1。從而更好地監測到車模運行的狀況,使車模在賽道穩定運行。
5 結論
本文介紹基于Cortex-M3內核為處理器的可自主無循跡的智能循跡車及以藍牙為無線
通信模快的上位機控制系統。智能車在自主循跡模式下通過PID算法實現轉向和速度控制,可以快速流暢的在賽道上運行;在上位機控制模式下車模也可以自如的按著指令運作,并實時的把數據傳輸給上位機可以對系統得到更好的監測。在汽車電子產業迅速發展的大背景下有較好的研究價值。
參考文獻
[1]黃杰,秦補枝. 基于模糊控制的智能循跡小車的設計[J] 中國科技信息 2010(20).-148-149.
[2]付君,移動機器人運動控制系統的設計與實現[J] 科協論壇 2011(4).-91-94.
[3]朱苗苗,楊泰朋,孫經緯.基于激光傳感器的智能車設計[J].科教前沿.2010(25).-20-21.
[4] 黃友銳,曲立國.PID控制器參數整定與實現[M] 北京.科學出版社 2010.2
[5]謝冬菊,諶海云,郭佳俊.基于PID控制算法的智能車設計方案[J]. 中國工控網,2011-4-12.
[6]呂建波.基于激光傳感器的自主尋徑智能車設計[J].現代電子技術,2012,35(13).-146-148.