基于凌陽16位單片機(jī)的智能車設(shè)計
引言
輪式小車是智能小車機(jī)械結(jié)構(gòu)的主體部分,由車身、輪子、變速器、傳動軸等結(jié)構(gòu)部件構(gòu)成。輪式小車還包括提供動力的驅(qū)動器,用來收集智能小車的自身狀態(tài)信息或外部環(huán)境信息,并對多傳感器的數(shù)據(jù)進(jìn)行分析、融合,動態(tài)調(diào)整小車的運動狀態(tài),實現(xiàn)在一定條件下的自主行駛。
硬件設(shè)計
圖1是智能車總體的設(shè)計方案及組成原理。微處理器采用了16位SPCE061A單片機(jī),以此為核心設(shè)計了紅外傳感模塊、電機(jī)驅(qū)動模塊、PI控制器及相關(guān)的顯示指示模塊。
圖1 智能車總體的設(shè)計方案
輪式小車機(jī)械結(jié)構(gòu)的設(shè)計
智能小車機(jī)械結(jié)構(gòu)包括車輪、車身、轉(zhuǎn)向舵機(jī)、驅(qū)動器和各種傳動機(jī)構(gòu)等。小車車身主體由2mm厚的有機(jī)玻璃組成。小車有三個車輪,其中后面的兩輪為驅(qū)動輪,分別有獨立的直流電機(jī)驅(qū)動。
若直接將直流電機(jī)輸出軸連接小車的輪胎,會出現(xiàn)電機(jī)的轉(zhuǎn)矩偏小、小車的動力差等缺點,采用PWM直流電機(jī)調(diào)速方法又會使電機(jī)的輸出轉(zhuǎn)矩在原有壓降的基礎(chǔ)上又有所下降。為了解決轉(zhuǎn)矩速度之間的矛盾,筆者設(shè)計了二級定軸輪系轉(zhuǎn)動減速裝置,其結(jié)構(gòu)示意圖如圖2所示。
圖2 減速機(jī)構(gòu)原理圖
其中齒輪均為圓柱直齒輪。若主動軸用1表示,末輪以K表示,輪速為ω,圓柱直齒輪嚙合次數(shù)為m,則上述輪系機(jī)構(gòu)的傳動比ilk為
(1)
此處電機(jī)輸出軸是主動軸,車體輪胎是從動軸。
其中一級變速主動輪齒數(shù)Z1主=11,從動輪齒數(shù)Z1從=35;二級變速主動輪齒數(shù)Z2主=11,從動輪齒數(shù)Z2從=40;圓柱直齒輪嚙合次數(shù)為m=2??梢杂嬎愠鰅lk=11.5。[!--empirenews.page--]紅外傳感器
紅外傳感電路采用反射式紅外傳感器,可以方便地實現(xiàn)實時監(jiān)控并有效防止誤觸發(fā),靈敏度容易控制。圖3為紅外檢測電路,核心IC器件是LM393,該集成塊內(nèi)部裝有兩個獨立的電壓比較器。
圖3 紅外檢測電路
LM393類似于增益不可調(diào)的運算放大器。每個比較器有兩個輸入端和一個輸出端。兩個輸入端一個稱為同相輸入端(用“+”表示),另一個稱為反相輸入端(用“-”表示)。用作比較兩個電壓時,任意一個輸入端加一個固定電壓做參考電壓,另一端加一個待比較的信號電壓。當(dāng)“+”端電壓高于“-”端時,輸出管截止,相當(dāng)于輸出端開路。當(dāng)“-”端電壓高于“+”端時,輸出管飽和,相當(dāng)于輸出端接低電位。兩個輸入端的電壓差大于10mV就能確保輸出能從一種狀態(tài)可靠地轉(zhuǎn)換到另一種狀態(tài)。因此,把LM339用在弱信號檢測等場合是比較理想的。測速反饋電路由發(fā)光二極管、光電級管、單穩(wěn)態(tài)電路以及裝在主軸上的光電碼盤組成。當(dāng)光碼盤上的孔經(jīng)過發(fā)光二極管時,發(fā)光二極管發(fā)出的光使光電三極管導(dǎo)通,輸出高電平;當(dāng)光碼盤上的非孔部分經(jīng)過光二極管時,光電極管截止,輸出低電平。產(chǎn)生的周期性脈沖經(jīng)單穩(wěn)電路整形送高速輸入通道IOB2或IOB3外部中斷源,取得每次上升沿的時間值, 就是定時器T1的值,每兩次T1上升沿值之差為光電脈沖周期,從而可計算出主軸的轉(zhuǎn)速。
電機(jī)驅(qū)動電路
微型直流電機(jī)以其良好的線性特性、優(yōu)異的控制性能和非常高的效率廣泛應(yīng)用于小功率系統(tǒng)中。為了控制直流電機(jī),本文采用PWM控制。SPCE064A的I/OB特殊功能IOB8 、IOB9就直接提供了兩個PWM輸出口,直接輸出控制信號即可,無須另加電路??紤]到電壓、電流的等級及尺寸、外觀因素,本文采用L298代替三極管構(gòu)成驅(qū)動電路,如圖4所示。
圖4 直流電機(jī)驅(qū)動電路
L298可同時控制兩個電機(jī),且輸出電流達(dá)到2A。其ENA(引腳6)和ENB(引腳11)分別于SPCE064A的IOB8和IOB9相連,可實現(xiàn)直流電機(jī)的PWM速度控制。SENSEA、SENSEB為電流反饋引腳,用于實現(xiàn)直流電機(jī)的內(nèi)環(huán)電流閉環(huán)控制。[!--empirenews.page--]控制器
常規(guī)的智能車一般引入輸出電機(jī)的轉(zhuǎn)速作為負(fù)反饋行程單閉環(huán)調(diào)速系統(tǒng)。雖然這個閉環(huán)具有較強(qiáng)的抗干擾性能,轉(zhuǎn)速調(diào)節(jié)器采用常規(guī)PI調(diào)節(jié)器,但是在系統(tǒng)中靜差仍然存在,即在PI控制調(diào)節(jié)器下穩(wěn)態(tài)誤差只能減少而不可能消除。因此,單閉環(huán)調(diào)速系統(tǒng)控制效果和性能對給定穩(wěn)壓源和速度檢測元件的精度具有依賴性。
直流電機(jī)在全壓啟動時會產(chǎn)生很大的沖擊電流,這對電機(jī)的換向不利,實際中表現(xiàn)為小車在變向或倒車時控制不及時,有較大的延遲時間。引入自動限制電樞電流的電流環(huán)負(fù)反饋對解決此問題是有效的。為了使轉(zhuǎn)速和電流兩種負(fù)反饋分別起作用,在系統(tǒng)中設(shè)置兩個調(diào)節(jié)器, 分別調(diào)節(jié)轉(zhuǎn)速和電流。二者之間串級聯(lián)接。把轉(zhuǎn)速調(diào)節(jié)器的輸出當(dāng)作電流調(diào)節(jié)器的輸入。從閉環(huán)結(jié)構(gòu)上看,電流環(huán)在里面,轉(zhuǎn)速環(huán)在外面,形成了轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng),如圖5所示。
圖5 轉(zhuǎn)速電流雙閉環(huán)調(diào)速系統(tǒng)
其中,β為電流反饋系數(shù),n為轉(zhuǎn)速, α為轉(zhuǎn)速反饋系數(shù)。ASR為轉(zhuǎn)速比例積分調(diào)節(jié)器,用來實現(xiàn)轉(zhuǎn)速無靜差。ACR為電流比例積分調(diào)節(jié)器,用來實現(xiàn)電流無靜差。當(dāng)兩個調(diào)節(jié)器都不飽和時,雙閉環(huán)調(diào)速系統(tǒng)在穩(wěn)態(tài)工作點上,PI調(diào)節(jié)器的穩(wěn)態(tài)輸出量與輸入量無關(guān)。[!--empirenews.page--]軟件程序設(shè)計
軟件程序由主程序、尋跡模塊程序、避障模塊程序、避障語音播報程序和LED顯示車體轉(zhuǎn)向程序等幾部分組成。圖6、圖7即為主程序和尋跡程序流程。
圖6 主程序流程圖 圖7 尋跡程序流程圖
PWM算法的實現(xiàn)
凌陽SPCE061A單片機(jī)提供了兩個16位定時器,分別有相應(yīng)的定時器控制寄存器設(shè)計相關(guān)參數(shù),P_TimerA_Ctrl(700BH)和P_TimerB_Ctrl(700DH)的第6~9位設(shè)置該定時器輸出不同頻率的脈寬調(diào)制信號。
智能車實地調(diào)試
小車的實際調(diào)試是讓小車運行在一個指定或任意給定的由紙板構(gòu)成的迷宮通道,通道設(shè)有兩個進(jìn)出入口。開始測試時將小車放置在入口處并打開小車電源,小車可以順利地在迷宮內(nèi)實現(xiàn)躲避障礙,最后從迷宮的另一個出口出來。循跡的測試是在一張空曠的貼有一定黑線軌跡的桌子上進(jìn)行,測試結(jié)果顯示,小車可以按照比賽的要求進(jìn)行循跡、轉(zhuǎn)向和避懸崖。
結(jié)語
本次設(shè)計的智能車是機(jī)電一體化的綜合產(chǎn)品。循跡模塊能實現(xiàn)尋黑線車體的自由運轉(zhuǎn)。小車可以順利地完成拐直角彎道或者掉頭返回(180°轉(zhuǎn)彎)等操作。