基于電磁傳感器的智能車控制系統設計
2.6 調試模塊
使用串行口通信是計算機與人對話最傳統、最基本的方法,異步通信(UART)接口也稱為通用異步接收器/發送器。電路圖如圖8所示。本文引用地址:http://www.104case.com/article/159461.htm
3 系統的軟件部分設計
3.1 軟件流程設計
控制系統的軟件設計基于Metrowerks Code Warrior5.1編程環境,使用C語言實現。圖9為控制系統軟件流程圖。
3.2 賽道識別算法
智能車工作時首先通過4個“一”字形排列的電磁傳感器陣列檢測軌跡黑線的當前位置,然后根據檢測結果判斷智能車與軌跡偏離的情況。本系統采用模擬檢測法。具體算法為:首先,將AD值做歸一化處理,即根據各個傳感器接收賽道的最高電壓和最低電壓,計算出各個傳感器的相對值,最后來計算賽道中心位置。信號歸一化的方法如下:
求取電壓值最大的傳感器位置,然后和它周圍兩個傳感器采樣值進行加權計算即求得小車的偏差。這種算法空間分辨率可以達到2mm,而且受電流變化的影響比較少,適合小車穩定的檢測要求。
3.3 車體控制算法
車體控制算法是整個系統的核心,它直接關系到小車的表現。在經過對傳感器信息的處理后,利用電磁傳感器采集的路徑形狀信息來控制轉向舵機和行進電機的輸出量,其中轉向舵機采用PD控制算法,驅動電機的控制采用PID控制算法。車速采用閉環控制,由PID控制器調節,其輸入量為目標速度值與當前速度值的差值,目標速度根據當前的路況信息以及路況更迭信息確定,PID調節器的輸出即為與行進電機轉速成比例的數值,經處理后,得到與所需速度相對應的PWM脈寬信號。根據賽道的不同路況信息,系統采用不同的速度給定值,并且在同一路況下,根據小車水平偏差量和水平偏差速度對速度給定值進行修正,保證其平穩而快速地行駛。
4 結束語
本文介紹了應用Freescale16位單片機MC9S12XS128實現自動巡線智能車的控制系統設計。經多次調試運行,該智能車在正確尋跡的前提下,彎道速度可以達到1.5m/s,而在直道上,智能車的速度可以達到2m/s,表明系統設計可靠,智能車運行良好。
評論