基于瑞薩單片機(jī)自動(dòng)尋跡智能車的設(shè)計(jì)
摘要 以瑞薩超級(jí)MCU模型車大賽為背景,設(shè)計(jì)并實(shí)現(xiàn)了一種智能車自動(dòng)尋跡系統(tǒng)。采用瑞薩16位微控制器H8/3048F作為核心控制單元,使用光電對(duì)管RPR220采集路面信息,自動(dòng)控制舵機(jī)轉(zhuǎn)向,并對(duì)直流電機(jī)轉(zhuǎn)速進(jìn)行PID調(diào)節(jié),從而實(shí)現(xiàn)智能車穩(wěn)定、快速的行駛。實(shí)驗(yàn)結(jié)果表明,該套設(shè)計(jì)方案簡(jiǎn)單可靠,具有良好的控制性,滿足設(shè)計(jì)要求。
關(guān)鍵詞 瑞薩;自動(dòng)尋跡;智能車;PID控制
隨著計(jì)算機(jī)、通信、傳感器等技術(shù)的發(fā)展,智能車成為汽車發(fā)展的趨勢(shì)。傳感器技術(shù)在智能車的應(yīng)用中越來越廣泛,如在夜間、霧天、高危高污染等環(huán)境下的行駛。智能車將成為人們生活的一部分。文中以瑞薩智能車大賽為背景,設(shè)計(jì)了一種以16位微控制器H8/3048F作為小車的控制核心,采用紅外反射傳感器檢測(cè)路面引導(dǎo)線,能根據(jù)給定參數(shù)行駛的電動(dòng)車。文中從硬件和軟件方面詳細(xì)闡述了智能車工作原理和設(shè)計(jì)方法,設(shè)計(jì)的小車具有電路設(shè)計(jì)簡(jiǎn)單、軟件控制高效等優(yōu)點(diǎn)。
1 系統(tǒng)總體設(shè)計(jì)方案
本智能車?yán)密圀w前方的光電傳感器采集賽道信息、后軸上的光電編碼器采集車輪轉(zhuǎn)速的脈沖信號(hào)。這些信號(hào)經(jīng)單片機(jī)調(diào)理后,用于控制小車的運(yùn)動(dòng)。同時(shí),內(nèi)部模塊產(chǎn)生的PWM波驅(qū)動(dòng)直流電機(jī),對(duì)智能車進(jìn)行速度及轉(zhuǎn)角控制,使賽車在賽道上能夠自動(dòng)、平穩(wěn)行駛,并以最短的時(shí)間和最快的速度跑完全程。此外,本系統(tǒng)還增加了按鍵和顯示設(shè)備,以便于調(diào)試。智能車系統(tǒng)總體模塊圖如圖1所示。
2 硬件設(shè)計(jì)
硬件設(shè)計(jì)是設(shè)計(jì)的基礎(chǔ),包括整車供電的電源管理電路設(shè)計(jì)、電機(jī)的驅(qū)動(dòng)電路設(shè)計(jì),以及單片機(jī)的各個(gè)接口電路的連接設(shè)計(jì)等。
2.1 控制器模塊
H8/3048F單片機(jī)是的日立公司生產(chǎn)的16位高性能微控制器。H8/3048F內(nèi)部有16個(gè)16位通用寄存器。其最高時(shí)鐘頻率可達(dá)18 MHz,尋址空間為16 MByte。芯片內(nèi)部包括:9個(gè)I/O口、32 kByte Flash、2 kByte RAM、16位的集成定時(shí)單元(ITU)、可編程定時(shí)式樣控制器(TPC)、j監(jiān)視定時(shí)器(WDT)、串行通信接口(SCI)以及A/D、D/A轉(zhuǎn)換器等??刂破鱅/O口分配如下:P70~P77光電傳感器信號(hào)的輸入;PB用于車速檢測(cè)信號(hào)的輸入;PA用于啟動(dòng)傳感器板信號(hào)的輸入。控制器根據(jù)檢測(cè)到的路況和車速信息,控制轉(zhuǎn)向舵機(jī)和直流驅(qū)動(dòng)電機(jī),相應(yīng)地調(diào)整小車行駛方向和速度,最終使智能車按給定路線穩(wěn)定、快速地行駛。
2.2 電源模塊
選用8節(jié)1.2 V鎳氫電池為直流電機(jī)供電,并經(jīng)降壓、穩(wěn)壓后給單片機(jī)系統(tǒng)和其他芯片供電。蓄電池具有較強(qiáng)的電流驅(qū)動(dòng)能力以及穩(wěn)定的電壓輸出性能,且性價(jià)比高。電源部分采用LM2940CT芯片。該芯片最大能提供3 A的電流輸出,完全滿足系統(tǒng)要求。模塊采用兩片2940芯片,一片單獨(dú)給MCU供電,一片給其他部件供電。
2.3 尋跡傳感器模塊
模塊采用一體化反射型光電對(duì)管RPR22D。其發(fā)射器是一個(gè)砷化鎵紅外發(fā)光二極管,接收器是一個(gè)高靈敏度的硅平面光電三極管。RPR220具有如下特點(diǎn):結(jié)構(gòu)緊湊、抗干擾能力強(qiáng)、反應(yīng)速度快。內(nèi)置可見光過濾器能減小離散光的影響。當(dāng)發(fā)光二極管發(fā)出的光反射回來時(shí),三極管導(dǎo)通輸出低電平。此光電對(duì)管調(diào)理電路簡(jiǎn)單,工作性能穩(wěn)定。傳感器檢測(cè)與調(diào)理電路如圖2所示。經(jīng)示波器觀察,輸出波形規(guī)則,可以直接供單片機(jī)查詢使用。
小車對(duì)白線的檢測(cè)使用了9個(gè)等距排列的紅外管采集路徑識(shí)別路面信息。從左邊的光電管開始循環(huán)采集數(shù)據(jù),檢測(cè)其是否在白錢上,如果在白線上,則接著檢測(cè)其右邊的光電管是否亦如此,依次向右推進(jìn),當(dāng)出現(xiàn)3個(gè)以上光電管同時(shí)處于白線上方,則過濾掉當(dāng)前采樣數(shù)據(jù),采用歷史值。
2.4 電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)板為一個(gè)由分立元件制作的可逆雙極型橋式驅(qū)動(dòng)器,其功率元件由4支n溝道功率MOSFET管組成,大幅提高了電動(dòng)機(jī)的工作轉(zhuǎn)矩和轉(zhuǎn)速。該驅(qū)動(dòng)器主要由以下部分組成:PWM信號(hào)輸入接口、邏輯換向電路、死區(qū)控制電路、電源電路、上橋臂功率MOSFET管柵極驅(qū)動(dòng)電壓泵升電路、功率MOSFET管柵極驅(qū)動(dòng)電路、橋式功率驅(qū)動(dòng)電路、緩沖保護(hù)電路等。通過設(shè)置HS/3048F輸出的PWM波的盼占空比可以實(shí)現(xiàn)控制電機(jī)正反轉(zhuǎn)。當(dāng)輸出的占空比為50%時(shí),電機(jī)不轉(zhuǎn),當(dāng)占空比>50%時(shí),電機(jī)正轉(zhuǎn);<50%則反轉(zhuǎn)。
2.5 測(cè)速模塊
為提高檢測(cè)精度,本模塊最后確定為使用精度較高的光電編碼器。光電編碼器使用5 V電源,輸出方波信號(hào),具有質(zhì)量輕、可靠性高、安裝簡(jiǎn)單等優(yōu)點(diǎn)。
3 算法及軟件設(shè)計(jì)
3.1 方向控制算法
智能車方向的控制采用對(duì)預(yù)定軌道的閉環(huán)控制,即輸出方向和測(cè)得的白線位置成分段比例關(guān)系。舵機(jī)的轉(zhuǎn)角公式為
θ=arctan(e/b) (1)
式(1)中,θ為舵機(jī)的轉(zhuǎn)角;e為偏移量;b為前軸到傳感器間距。
通過實(shí)驗(yàn)可得舵機(jī)的轉(zhuǎn)角與PWM脈寬呈線性關(guān)系,轉(zhuǎn)向公式為
PWM=θ×K+M (2)
式中,K為比例系數(shù);M對(duì)應(yīng)于舵機(jī)位沒有發(fā)生偏轉(zhuǎn)時(shí)的PWM控制脈寬。實(shí)驗(yàn)證明,在一定范圍調(diào)節(jié)K,可以起到良好的控制效果。
智能車檢測(cè)到的路面情況有16種狀態(tài),其中每種狀態(tài)都有一個(gè)舵機(jī)轉(zhuǎn)角與之對(duì)應(yīng)。這樣就可以在程序中創(chuàng)建出每種傳感器狀態(tài)中對(duì)應(yīng)的白線偏差e與舵機(jī)轉(zhuǎn)角θ之間的關(guān)系,如表1所示。
3. 2 速度控制算法
智能車控制算法采用PID算法,包括3個(gè)部分:測(cè)量、比較和執(zhí)行,即把測(cè)量得到的量與期望值相比較,然后用合格誤差糾正調(diào)節(jié)控制系統(tǒng)的響應(yīng)。PID控制算法是建立在經(jīng)典控制理論上的一種控制策略。PID控制算法能夠在保證不影響系統(tǒng)穩(wěn)定精度的前提下提高系統(tǒng)的穩(wěn)定性,并改善系統(tǒng)的動(dòng)態(tài)性能。根據(jù)實(shí)驗(yàn)情況和現(xiàn)場(chǎng)調(diào)試經(jīng)驗(yàn),小車在直線運(yùn)動(dòng)時(shí)不進(jìn)行PID控制,以最大速度運(yùn)動(dòng),處于一般彎道狀態(tài)時(shí)則引入PID算法,這樣可以根據(jù)實(shí)際情況調(diào)節(jié)速度,使小車具有良好的可控性。PID控制器原理框圖如圖3所示。
系統(tǒng)主要由PID控制器和被控對(duì)象組成。它根據(jù)給定值r(t)與實(shí)際輸出值m(t)構(gòu)成控制偏差,將偏差按比例、積分和微分通過線性組合構(gòu)成控制量,對(duì)被控對(duì)象進(jìn)行控制。
PID的圖形表達(dá)式
式(4)中,T是采樣周期,必須足夠小,以保證系統(tǒng)有一定的精度;Ti為調(diào)節(jié)器的積分時(shí)間;Td為調(diào)節(jié)器微分時(shí)間;Kp為調(diào)節(jié)器的比例系數(shù);e(k)為第k次采樣時(shí)的偏差;u(k)為控制量。
采用增量式PID進(jìn)行控制,由△u(kT)=u(kT)-u(kT-T),可得
△u(kT)=Kp[e(kT)-e(kT-T)]+Kie(kT)+Kd[e(kT)-2e(kT-T)+e(kT-2T)] (5)
式中,e(kT)為第k次與中心位置的偏差程度;e(kT-T)、e(KT-2T)分別為k-1、k-2次誤差項(xiàng)。以此算法為基礎(chǔ),用C語(yǔ)言編寫出控制算法程序。
3.3 程序設(shè)計(jì)
主程序采用周期性檢測(cè)控制思想。每隔20ms檢測(cè)1次引導(dǎo)線、車速及加速度數(shù)據(jù),根據(jù)程序處理結(jié)果調(diào)用舵機(jī)控制程序和驅(qū)動(dòng)電機(jī)控制程序,對(duì)智能車的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)控制,以完成循線運(yùn)行的要求。主流程圖如圖4所示。
4 結(jié)束語(yǔ)
智能車設(shè)計(jì)涵蓋了自動(dòng)控制、電子等多個(gè)學(xué)科,其技術(shù)可被應(yīng)用到智能機(jī)器人、自動(dòng)化作業(yè)平臺(tái)等領(lǐng)域,具有較強(qiáng)的實(shí)用性。論文結(jié)合實(shí)際設(shè)計(jì)經(jīng)驗(yàn),從智能車的硬件設(shè)計(jì)、軟件設(shè)計(jì)等方面討論了智能車的設(shè)計(jì)。試驗(yàn)證明,用PID算法即使在路面導(dǎo)引線復(fù)雜的情況下,也能較好地保證智能車沿正確的方向前進(jìn),以及運(yùn)行的平穩(wěn)性。