陶佳
摘要:本文重點(diǎn)介紹了基于光電自動(dòng)尋線智能車的速度控制系統(tǒng)的設(shè)計(jì),包含直流電機(jī)的驅(qū)動(dòng)模塊、速度檢測(cè)模塊、速度控制策略、速度控制周期等部分。采用兩片MC33886芯片來(lái)驅(qū)動(dòng)電機(jī)運(yùn)行,用反射式紅外對(duì)管檢測(cè)電機(jī)速度,實(shí)現(xiàn)對(duì)電機(jī)的閉環(huán)控制,通過(guò)大量的試驗(yàn),最終速度控制策略采用了增量式PID控制和BangBang控制相結(jié)合的方法,并創(chuàng)新性地使用兩個(gè)中斷相結(jié)合的方法使得速度控制周期為等時(shí)的,從而對(duì)智能車過(guò)彎速度達(dá)到良好的控制。
關(guān)鍵詞:速度控制;增量式PID控制;BangBang控制;控制周期
DOI: 10.3969/j.issn.1005-5517.2017.8.010
引言
在智能車制作中,利用ATmega16單片機(jī)作為核心控制單元,以攝像頭為路徑識(shí)別傳感器,分別設(shè)計(jì)控制系統(tǒng),使得模型汽車能夠自動(dòng)準(zhǔn)確地按照規(guī)定的橢圓路線行駛,速度控制是智能車控制系統(tǒng)最核心的部分之一,本文就如何設(shè)計(jì)智能車速度控制系統(tǒng)做了詳細(xì)介紹。
智能車速度控制系統(tǒng)包含電機(jī)驅(qū)動(dòng)模塊,速度檢測(cè)模塊,速度控制策略,速度控制周期等,如圖1所示:
1 電機(jī)驅(qū)動(dòng)模塊
系統(tǒng)所用電機(jī)是RS-380型號(hào)的直流電動(dòng)機(jī),其額定工作電壓為7.2V,能輸出0.9-40W的功率。使用兩片MC33886芯片并聯(lián)來(lái)驅(qū)動(dòng)電機(jī),其中MC33886為H橋式電源開(kāi)關(guān)IC,該IC結(jié)合內(nèi)部控制邏輯、電荷泵、柵極驅(qū)動(dòng)器、MOSFET輸出電路,可工作在5-40V電壓范圍內(nèi)。通過(guò)PWM信號(hào)調(diào)節(jié)輸出,進(jìn)而調(diào)節(jié)電機(jī)轉(zhuǎn)速,PWM的控制頻率為1KHz,PWM23可用于正轉(zhuǎn)控制,PWM45可用于反轉(zhuǎn)控制,OUT1和OUT2接于直流電機(jī)上,用來(lái)實(shí)現(xiàn)在直道時(shí)快速加速,彎道實(shí)現(xiàn)反轉(zhuǎn)剎車來(lái)快速減速。電路圖如圖2所示。
2 速度檢測(cè)模塊
2.1 速度檢測(cè)硬件
直流電機(jī)的速度的檢測(cè)方案是:用MATLAB自制黑白相間且均勻等分的編碼盤,如圖3(a)所示。將編碼盤黏貼于圓盤上,當(dāng)圓盤隨著齒輪轉(zhuǎn)動(dòng)時(shí),利用反射式紅外對(duì)管ST188接收強(qiáng)弱交替變化的反射光,再通過(guò)I/O口將高低脈沖電平傳給單片機(jī)的輸入捕捉中斷中進(jìn)行計(jì)算。自制測(cè)速裝配圖和速度檢測(cè)模塊原理圖分別如圖3(b)和如圖3(c)所示。
該方案具有成本低廉、制作容易、負(fù)荷小的優(yōu)點(diǎn),配合單片機(jī)的輸入捕捉功能可以實(shí)現(xiàn)高精度的速度采集。
2.2 速度的計(jì)算
方案中的數(shù)字測(cè)速的計(jì)算方法是采用T法。T法是指在兩個(gè)相鄰的輸入脈沖的間隔時(shí)間T內(nèi),用一個(gè)計(jì)數(shù)器對(duì)高頻基準(zhǔn)信號(hào)的脈沖數(shù)進(jìn)行計(jì)數(shù),由計(jì)數(shù)值來(lái)計(jì)算轉(zhuǎn)速,原理圖如圖4所示。
計(jì)算公式推導(dǎo):設(shè)計(jì)碼盤格數(shù)為40,旋轉(zhuǎn)一周能產(chǎn)生20個(gè)脈沖。高頻基準(zhǔn)信號(hào)是通過(guò)對(duì)系統(tǒng)時(shí)鐘1 28分頻獲得,實(shí)際頻率f0=24M/128=187.5KHz。在T法測(cè)速中,測(cè)速時(shí)間T是用計(jì)數(shù)器所得的基準(zhǔn)信號(hào)脈沖個(gè)數(shù)M2來(lái)計(jì)算的,即T= M2/f0,對(duì)應(yīng)后輪轉(zhuǎn)速為:n=2/ZT=2fO/ZM2,經(jīng)測(cè)量小車的后輪周長(zhǎng)為17cm,所以小車速度的計(jì)算公式如式(1)所示:
3 速度控制策略
3.1 增量式PID控制,2l
本方案采用增量式PID來(lái)使智能車能夠勻速穩(wěn)定地行駛,增量式PID的速度檢測(cè)信號(hào)M2高頻基準(zhǔn)信號(hào)T計(jì)算公式如式(2)所示:
3.2 BangBang控制
BangBang控制的思想是:定義速度誤差en為給定速度減去反饋速度,當(dāng)en大于設(shè)定值ek時(shí),就強(qiáng)制輸出一個(gè)最大值Um。,;反之,如果速度誤差en小于設(shè)定值(-ek)時(shí),就強(qiáng)制輸出一個(gè)最小值Umax 在速度誤差較大時(shí),Bang_Bang調(diào)節(jié)比PID調(diào)節(jié)響應(yīng)速度更快、更及時(shí)。計(jì)算公式如式3所示。式中en為給定速度減去反饋速度的差值。
3.3 增量式PID控制配合BangBang控制
為了實(shí)現(xiàn),在賽道曲率變化不大時(shí)且智能車高速勻速穩(wěn)定行駛,采用增量式PID控制。在從直道行駛?cè)霃澋罆r(shí),智能車能夠很快地反轉(zhuǎn)剎車,降低速度,從而良好通過(guò)彎道:在彎道進(jìn)入直道時(shí),智能車能夠很快地提高速度,以高速在直道上行駛。我們采用的速度控制策略是增量式PID控制配合Bang_Bang控制,當(dāng)給定速度與反饋速度相差不大時(shí),采用增量式PID控制,當(dāng)給定速度與反饋速度相差較大時(shí), 采用Bang_Bang控制,計(jì)算公式如式4所示:
4 速度控制周期
采用的控制周期方案是:
測(cè)速程序是通過(guò)單片機(jī)的輸入捕捉中斷來(lái)完成的,即車輪每轉(zhuǎn)一周(0.17m),將產(chǎn)生20次中斷,在這20次中斷過(guò)程中,能運(yùn)行20次的速度檢測(cè),如果按照平均車速1 .8m/s計(jì)算的話,那么每一次輸入捕捉中斷的時(shí)間為:0.17/(18×20)=4.7ms,也就是每隔4.7ms得到一個(gè)反饋速度。
速度控制程序是指單片機(jī)每隔一定時(shí)間(如lOms)根據(jù)給定的速度和反饋速度進(jìn)行速度的閉環(huán)控制。反饋速度是通過(guò)上面的輸入捕捉中斷方式讀取,給定速度通過(guò)查詢方式獲得。速度控制程序在定時(shí)中斷程序中執(zhí)行,而定時(shí)中斷是通過(guò)模數(shù)遞減計(jì)數(shù)器來(lái)實(shí)現(xiàn)的。
這樣程序在運(yùn)行中存在兩個(gè)中斷,并且輸入捕捉中斷優(yōu)先級(jí)高于模數(shù)遞減計(jì)數(shù)器的定時(shí)中斷。輸入捕捉的頻率為定時(shí)中斷的兩倍,這樣,每執(zhí)行一次定時(shí)中斷,反饋速度有兩個(gè)值,由于兩個(gè)值的時(shí)間間隔比較短,取前一次的值代表當(dāng)前速度,并且測(cè)速程序執(zhí)行所占有的時(shí)間極短,因此輸入捕捉中斷對(duì)速度控制程序的影響不大。
等時(shí)控制是指控制程序每隔一定時(shí)間執(zhí)行一次,等距控制是指控制程序每隔一定的距離執(zhí)行一次,由于控制周期不受車速控制,所以等時(shí)控制優(yōu)于等距控制。方案一采用自制的用反射式紅外對(duì)管測(cè)速,價(jià)格便宜,但控制周期是等時(shí)的:方案二采用旋轉(zhuǎn)編碼器測(cè)速,價(jià)格昂貴,但測(cè)速精度相對(duì)高,控制周期是等時(shí)的。我們的方案用反射式紅外對(duì)管測(cè)速,價(jià)格便宜,控制周期是等時(shí)的。電機(jī)速度控制的流程圖如圖5所示。
5 仿真結(jié)果
圖6為己制作完成的智能車實(shí)物照片,我們?cè)谧灾频呐艿郎线M(jìn)行了實(shí)際測(cè)試,得出以下試驗(yàn)結(jié)果:獲取了一組比較好的PID參數(shù),Kp=50,K1=3,KD=4,在該參數(shù)下,智能車能夠得到較快、較好且平穩(wěn)的速度。當(dāng)速度誤差e。(給定速度減去反饋速度的差值)大于70cm/s時(shí),電機(jī)驅(qū)動(dòng)輸出Un為90%的占空比;當(dāng)速度誤差e。(給定速度減去反饋速度的差值)小于-70cm/s時(shí),電機(jī)驅(qū)動(dòng)輸出Un為10%的占空比。在PID和BangBang控制下速度變化范圍較大,實(shí)現(xiàn)了快速加速,快速剎車。
6 結(jié)論
經(jīng)過(guò)大量的實(shí)驗(yàn)調(diào)試,智能車在基于兩片MC33886并聯(lián)組成的驅(qū)動(dòng)上,能夠?qū)崿F(xiàn)良好的電機(jī)正轉(zhuǎn)和反轉(zhuǎn)控制。通過(guò)使用反射式紅外管能夠比較穩(wěn)定和精確地檢測(cè)速度,計(jì)算速度。用于測(cè)速的輸入捕捉中斷和用于速度控制定時(shí)中斷兩個(gè)相結(jié)合能夠很好地實(shí)現(xiàn)控制周期等時(shí)。使用的PID和BangBang的結(jié)合的控制策略,通過(guò)不斷調(diào)試,選擇合理的參數(shù),實(shí)現(xiàn)了智能車根據(jù)路徑識(shí)別來(lái)閉環(huán)調(diào)節(jié)速度,在賽道曲率變化不大時(shí)的勻速行駛,在賽道曲率突變時(shí)的速度急增急減的效果,并且智能夠使智能車長(zhǎng)時(shí)間的良好運(yùn)行,印證了該方法的可靠和有效。
參考文獻(xiàn):
[1]卓晴,黃開(kāi)勝,邵貝貝學(xué)做智能車——挑戰(zhàn)“飛思卡爾”杯[M]北京:北京航空航天大學(xué)出版社,2007
[2]邵貝貝單片機(jī)嵌入式應(yīng)用的在線開(kāi)發(fā)方法[M]北京:清華大學(xué)出版社,2004
[3]王威HCS12微控制器原理及應(yīng)用[M]北京北京航空航天大學(xué)出版社,2007
[4]馬潮AVR單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實(shí)踐[M]北京:北京航空航天大學(xué)出版社2007endprint