彭新清,趙聰聰,魏茂盛,徐 凱
(火箭軍工程大學,西安 710025)
汽車的出現(xiàn)給我們帶來了極大的生活方便。但是,汽車數(shù)量的不斷增加,不可避免的會發(fā)生交通事故,造成人員傷亡。隨著計算機技術、嵌入式系統(tǒng)、自動控制系統(tǒng)、現(xiàn)代傳感器技術等在汽車上的應用,使之越來越智能化、安全化。智能車技術的核心是采集、處理、執(zhí)行。是一門綜合性技術,在工業(yè)生產(chǎn)線、智能駕駛等領域得到廣泛應用。
系統(tǒng)實現(xiàn)兩輪車模的自平衡和自動循跡,利用藍牙通信實現(xiàn)數(shù)據(jù)的實時傳輸。分為硬件和軟件兩個方面:
分為三個部分:傳感器,決策器,執(zhí)行器。硬件的總體框圖如圖1所示:

圖1
單片機系統(tǒng)選用K60芯片進行開發(fā)。(1)電源模塊,整個平衡車系統(tǒng)需要三種不同的電壓,分別是3.3V、5V、12V電壓,3.3V主要為芯片供電。5V主要為電磁處理、測速等模塊供電。12V是為驅(qū)動電路供電。(2)藍牙模塊,傳輸數(shù)據(jù)和反饋消息。(3)電磁傳感器,當傳感器高度一定時,電感距離Y軸越近,感應電動勢E越大。(4)驅(qū)動模塊,電機驅(qū)動采用IR2104加MOS構成全橋,MOS管選用IRLR7843;(5)姿態(tài)傳感器電路,選用陀螺儀和加速度計數(shù)字集成模塊作為角度測量傳感器,兩個模塊輸出的信息經(jīng)卡爾曼濾波進行融合得到平衡車俯仰角;(6)測速模塊,采用編碼器測速方法進行測速。
實現(xiàn)的功能有:(1)功能模塊的初始化:AD模塊、角度模塊、電機、正交解碼、定時器、屏幕、電磁、中斷、參數(shù)等初始化;(2)信息采集:角度和角速度、車速、電磁信號;(3)平衡車三環(huán)嵌套控制:直立、速度、方向的控制;(4)運行狀態(tài)檢測:直立角度、電池電壓、車速、電磁信號的檢測;(5)在線調(diào)試:屏幕顯示、虛擬示波器顯示、PC調(diào)試、按鍵調(diào)試。首先進行初始化,進入主循環(huán)中,在主循環(huán)中始終對平衡車的運行狀態(tài)進行檢測,包括電池電壓,角度、角速度、行駛速度、行駛距離等,當通過屏幕顯示運行參數(shù)正常時,就執(zhí)行按鍵調(diào)試子程序,然后采集電磁信號,并通過屏幕進行實時觀察,當采集到的電磁信號正常時,將采集到的電磁信號值和平衡車中位值進行裝訂,通過PC端或者按鍵對PID參數(shù)進行修改。最后打開電機開關,平衡車就可以正常運行了。同時,采取了多項保護措施,平衡車角度超出安全范圍后,程序會自動將參數(shù)置零,平衡車越出導線或者速度達到不可控的地步時,參數(shù)置零程序會同樣被執(zhí)行。在初始化工作中,已經(jīng)對K60的一個定時器進行配置,產(chǎn)生一個1ms定時中斷,將信息采集、平衡車三環(huán)嵌套控制分成五部分置于定時中斷中:(1)讀取速度:左右兩個編碼器分別記錄單位時間內(nèi)的脈沖值,求平均,最后根據(jù)輪胎與輪齒的半徑比例關系,換算為真實的行駛速度;(2)電磁信號采集與處理:左右兩個電感分別采集10次值并各自取平均,然后將平均后的值進行歸一化,根據(jù)差比和算法算出平衡車的相對位置,用于方向控制;(3)直立控制:將讀取到的加速度計和陀螺儀值通過卡爾曼濾波進行融合,得到穩(wěn)定的角度輸出,對角度進行PD控制達到目的;(4)速度控制:算出目標速度與讀取到的速度之差,然后對差值進行PI控制;(5)方向控制:根據(jù)第二部分得到的相對位置,算出平衡車相對導線的位置偏差,對偏差進行PD控制,達到方向控制的目的。
軟件算法:(1)傳感器采集算法,電磁信號采集函數(shù)為Collect_Ad():采用均值濾波,每采集10次,進行一次濾波,抑制噪聲干擾。采集后對信號進行歸一化處理,歸一化函數(shù)Convert_Ad(),采集到的信號值落在1-100范圍之內(nèi);(2)編碼器測速算法,測速的子函數(shù)為Read_Speed() ;(3)直立控制??刂频膶ο笫墙?jīng)卡爾曼濾波后的角度,控制的目標是使平衡車俯仰角度保持在設定的角度附近。在程序中,通過不斷修改PID_ANGLE.P和PID_ANGLE.D兩個參數(shù),使得平衡車穩(wěn)穩(wěn)地立住。(4)速度控制算法:引入積分控制,利用PI算法實現(xiàn)速度控制。(5)方向控制,電感在空間采集到的電感值與傳感器偏離導線呈非線性關系,因此采用差比和算法使之線性化,通過對位置X_Position進行控制,產(chǎn)生的pwm一個相加至左輪,一個相減至右輪,造成左右輪的不同速度,以此來實現(xiàn)轉向;
車模組裝完成后,加載程序至芯片,分別測試電源、電磁傳感器、pwm模塊、PID參數(shù)等功能參數(shù)模塊,結果顯示都符合正常并處于良好狀態(tài)。最后再經(jīng)過系統(tǒng)聯(lián)調(diào),平衡車都能夠穩(wěn)穩(wěn)地立住并按照設計速度行進,達到了預期的效果。
[1] 楊慧.自平衡兩輪移動機器人的設計[D].蘇州大學,2012.