基于MSP430智能小車的設(shè)計
摘要:介紹一種基于MSP430F2274單片機(jī)為核心的智能小車。小車采用超聲波測距技術(shù)實現(xiàn)自動避障,同時通過語音模塊來播報出小車與障礙物的距離。為了使測距不受溫度影響,用溫度傳感器實時檢測小車周圍環(huán)境的溫度并修正距離計算公式的參數(shù),采用光電編碼器來檢測小車的速度,運用PID控制算法和PWM來控制小車的精確穩(wěn)定的運行,從而達(dá)到預(yù)期的設(shè)計目標(biāo)。
關(guān)鍵詞:MSP430F2274;超聲波模塊;光電編碼器;PID控制算法
智能小車涉及到高級計算機(jī)控制、電子機(jī)械、自動化等諸多學(xué)科,隨著科技的不斷進(jìn)步,智能電子產(chǎn)品發(fā)展步驟不斷加快,各種應(yīng)用層次的機(jī)器人等大量出現(xiàn),目前應(yīng)用在智能小車或機(jī)器人的微控制器主要是8/16單片機(jī)或ARM和數(shù)字信號處理器DSP等。本設(shè)計采用TI公司生產(chǎn)的功耗低運行速度快且價格便宜的MSP430F2274為核心,避障檢測采用測距精準(zhǔn)的超聲波傳感器,該傳感器采集小車周圍的環(huán)境信息并傳遞給MSP430進(jìn)行程序判斷處理,從而達(dá)到控制小車自動避障的目的。
1 系統(tǒng)的總體結(jié)構(gòu)框圖
該系統(tǒng)主要由MSP430控制器,超聲波避障模塊,電機(jī)驅(qū)動,測速,語音模塊,溫度模塊,小車的機(jī)械運動部分采用四輪差速轉(zhuǎn)向式結(jié)構(gòu),前2個輪是驅(qū)動輪,分別由電機(jī)控制其運動,后兩輪為隨動輪。采用MSP430F2274單片機(jī)作為主控制單元,小車裝有超聲波模塊來負(fù)責(zé)探測障礙物,做出避障決策。在小車的驅(qū)動輪上裝有光電編碼器對小車進(jìn)行測速。為消除溫度對測距的影響,使用溫度傳感器模塊時刻檢測小車周圍的溫度情況并修正。在小車上裝配語音播報功能模塊,能知道小車的位置和運行狀態(tài),總體結(jié)構(gòu)框圖如圖1所示。
2 智能小車的硬件設(shè)計
2.1 主控芯片
該設(shè)計是以MSP430F2274單片機(jī)為控制的核心部件。MSP430是一款16位的超低功耗單片機(jī),采用了精簡指令集(RISC)結(jié)構(gòu),具有豐富的尋址方式,片內(nèi)資源豐富,處理能力強(qiáng)大、系統(tǒng)工作穩(wěn)定,主要是它具有多路PWM輸出,以作為該設(shè)計電機(jī)控制的有利資源,系統(tǒng)主控設(shè)計圖如圖2所示。
[!--empirenews.page--]
2.2 超聲波模塊
避障是智能小車運動過程中最基本的功能,而避障首要是確定機(jī)器人自身與障礙物的距離并且定位。小車的避障探測模塊采用SRF08超聲波收發(fā)模塊,其波頻率為40 kHz,檢測距離范嗣為3 cm~6 m,SDA和SCL分別為控制端和接收端,設(shè)計共采用4個超聲波收發(fā)模塊分別安裝在小車的正前方,右前方和左前方和后方,4個模塊分別接在MSP430單片機(jī)的I/OP1.0、I/OP1.1、I/OP1.2、I/OP1.3、I/OP1. 4、I/OP1. 5、I/OP1.6、I/OP1.6端口上,采用I/O觸發(fā)測距,單片機(jī)給SDA提供25μs高電平信號,模塊自動發(fā)送8個40 Hz方波,并且檢測是否有返回信號,若有返回信號,SCL管腳輸出高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間,從而計算出超聲波從發(fā)射到接收所用的時間t,常溫下聲波在空氣中的傳播速度(其中T為攝氏溫度),此時可得到是否避障的距離為s=vt/2。
2.3 測溫和電源模塊
為了使計算的距離更精確而不受溫度影響,該設(shè)計中加入了DS18B20溫度傳感器接在I/OP4.6上,實時檢測機(jī)器人周圍環(huán)境的溫度T(T的值要精確到小數(shù)點后3位),以修正聲速的傳播公式V,從而提高測距的精確度。由于MSP430工作電壓最大是3.3 V,電機(jī)驅(qū)動采用12 V電壓,測速模塊和超聲波模塊采用5 V電壓,所以采用LM7812、LM7805和LM1117組成穩(wěn)壓電路。
2.4 語音模塊
語音電路采用ISD2560芯片為核心器件,結(jié)合外圍電路與單片機(jī)接口連接,進(jìn)行分段尋址,分析所測量數(shù)據(jù),并設(shè)計出語音元素,包括前方、左前方、右前方、后方、厘米等語音元素,然后分別錄制好語音元素,把這些信息存儲在ISD2560的存儲器單元內(nèi),測量的數(shù)據(jù)經(jīng)過軟件處理后,單片機(jī)發(fā)送語音地址和音控指令,通過和存儲在ISD2560內(nèi)的地址數(shù)據(jù)匹配,然后由語音電路通過揚聲器播出測量數(shù)據(jù)的結(jié)果。語音芯片的地址碼接口A4、A5、A6、A7、A8分別接在I/OP2.2、I/OP3.0、I/OP3.1、I/OP3.2、I/OP3.3。
2.5 電機(jī)驅(qū)動模塊
電機(jī)驅(qū)動模塊是智能車的重要組成部分,它和電機(jī)共同組成智能小車的運動控制系統(tǒng)。該設(shè)計的驅(qū)動輪是由2個M1和M2交流永磁同步電機(jī),因此采用的電機(jī)驅(qū)動器是高電壓大電流高功率的L298N雙H橋集成電路,L289N可以驅(qū)動兩個電機(jī),通過控制輸入端IN1-IN4信號,來控制H橋的通斷,使得電機(jī)形成正反轉(zhuǎn)或停止,通過控制L298N的使能端EnA、EnB,采用技術(shù)成熟的PWM調(diào)速原理來控制電機(jī)的轉(zhuǎn)速,從而達(dá)到控制小車運行的快慢和轉(zhuǎn)向的目的。為了防止在啟停電機(jī)的瞬間所形成的反饋電流損壞L298N,因此在L298N輸出端與電機(jī)之間加入8個二極管形成續(xù)流達(dá)到保護(hù)的作用,再則為了防止L298N輸出負(fù)載端電機(jī)對輸入端信號傳輸產(chǎn)生影響,以及對MSP430芯片產(chǎn)生不利的干擾,在L298N的信號輸入端通過連接TLP521可控制的光電電耦合器件,達(dá)到對L298N信號輸入前端的信號電路與負(fù)載的完全隔離,從而增加了電路的安全性,減少了電路信號干擾。本設(shè)計中的驅(qū)動電機(jī)采用的是方波驅(qū)動的交流永磁同步電機(jī),該電機(jī)的轉(zhuǎn)速與驅(qū)動信號的頻率成正比,結(jié)構(gòu)簡單,調(diào)速性能優(yōu)良,運行可靠且便于維護(hù)。其電機(jī)驅(qū)動和控制模塊電路如圖3所示。
2.6 測速模塊和PID控制
對速度的檢測、調(diào)節(jié)控制能夠保證小車穩(wěn)定的運行,避免小車在避障時由于車速過高來不及躲避等問題。該設(shè)計中采用256線光電編碼器作為速度檢測,2個編碼器和電機(jī)同軸相連。它直接利用光電轉(zhuǎn)換原理輸出3組方波脈沖A、B和Z相,A、B兩組脈沖相位差90°,從而可方便地判斷出旋轉(zhuǎn)方向,而Z相為每轉(zhuǎn)一個脈沖,用于基準(zhǔn)點定位。在此采用M/T法測速,單片機(jī)通過定時器對電機(jī)速度進(jìn)行10 ms定時采樣,把采樣所得速度信息與給定的速度信息所得的速度差傳給PID控制器,來實現(xiàn)對電機(jī)速度的最佳閉環(huán)控制。從而在小車在前進(jìn)、后退、轉(zhuǎn)彎、剎車等動作能快速響應(yīng)且超調(diào)量小,因此系統(tǒng)采用積分分離的PID控制算法,開始取消積分作用,當(dāng)被調(diào)量相差不大時再引入積分作用,實現(xiàn)算法的具體步驟如下:
1)根據(jù)實際情況,人為的設(shè)定一個值w>0,E(k)=R(k)-H(k),其中R(k)為給定值,H(k)為測量值。
2)當(dāng)E(k)>w時,采用PD控制調(diào)節(jié),可以避免超調(diào)過大,還可以使系統(tǒng)有較快的反應(yīng)。
3)當(dāng)E(k)<w時,采用PID控制調(diào)節(jié),能夠保證系統(tǒng)的控制精度。
[!--empirenews.page--]
3 軟件的設(shè)計
MSP430單片機(jī)實時監(jiān)控超聲波模塊傳送的信號并對其信號進(jìn)行避障決策判斷,小車在不需要做出避障時沿直線行駛或停止,并且等待定時器的中斷信號產(chǎn)生,當(dāng)需要避障時,小車就向有障礙物相反的方向調(diào)整出(左轉(zhuǎn)、右轉(zhuǎn)、倒退并轉(zhuǎn)向)最佳的運行路線,軟件主要采用C語言進(jìn)行編程。主控程序流程圖如圖4所示。
在小車運行的速度調(diào)控中加入PID算法來調(diào)控PWM對小車的運行速度進(jìn)行決策控制,能夠很好的實現(xiàn)小車運行的穩(wěn)定性和可靠性,PID調(diào)控PWM的程序流程圖如圖5所示。
4 實驗結(jié)果
該智能小車做成后對其性能測試:小車的正常運行速度約為0.11 m/s,在遇到的障礙物后做出的避障決策,跟程序中預(yù)先設(shè)定避障距離15 cm相差不多,根據(jù)試驗的測量數(shù)據(jù),小車預(yù)先設(shè)定的避障距離和實際的情況上下浮動0~3 cm,到達(dá)了預(yù)期設(shè)計的目標(biāo)。
5 結(jié)論
該設(shè)計采用的以MSP430單片機(jī)為平臺智能小車,能夠滿足控制要求,采用的超聲波避障、PID控制算法以及PWM速度控制,使得小車穩(wěn)定靈活可靠的運行。后續(xù)研究為改進(jìn)小車實現(xiàn)更高智能化,采用ARM嵌入式、Linux操作系統(tǒng)和DSP,并加入各種智能傳感器等來實現(xiàn)小車的更高的人性化智能化。