基于PID控制算法的氣味循跡車設(shè)計
摘要:氣味源的循跡是目前的研究熱點之一,在以后的日常生活以及生產(chǎn)方面有著較為廣泛的運用。本文介紹了一種基于 STC12C5A60S2單片機設(shè)計的簡便智能氣味循跡小車。采用兩個氣味傳感器,根據(jù)濃度差判斷氣味流向,并通過PID算法控制舵機打出偏角,使小車循著氣味行走。整個硬件模塊的設(shè)計結(jié)構(gòu)簡單靈活,通過實驗仿真,在室內(nèi)時變氣流場的環(huán)境下,該小車能達到氣味循跡要求。
本文引用地址:http://2s4d.com/article/201610/307252.htm氣味循跡可以從事尋找有毒有害氣體泄漏源、尋找爆炸源等相關(guān)工作,受到科研人員高度關(guān)注,發(fā)展十分迅速。同時,隨著人們?nèi)粘I钪悄芑潭鹊脑鰪?,具有智能控制系統(tǒng)的小車、機器人層出不窮,而這些智能體將在未來工業(yè)生產(chǎn)和日常生活中扮演更重要的角色。智能車,是一種能感知環(huán)境和自動有目的地行駛的綜合系統(tǒng)。我們也可以這樣認為,智能車也是智能機器人的一種形式,它的雙腿我們用輪子代替,因而更加簡單實現(xiàn)和控制。
耗時長、跟隨性能差是當下智能氣味循跡車在循跡過程中普遍存在著的情況。本文介紹的智能氣味循跡車的控制核心是STC12單片機,能自動感知附近特定的氣味,并應(yīng)用
PID算法調(diào)節(jié)舵機,控制方向遵循氣味來向前行,實驗結(jié)果顯示能有效縮短循跡時間,改善智能車的跟隨性能。
1 硬件系統(tǒng)及其工作原理
1.1 硬件系統(tǒng)設(shè)計
智能車的系統(tǒng)(圖1)的組成模塊有:電源模塊(變壓穩(wěn)壓)、控制處理模塊、傳感器模塊(探尋氣味)、轉(zhuǎn)向控制模塊、電機驅(qū)動模塊和狀態(tài)顯示模塊等。控制處理模塊為STC12 C5A單片機,由ULN2003APC驅(qū)動電機,采用后輪驅(qū)動,舵機由單片機直接控制,而舵機控制前輪轉(zhuǎn)向。部分電路圖(圖2)和電路板實物圖(圖3)如下。
1.2 工作原理簡介
本設(shè)計中,智能小車先由氣味傳感器感知兩個方向的氣味濃度,傳送給單片機的AD口,由單片機進行判斷,判斷兩個方向的濃度高低,然后通過PID算法,控制舵機打出偏角,跟隨軌跡前行。
2 芯片配置及其功能
2.1 單片機STC12C5A60S2介紹
STC12C5A60S2引腳圖如圖4所示。
此單片機具有如下配置:RAM擁有1 280字節(jié),具備40個通用I/O口,復位后為準雙向口/弱上拉。具有EEPROM、看門狗功能。5.0 V單片機為:11~17 MHz,3.3 V單片機為:8~12 MHz。Power Down模式可由外部中斷喚醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCPO/P1.3,CCPO/P1.3。
雙串口,RxD2/P1.2,TxD2/P1.3。
氣味傳感器是氣味循跡小車的關(guān)鍵模塊,氣體感應(yīng)的準確性關(guān)系著小車最終能否尋找到氣味源。本實驗采用一個MS5100傳感器。MS5100通電后,圓圈內(nèi)的金屬化合物能感知特定氣味,其電阻隨氣味濃度升高而降低,則增大,輸送給單片機的AD口,因為單片機能判斷此氣味傳感器所處位置的氣味濃度。(電路圖如圖5)
2.2 舵機模塊
本設(shè)計中舵機(圖2中舵機部分)采用PWM信號(脈寬調(diào)制信號)作為控制信號,控制周期為20 ms,擁有0.5~2.5 ms的脈沖寬度,以及0~180度的舵盤偏移角度,呈線性變化。也就是說,給它提供一定的脈寬,它的輸出軸就會保持在一個相對應(yīng)的角度上,無論外界轉(zhuǎn)矩怎樣改變,直到給它提供一個另外寬度的脈沖信號,它才會改變輸出角度到新的對應(yīng)的位置上。
2.3 電機驅(qū)動模塊
由于單片機提供的電流無法直接驅(qū)動小車上的直流電機,故本設(shè)計采用外接驅(qū)動芯片達林頓管,即ULN2003作為電機驅(qū)動(圖2中電機驅(qū)動部分),控制電機轉(zhuǎn)動。此芯片能承受較高的工作電壓和電流,采用編程產(chǎn)生有序的PWM波,對電機進行控制,能達到速度可調(diào)的效果。
2.4 指示燈顯示模塊
本設(shè)計中采用發(fā)光二極管,將將傳感器的采集結(jié)果直接輸出,可直觀了解到各個傳感器的工作情況。通過對觀察傳感器工作情況與的行駛小車狀態(tài),可判斷小車是否正常工作。
2.5 電源模塊
本設(shè)計中單片機、電機驅(qū)動等元器件的正常工作均需要穩(wěn)定的電壓,因此采用LM7805和LM7806并配上穩(wěn)壓濾波電路分別將干電池的電源直接變壓成5 V和6 V的直流電源,來提供單片機、舵機、電機等元件工作所需電源。
3 實驗
智能車追蹤氣味源的關(guān)鍵在于快速地分析氣味的流向,并迅速準確地控制舵機打出偏角。然而在連續(xù)轉(zhuǎn)彎時,由于曲率變化過大,加上小車具有一定的速度,舵機響應(yīng)又需要一定的時間,所以在實際中經(jīng)常出現(xiàn)小車來不及掉頭而隨意沖撞的情況。本設(shè)計中采用PID算法來控制舵機轉(zhuǎn)向,在智能車對氣味的跟隨性能上有明顯改善,能實現(xiàn)快速準確地控制(圖8)。PID算法公式:
其中:Kp為比例控制參數(shù);
KI為積分控制參數(shù);
KD為微分控制參數(shù)。
C語言是實驗的主要編程語言,上述PID算法代碼可用下面語句實現(xiàn):
PID_out=(servo_P*error_history[2]//比例
+servo_I*error_sum/10//積分
+servo_D*(error_history[2]-error_history[1])//微分
)/10;//這里的能將小數(shù)計算轉(zhuǎn)換成整數(shù)計算,以減輕單片機的負擔
4 結(jié)束語
本設(shè)計系統(tǒng)的主控模塊采用的STC12C5A60S2單片機,可以將氣味傳感器輸入的模擬量通過AD轉(zhuǎn)換轉(zhuǎn)換成數(shù)字量從而使運算更加簡便,加上合適的 PID運算,能對舵機進行較為準確的控制,從而能夠達到智能車跟隨氣味行走的目的。本方案系統(tǒng)設(shè)計合理有序。不足的地方就在于傳感器的靈敏度,本設(shè)計需要傳感器能較為準確地判斷比較兩個傳感器所處位置的濃度差,而一般的傳感器不能很好的達到這一要求。本實驗最終的結(jié)果實現(xiàn)了智能小車對氣味的感知,并能尋找高濃度的方向。通過對智能氣味循跡車添加PID算法控制的實驗證明:添加算法后,小車循跡更加迅速準確,有較強的適應(yīng)能力。
評論