吳祥飛,何恩節,鄭磊,陳宏茂
(安徽科技學院電氣與電子工程學院,鳳陽 233100)
智能汽車是一個集物聯網信息處理、外界環境感知、行駛決策、路線規劃等功能于一體的綜合智能控制系統[1]。汽車智能技術以信息技術為核心,綜合運用了計算機、傳感器、人工智能以及自動控制等方面的技術,是現代尤為典型的高新技術綜合體[2]。“飛思卡爾”智能車競賽使用的智能車模作為智能汽車的縮微模型,要求智能車在預先未知路況的情況下,能夠利用其本身的各種傳感器判別復雜路況,并將所獲取的路況信息做智能化處理,得以實現沿引導黑線以較高速度穩定行駛。路徑識別和路況信息處理在智能車系統中起著尤為關鍵的作用,路況識別和行駛方案選取的好壞,直接關系到智能車性能的優劣。因此光電傳感器的布局和電路設計,路徑規劃算法的優化是智能車總體設計方案的兩大重點。
光電技術智能車按照功能可分為五個部分:主控模塊、光電傳感器模塊、電源模塊、速度檢測模塊、舵機驅動和電機驅動模塊。光電智能車整體結構圖見圖1。

圖1 光電智能車整體結構
主控模塊采用的中央控制單元為混合信號ARM Cortex-M4系列32位單片機MK60N256VLQ100,此單片機具有256KB的Flash,128KB的RAM,高精度16位ADC、12位DAC和100MHz的工作頻率,其各性能都滿足智能車對主控制器資源的要求[3]。K60最小系統見圖2。
光電智能車通過加裝各類光電傳感器實現路徑檢測、路況判別、路線優化等功能。光電智能車使用的光電傳感器有:紅外光電傳感器、光電編碼器、紅外遙控、光敏電阻。

圖2 K60最小系統
電源模塊采用LM1117-5V、LM117ADJ、LM1117-3.3V、MC34063等穩壓芯片實現對光電智能車各模塊供電,電源管理模塊將供電電源(7.2V)經多路DC-DC轉換后,為中央控制器(5V)、舵機(6V)、光電傳感器(3.3V)、電機驅動(5V)等模塊供電。另外,電源模塊設
電機驅動模塊是由大功率驅動芯片BTS7960搭建的全H橋驅動電路,BTS7960組成的全H橋電路具有過熱過流保護、有效隔離電機驅動模塊和其他模塊和強勁的驅動和剎車效果等優良的性能。主控制器通過輸出兩路PWM控制信號來驅動BTS796芯片,實現驅動電機正反轉。電機驅動模塊見圖3。計有防反接和靜電保護的功能,可有效保護整個電路系統。電源模塊見圖4。
光電傳感器通過把變化的光強度信號轉換成變化的電信號實現探測。絕大多數的光電傳感器由發送器、接收器和檢測電路這三部分構成[4]。
發射端(半導體光源)通過對準目標發射連續或變光脈沖寬度的光束,給接收器傳輸持續或間斷的光信號。接收端(半導體接收器)通過接收發射器發送來的光信號并將光信號轉換為相應的電信號。發射的光束一般來源于半導體光源,有LED、LD及IR LED;而接收器則有 Photo-Diode、Phototriode、Photocell。通常,為了能夠最大限度地提高光電傳感器信噪比(SNR),在接收器的前面會裝有透鏡和光圈等光學元件,在接收器的后端則配有耦合、濾波、還原、放大功能的檢測電路。
按光電傳感器的工作方式可以將光電傳感器分為槽型光電傳感器、對射型光電傳感器、反光板型光電開關和擴散反射型光電開關四種類型[5]。
紅外遙控屬于對射型光電傳感器,其在光電智能車調試環節起到關鍵的作用,可為智能車的調試帶來極大的便利[6]。為了提高光電智能車的調試效率、尋求最優算法和路線,在經過十字、環形、S彎、斜坡等復雜路況時,可利用紅外遙控設置智能車的過道速度、內外輪差速、調速PID參數和舵機打角PID參數。

圖3 電機驅動模塊

圖4 電源模塊
為了能夠及時準確獲取光電智能車的位置信息,需要在車前部加裝紅外光電傳感器。紅外光電傳感器屬于擴散反射型光電開關,由一個發光二極管和一個光敏三極管組成。當發射端發射的光信號照射到黑色物體時,光信號會極大的減弱,致使接收端的響應電壓小于閾值電壓,則系統判別此時光電對管在黑線正上方。獲取位置信息后,將偏心距ek帶入舵機打角PID函數,實現穩定快速調整小車位置。
紅外光電傳感器作為光電智能車最為關鍵的要素,其受外界光照強度的影響極大,在面對不同的路況和環境,給其設置固定的閾值是不能滿足智能車的要求的。然而,通過加裝光敏電阻則可實現閾值的自適應調節。光敏電阻將感知到的外界光強信號轉化為電信號,這樣就可以自適應調節紅外對管的感光靈敏度。
光電編碼器屬于對射型光電傳感器。想要實現智能車在不同路況按照設定速度穩定運行,則需要將其實際運行速度帶入速度控制PID函數以實現半閉環控制。因為智能車在運行中存在機械損耗、道路摩擦、啟停慣性和轉向側移,其實際運行速度不能始終嚴格按照設定速度運行,這樣就需要通過加裝高精度的光電編碼器實時采集光電智能車實際運行速度信息[7]。
紅外光電傳感器采用TCRT5000反射式光電開關。當光敏三極管接收到紅外信號后輸出電壓會發生變化,經LM324比較器整形后得到處理后的輸出結果。比較電壓的大小由光敏電阻受光光強決定[5]。TCRT5000電路原理圖如圖5。

圖5 TCRT5000電路原理圖
位置信息采集方式采取雙排點陣采集方式。光電對管布局如圖6所示(黑圈內數字為該光電對管的位權值 jk)。設定探測到黑線的光電對管位值m=1,未探測到的為零。前后排光電管偏心距為別為d1,d2,,小車重心與前排光電管距離為l1,舵機與后排光電管距離為l2,位置偏差Δ=d1+d2,小車重心偏離中心線偏心距。當Δ≤1cm時,判定路況為直線,ek=d。Δ>1cm時,判定路況為大彎,ek=d2。設定pwm0=1500為舵機舵盤轉到最中間值。舵機打角算法采用PD算法,算法為pwm=pwm0+kp*ek+kd*(ek-ek-1) ,( kp、ki、kd、ek、ek-1分別為比例、積分、微分、本次偏心距、上次偏心距)[8-9]。

圖6 光電對管布局

圖7 控制系統流程圖
賽道復雜多變的智能車運行系統是典型的非線性系統,速度控制算法選取的是否合適直接影響到智能車運行系統的性能。利用定時中斷模塊對電機調速進行控制,每隔10ms對智能車速度進行一次更新。此處速度控制算法選取增量式PID算法,這樣就需要光電編碼器實時測量光電智能車的實際運行速度。光電智能車的設定速度為v,實際行駛速度v0。v=v0+kp*(ev-ev-1)+ki*ev+kd*(ev-2ev-1+ev-2)(kp、ki、kd、ev、ev-1、ev-2分別為比例、積分、微分、本次速度、上次速度、上上次速度)[8]。
本文提出了一種基于光電傳感器尋跡的智能車系統設計方法,采用MK60N256VLQ100單片機做主控制器。以CodeWarrior 10.7環境作為編程環境,在此環境下實現整個光電智能車系統開發、調試和優化。在結構方面,規劃了點陣光電對管的合理布局,提高了智能車尋跡性能。在控制算法方面,加入舵機打角參量,增加了穩定性控制的因子;采用紅外路徑搜索算法和增量式PID控制算法,不僅保證了光電智能車在行駛過程中能夠快速、準確地尋跡,而且使其可以在面對不同路況時采取不同的加減速策略。控制系統流程圖見圖7。實驗結果表明,光電智能車系統響應速度快、穩定性好、動態性能好且整體控制性能良好。