基于單片機(jī)的智能車速度控制系統(tǒng)
作者/ 陶佳 廣東省技師學(xué)院(廣東 惠州 516100)
本文引用地址:http://2s4d.com/article/201708/363620.htm陶佳(1986-),男,講師,研究方向:智能控制工程,無(wú)線通信技術(shù)。
摘要:本文重點(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á)到良好的控制。
引言
在智能車制作中,利用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í)鐘128分頻獲得,實(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=2f0/ZM2,經(jīng)測(cè)量小車的后輪周長(zhǎng)為17cm,所以小車速度的計(jì)算公式如式(1)所示:
(1)
3 速度控制策略
3.1 增量式 PID 控制[2]
本方案采用增量式PID來(lái)使智能車能夠勻速穩(wěn)定地行駛,增量式PID的速度檢測(cè)信號(hào)M2高頻基準(zhǔn)信號(hào)T計(jì)算公式如式(2)所示:
(2)
其中,un為當(dāng)前輸出增量;un-1為上一次輸出增量;Kp為比例增益;為積分系數(shù);為微分系數(shù);T為采樣周期;TI為積分周期;TD為微分周期;en為第n次偏差,en-1第n-1次偏差。
3.2 BangBang 控制
BangBang 控制的思想是:定義速度誤差en為給定速度減去反饋速度,當(dāng)en大于設(shè)定值 ek時(shí),就強(qiáng)制輸出一個(gè)最大值umax;反之,如果速度誤差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.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)
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í)間(如10ms)根據(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,KI=3,KD=4,在該參數(shù)下,智能車能夠得到較快、較好且平穩(wěn)的速度。當(dāng)速度誤差en(給定速度減去反饋速度的差值)大于70cm/s時(shí) ,電機(jī)驅(qū)動(dòng)輸出un為90%的占空比;當(dāng)速度誤差en(給定速度減去反饋速度的差值)小于-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é)出版社.2007.
本文來(lái)源于《電子產(chǎn)品世界》2017年第9期第46頁(yè),歡迎您寫論文時(shí)引用,并注明出處。
評(píng)論