吳隆東++姚齊國



摘 要:本文詳細闡述了基于電磁傳感器的自導航循跡小車的設計制作過程以及雙車追逐運動的算法。控制芯片采用飛思卡爾半導體公司的32位微控制器Kinetis K60,通過10mH電感檢測賽道導線激發20khz電磁波引導小車行駛,使用編碼器采集小車的速度信息,通過鴛鴦超聲波進行兩車之間的通信,設計了一個準確靈活的智能循跡的系統。
關鍵詞:Kinetis K60 電磁檢測 超聲波通信
隨著現代科學技術的發展,微電子產業、汽車產業也得到了很大發展,與此同時,控制理論與技術也有了長足的發展,這一切都推動著智能小車的技術越來越趨于成熟。
智能小車集中運用了計算機、傳感器、通信、信息、自動控制等技術來完成環境感知、規劃決策、自動行駛等功能,是一個典型的高技術綜合系統。它的迅速發展吸引了研究人員的關注,也促使高校加強了對智能小車的應用研究。該設計就是基于這樣的背景提出的。本文采用了一款性價比高、功耗低的Kinetis K60單片機作為控制單元,設計制作了兩臺智能電磁循跡小車,該智能車巧妙地運用電磁傳感器檢測技術、單片機控制技術、超聲波通信技術等實現兩車準確靈活的自動運動控制。
系統硬件的設計
1、智能車整體結構與電源模塊
系統的整體模塊圖示如圖1所示。
智能車電源規定使用型號7.2V2000mAh Ni-Cd 的電池供電。根據電源穩定性的要求,設計經過大量的實驗選型,最終采用LM2940和AMS1117-3.3兩款芯片。兩者都為低壓差線性穩壓器件,LM2940最大輸出電流為1A,AMS1117-3.3為輸出可調穩壓器件。選用AMS1117-3.3為單片機、OLED供電,LM2940為舵機、驅動模塊供電。
2、電機驅動模塊
電機驅動芯片選用BTN7971,它是一款針對電機驅動應用的完全集成的大電流半橋芯片。驅動集成電路可進行邏輯電平輸入,與微控制器的連接非常簡單,且該驅動集成電路還具有電流檢測診斷、轉換率調整、死區時間生成以及過熱、過壓、欠壓、過流和短路保護。BTN7971只占用較小的電路板空間,為大電流保護的PWM電機驅動提供了一種成本優化的解決方案。
智能車系統驅動板共用4片BTN7971,共同組成了一個全橋。此芯片開關頻率可以達到25kHZ,電機噪聲大和發熱的問題得到了解決,驅動能力也有了明顯的提高,反應速度加快。
3、電磁檢測傳感器模塊
根據電磁檢測原理,在通有交變電流的直導線周圍存在電磁場。智能車競賽中路徑導航使用的交變電流為20KHZ,100mA,產生的電磁波屬于甚低頻(VLF)電磁波。
由于賽道尺寸遠遠小于電磁波波長,因此在導線附近能夠感應到的電磁能量非常少,可以將其視為緩變磁場。設計按照靜態磁場的處理方法來獲取導線周圍的磁場分布,從而實現位置檢測。
無限長直導線周圍的電磁分布為一圈一圈的同心圓,并且強度隨點到通電導線的距離r的增加呈減小趨勢。根據這個特性,我們可以計算出電磁傳感器距離中心直導線的距離,從而確定小車在賽道上的位置。
綜上分析,電磁傳感器采用線圈最為合適。線圈電感有多種規格,直徑越大高度越高,在直導線同一位置獲得的電磁能量就越大,傳感器獲得的信號就越強,但是太大的電感會增加傳感器重量,從而引起機械結構問題。在經歷眾多次選型之后,設計根據電感諧振頻率公式,采用10mH與6.8nf電容構成LC電路來實現頻選放大比賽場20KHZ交變電流,并以此作為電磁車的路徑導航信號。在直導線通有100mA電流時,它能檢測到峰值為1V 左右的電壓值,能夠滿足控制的要求。
磁信號經過電感采集之后,需要對信號進行放大處理。通過對大量的運放芯片與運放電路測試之后,設計采用AD8032高性能軌對軌輸入/輸出運算放大器,既能滿足信號放大倍率,也能滿足探測需求。
4 、編碼器測速裝置
編碼器、霍爾傳感器、光電傳感器、測速電機是常見的四種測速方式。根據不同的測速精度要求,經過多次選型測試后,設計選用歐姆龍出品的200線編碼器進行測速。使用這種編碼器足夠滿足精度需求,并且輸出為數字接口,輸出測速脈沖,可供單片機采樣獲得實際速度值。
5、 兩車通訊模塊
根據賽道情況,設計選擇采用鴛鴦測距模塊如表1,其使用一發一收兩個模塊,前車發送信號,后車接收信號并做出處理。檢測角度大于90°,距離=脈寬*340m/s。
系統軟件的設計
1、單片機最小系統
整個系統由采用飛思卡爾32 位微控制器Kinetis K60作為核心控制單元,以IAR軟件平臺為開發環境。控制器能采集和處理模擬和數字兩種傳感器信號,輸出的兩路PWM 分別對舵機和電機進行控制。舵機決定小車的行駛角度,保證循跡運動的準確性。硬件驅動電路控制電機使小車進行調速,配合速度策略不至于小車沖出賽道。另外使用編碼器采集速度值,作為輔助速度控制,最終實現一套能夠自主識別路線,并且可以實時輸出車體狀態的智能車控制系統。
整個系統的工作原理是由磁感應傳感器采集賽道信息并經放大處理,與測速編碼器采集的車模速度信息一起送給Kinetis K60單片機,通過程序設計控制優化算法,控制舵機的轉角和電機的轉速以達到車模在賽道上的穩定高速行駛。
2、智能車軟件系統
設計對整個小車的程序進行了模塊編寫,這樣解決問題相對簡單,既容易觀察,也增強了可移植性。程序中用到的資源有PWM、AD、PID、PIT定時器、SPI、UART、普通I/O口等功能。
PWM模塊可分為兩個部分:電機控制;舵機控制。這就涉及到控制策略。
首先是舵機的控制。利用單排傳感器進行傳感器的定位,實現該函數的思路是根據傳感器的偏差,進行分段線性給出舵機角度。舵機控制中設計使用的是PD控制,P起主導調節的作用。但是如果P偏大了會讓舵機抖動,導致直道不穩定。D的引進對于連續寬泛的坐標量作用很明顯,主要表現在減小超調、克服振蕩。
其次是電機控制。要實現小車電機能在短時間內達到理想速度,而既無振蕩,又無超調是有一定難度的。一個比較好的方案就是采用增量式PID 進行控速。速度的策略簡便靈活,直道和大弧彎道設置高速,小弧彎道和90度直角彎設置低速。
再者是兩車的超聲波通訊,設計采用前車發送信號,后車接收并讀取兩車的距離送入單片機,配合PWM進行電機調速。判定兩車距離進行速度調節,讓兩車始終保持在額定距離范圍內,在追逐運動中有序且不會發生物理接觸。
結論
通過硬件模塊的設計制作并加以配合軟件模塊的調試,本設計能夠靈活的實現兩智能小車循電磁線并完成追逐運動,追逐過程中也始終保持著設定的距離,不會出現前后車有物理接觸的現象。
由于采模塊化設計,本系統具有良好的可升級性和可擴性。采用單片機進行控制處理,它具有編程靈、自由、易于控制,穩定性能好、擴展容易等優點。控制系統是以Kinetis K60為核心,經過調試實現了小車的調速、循跡、兩車追逐,顯示速度和路程等功能。但由于時間和水平的限制,本系統還有許多仍需要改進的地方。
基金項目: 浙江海洋學院科研項目(浙海院研〔2012〕20號);浙江海洋學院2015年度大學生科技創新項目。
(作者單位:浙江海洋學院船舶與海洋工程學院)endprint