一、系統(tǒng)方案
1.實現(xiàn)方法
考慮到穩(wěn)定性和爬坡能力,選擇玩具坦克作為小車的主體。車前安裝紅外光電開關(guān)以接收引導信號,安裝紅外反射對管用以在蹺蹺板上尋跡前進。角度傳感器安裝在坦克底盤的中心平面上用以檢測蹺蹺板的狀態(tài)。車的后部安裝了以 CH451 驅(qū)動的 8 位數(shù)碼管來顯示坦克的行駛路程和時間。對雙電機的驅(qū)動我們使用了專用芯片 1298N,保證了驅(qū)動的可靠性和精確性。微控制器采用凌陽單片機。電源部分采用 7.2V 大功率鎘鎳電池組,經(jīng) LM7806 穩(wěn)壓后為雙電機供電,經(jīng) LM7805 穩(wěn)壓后為單片機和其它模塊供電。無線收發(fā)模塊用以向遠處的監(jiān)視平臺實時發(fā)送小車與蹺蹺板的狀態(tài)信息。系統(tǒng)方框如下圖所示。
2.方案論證與設(shè)計
(1)微控制器的選擇
采用凌陽 16 位單片機 SPCE061A 進行控制。
SPCE061A 內(nèi)部集成 7 路 10 位 ADC 和 2 通道 10 位 DAC,可以直接用于電壓測量時的數(shù)據(jù)采集,以及數(shù)字控制輸出及語音輸出;I/O 口資源豐富,可以直接完成對鍵盤輸入和顯示輸出的控制;存儲空間大,能配合 LCD 液晶顯示的字模數(shù)據(jù)存儲。采用 SPCE061A 單片機,能將相當一部分外圍器件結(jié)合到一起,使用方便,抗干擾性能提高。
(2)車架的選擇與設(shè)計
本設(shè)計對車速要求不高,而對穩(wěn)定性、精確度、平衡能力及爬坡能力要求較高。玩具坦克兼具以上各項優(yōu)勢,故此選作小車底盤。為了方便各個模塊的安裝將原車的炮塔拆去、只保留底盤和電機。為了測量行駛里程的方便,在坦克一側(cè)的主動輪上均勻粘貼四片小磁鋼,通過單片機對霍爾開關(guān)輸出脈沖的計數(shù)完成對路程的精確測量。
(3)電源的選擇與設(shè)計
本系統(tǒng)要求 6V 和 5V 兩種電壓供電,故選用 7.2V 大功率鎘鎳電池組,經(jīng)由 LM7805 及 LM7806 輸出 5V 和 6V 電壓、分別為電機和單片機供電,實現(xiàn)了控制電路電源和電動機電源隔離,避免了由單電源供電時、電機起停產(chǎn)生的大電流對單片機和其它模塊的影響。如下圖所示。
(4)電機及其驅(qū)動芯片的選擇與設(shè)計
本車采用原車自帶的雙直流減速電機,僅需 6V 即能可靠工作。電機的驅(qū)動選用專用驅(qū)動芯片 L298N,該芯片可分別獨立控制兩路電機的起停和轉(zhuǎn)向,保證兩路電機參數(shù)的對稱,有利于保持坦克行駛的穩(wěn)定性和精確性,也降低了電路的設(shè)計難度。電機驅(qū)動電路如下圖所示。用單片機的五個端口給出 PWM 信號和控制信號即可實現(xiàn)直行、轉(zhuǎn)彎、加減速、后退等動作。
(5)顯示模塊的選擇與設(shè)計
根據(jù)要求,只需顯示小車在蹺蹺板上行駛的時間和距離,顯示內(nèi)容較少且均為數(shù)字,故選用了相對于點陣式液晶顯示器造價低很多的數(shù)碼管。其中五位用以顯示路程,余下的三位用來顯示行駛時間。八位數(shù)碼管采用專用鍵盤顯示管理芯片 CH451 驅(qū)動。顯示模塊電路如下圖所示。CH451 的 SEGO~SEC7 分別控制數(shù)碼管的 8 個段,DIGO~ DIC7 用于選通各個數(shù)碼管進行動態(tài)顯示。單片機僅用三個端口即可完成 8 位數(shù)字的動態(tài)顯示。而對于監(jiān)視平臺我們選擇點陣式液晶顯示器,與數(shù)碼管比較其優(yōu)勢在于:顯示內(nèi)容更加豐富,人機界面更加友好,監(jiān)視人員易于取得信息。
(6)引導和尋跡模塊的選擇與設(shè)計
為引導小車準確駛上蹺蹺板,在蹺蹺板的一端安裝一只具有廣角發(fā)射能力的紅外發(fā)射器,在小車的前端安裝一只紅外反射開關(guān)的接收管以接收廣角紅外發(fā)射器發(fā)出的引導信號。在車的前端底部安裝紅外反射對管以檢測蹺蹺板上的黑色軌跡以循跡前進。在車的后端也安裝有紅外反射對管以用于倒車時的尋跡。
下圖為引導小車駛上蹺蹺板所用引導電路。大功率紅外發(fā)射管發(fā)出的紅外光可以保證小車前端的光電開關(guān)在 30cm 以外準確地接收到。一旦光電開關(guān)接收到紅外信號便在其輸出端輸出高電平,使三極管導通驅(qū)動蜂鳴器發(fā)出聲響。同時單片機通過采樣光電開關(guān)的電平便可得知光電開關(guān)的狀態(tài)、再控制電機做出相應(yīng)的動作,使小車沿著紅外光引導的方向前進并準確駛上蹺蹺板,繼續(xù)在蹺蹺板上尋跡前進。
沿蹺蹺板的中間線鋪設(shè)一條黑膠帶,由于黑膠帶與其兩旁的木板對紅外線的反射率相差很大,故安裝在車前端的反射式紅外傳感器在檢測到黑膠帶和木板表面時輸出高低不同的電壓,這些電壓信號通過凌陽單片機自身集成的 7 通道 10 位模一數(shù)轉(zhuǎn)換器(ADC)進入控制器與事先設(shè)定的臨界值比較,把電壓轉(zhuǎn)換為高低電平。再通過一定的控制算法區(qū)分黑膠帶和木板,使小車沿黑膠帶前進和倒退,其電路圖如下圖所示。
(7)角度傳感器的選擇與設(shè)計
為了控制小車在蹺蹺板上的進退和停止,必須對蹺蹺板與水平面之間的角度進行測量。我們選用雙軸傾角傳感器 ZCT245AL-485 來測量角度,其測角范圍為 -450 到+450,輸出采用半雙工通信方式并采用 RS485 通信協(xié)議,具有零點設(shè)置、波特率調(diào)整等功能。其分辨率為 O.l。,重復性好,工作電壓為 5V 非常適合本系統(tǒng)的要求。ZCT245AL-485 普通型雙軸傾角傳感器直接通過 RS-485 總線輸出兩軸與水平面之間的夾角。將角度傳感器固定在車底盤的水平面上,使其 X 軸與車的寬度方向平行,Y 軸與車的長度方向即車的前進方向平行。這樣,當車爬坡時 Y 軸輸出正的角度,X 軸輸出 O;下坡時 Y 軸輸出負角度,X 軸輸出 O。單片機通過檢測 Y 軸輸出角度即可獲知小車的位置和蹺蹺板的狀態(tài),然后控制小車的進退以保持蹺蹺板的平衡。其 RS-485 通信電路如下圖所示:角度傳感器的輸出經(jīng)由轉(zhuǎn)換器 MAX485 轉(zhuǎn)換為標準電平后與單片機進行串行通信,實時讀出小車的傾斜狀態(tài)并由此控制小車的動作以控制蹺蹺板的傾角。
(8)無線收發(fā)模塊的選擇與設(shè)計
我們?yōu)橄到y(tǒng)增加了與另一單片機無線通信的功能,該功能的實現(xiàn)賴于無線收發(fā)模塊 PT2262/2272。其中 PT2262 將載波振蕩器、編碼器、發(fā)射單元集成于一體,使發(fā)射電路變得非常簡潔。接收芯片 PT2272LA 是非鎖存型 4 位數(shù)據(jù)輸出,有 8 位地址編碼,有效地防止 r 各個無線模塊之間的相互干擾。在我們的設(shè)計中小車上的單片機通過 PT2262 向監(jiān)視單片機實時發(fā)送諸如“啟動”、“停止”、“平衡”等狀態(tài)信息,監(jiān)視單片機通過 PI2272 接收這些信息并通過液晶屏顯示和喇叭發(fā)聲將信息傳遞給選手,使選手可以對小車和蹺蹺板的狀態(tài)進行遠距離監(jiān)視。
(9)蹺蹺板的設(shè)計
蹺蹺板是本設(shè)計的關(guān)鍵,我們采用高強度復合板主體加鋁合金邊框的結(jié)構(gòu)防止其變形,并加裝了必要的減震裝置來增強其抗干擾能力。
二、理論分析與計算
1.理論計算
(1)平衡時角度控制范圍的計算根據(jù)題目要求 ldA-dBl≤40mm,故在下圖中水平面 H 與蹺蹺板平面之間的夾角 D 度數(shù)的絕對值 IDI≤arcsin(ldA-dBI/IABl)=1.432 度。由于所用角度傳感器能分辨的最小角度為 0.1 度,故必須控制小車使角 D 的度數(shù)小于+1.4 且大于 -1.4。
當 D≥+1.4 度時控制小車前進,當 D≤-1.4 度時控制小車后退,以此來調(diào)節(jié)整個系統(tǒng)的重心,恢復和保持蹺蹺板的平衡。
(2)路程的計算
由于玩具坦克特殊的結(jié)構(gòu),我們無法使用傳統(tǒng)的光電碼盤來測速和計程。為此在坦克的一個主動輪上粘貼四片小磁鋼,通過下圖所示霍爾傳感器對小磁鋼進行檢測即可在其輸出端獲得一列脈沖。單片機通過對脈沖計數(shù)即可通過計算得知路程信息。設(shè) S 表示路程,d 表示主動輪直徑,N 為對脈沖的計數(shù)值,則有:S=πNd/4.
2.控制方法
(1)電機的控制
根據(jù)下表,可利用凌陽單片機的五個端口來控制電機。其中四個端口分為兩組去分別控制兩個電機的正反轉(zhuǎn)和停轉(zhuǎn),使兩側(cè)電機一正一反轉(zhuǎn)動即可實現(xiàn)小車的左右轉(zhuǎn)彎,此法控制的小車轉(zhuǎn)彎能力極強,可以原地轉(zhuǎn)過任意角度,使小車的機動性能大大提高。其余一個端口輸出 PWM 信號接在兩電機在 L298N 上所對應(yīng)的使能引腳 6 和 9 來控制電機的轉(zhuǎn)速。凌陽單片機可輸出占空比和頻率均可調(diào)的 PWM 信號。其占空比從 1/16 到 14/16 分為 14 檔,以此可方便地控制電機轉(zhuǎn)速。
(2)蹺蹺板傾角的控制
對蹺蹺板傾角的控制我們采用閉環(huán)反饋的方法,以滿足題目對控制精度的高要求。下圖是閉環(huán)反饋的示意圖,角度傳感器實時采樣蹺蹺板的傾角 D 送人單片機與預(yù)先設(shè)定值進行比較得出角度偏差 E。單片機對 E 經(jīng)過簡單的 PID 控制算法得出對電機動作的適當方案 U,該方案通過小車作用于蹺蹺板以使其傾角恢復或保持在題目要求的范圍內(nèi),即使角 D 滿足 IDI≤1.4 度。
三、程序設(shè)計
1.軟件設(shè)計思想
針對本系統(tǒng)中角度傳感器采樣較慢,控制對象蹺蹺板慣性大、滯后大的特點,我們選用了增量式按偏差的比例、積分、微分進行控制,即增量式數(shù)字 PID 控制。
其算式為:
△u(kT)=Kp[e(kT)-e(kT-T)]+Kie(kT)+Kd[e(kT)-2e(kT-T)+e(kT-2T)]
其中 Kp、Ki、Kd 分別表示比例系數(shù)、積分系數(shù)和微分系數(shù)。該算法無需累加,控制增量的確定僅與最近三次的采樣值有關(guān),較容易通過加權(quán)處理獲得比較好的控制效果。
比例控制 P 是一種最簡單的控制規(guī)律,其控制作用大小與偏差的大小成正比,調(diào)節(jié)迅速。但對于大多數(shù)慣性環(huán)節(jié),Kp 太大會引起自激振蕩并且僅使用比例控制無法消除靜差。積分控制可以彌補單純比例控制的不足,消除系統(tǒng)的靜態(tài)誤差,因為只要存在偏差,積分控制的輸出總是用來減小靜態(tài)誤差,直到偏差為零、積分作用才停止。系統(tǒng)采用比例積分控制即 PI 控制可以消除靜態(tài)誤差,但是系統(tǒng)的超調(diào)很大,調(diào)節(jié)時間很長。
為改善動態(tài)性能還必須引入微分校正 D,微分的控制作用與偏差的變化率有關(guān),偏差變化率越大其調(diào)節(jié)作用越強。微分控制可以預(yù)測偏差,產(chǎn)生超前的校正作用,改善系統(tǒng)的動態(tài)性能。結(jié)合上述三種控制方法,并通過試驗不斷地對相應(yīng)參數(shù)做出調(diào)整,最后由此編出的軟件擁有很強的適應(yīng)能力,對控制對象的控制相當精確、快速。
2.工作流程圖
編輯:hfy
-
微控制器
+關(guān)注
關(guān)注
48文章
7496瀏覽量
151083 -
單片機
+關(guān)注
關(guān)注
6032文章
44525瀏覽量
633243 -
無線通信
+關(guān)注
關(guān)注
58文章
4526瀏覽量
143426 -
PID控制
+關(guān)注
關(guān)注
10文章
460瀏覽量
40047 -
角度傳感器
+關(guān)注
關(guān)注
7文章
133瀏覽量
36160
發(fā)布評論請先 登錄
相關(guān)推薦
評論