李坤峰,傅成華
(四川理工學院 四川 自貢 643000)
基于MSP430智能小車的設計
李坤峰,傅成華
(四川理工學院 四川 自貢 643000)
介紹一種基于MSP430F2274單片機為核心的智能小車。小車采用超聲波測距技術實現自動避障,同時通過語音模塊來播報出小車與障礙物的距離。為了使測距不受溫度影響,用溫度傳感器實時檢測小車周圍環境的溫度并修正距離計算公式的參數,采用光電編碼器來檢測小車的速度,運用PID控制算法和PWM來控制小車的精確穩定的運行,從而達到預期的設計目標。
MSP430F2274;超聲波模塊;光電編碼器;PID控制算法
智能小車涉及到高級計算機控制、電子機械、自動化等諸多學科,隨著科技的不斷進步,智能電子產品發展步驟不斷加快,各種應用層次的機器人等大量出現,目前應用在智能小車或機器人的微控制器主要是8/16單片機或ARM和數字信號處理器DSP[1-2]等。本設計采用TI公司生產的功耗低運行速度快且價格便宜的MSP430F2274為核心,避障檢測采用測距精準的超聲波傳感器,該傳感器采集小車周圍的環境信息并傳遞給MSP430進行程序判斷處理,從而達到控制小車自動避障的目的。
該系統主要由MSP430控制器,超聲波避障模塊,電機驅動,測速,語音模塊,溫度模塊,小車的機械運動部分采用四輪差速轉向式結構,前2個輪是驅動輪,分別由電機控制其運動,后兩輪為隨動輪。采用MSP430F2274單片機作為主控制單元,小車裝有超聲波模塊來負責探測障礙物,做出避障決策。在小車的驅動輪上裝有光電編碼器對小車進行測速。為消除溫度對測距的影響,使用溫度傳感器模塊時刻檢測小車周圍的溫度情況并修正。在小車上裝配語音播報功能模塊,能知道小車的位置和運行狀態,總體結構框圖如圖1所示。

圖1 系統的總體結構框圖Fig.1 System block diagram of the overall structure
該設計是以MSP430F2274單片機[3]為控制的核心部件。MSP430是一款16位的超低功耗單片機,采用了精簡指令集(RISC)結構,具有豐富的尋址方式,片內資源豐富,處理能力強大、系統工作穩定,主要是它具有多路PWM輸出,以作為該設計電機控制的有利資源,系統主控設計圖如圖2所示。

圖2 系統主控設計圖Fig.2 The design of the main control system

為了使計算的距離更精確而不受溫度影響,該設計中加入了DS18B20溫度傳感器接在I/OP4.6上,實時檢測機器人周圍環境的溫度T(T的值要精確到小數點后3位),以修正聲速的傳播公式V,從而提高測距的精確度。由于MSP430工作電壓最大是3.3 V,電機驅動采用12 V電壓,測速模塊和超聲波模塊采用5 V電壓,所以采用 LM7812、LM7805和LM1117組成穩壓電路。
語音電路采用ISD2560芯片為核心器件,結合外圍電路與單片機接口連接,進行分段尋址,分析所測量數據,并設計出語音元素,包括前方、左前方、右前方、后方、厘米等語音元素,然后分別錄制好語音元素,把這些信息存儲在ISD2560的存儲器單元內,測量的數據經過軟件處理后,單片機發送語音地址和音控指令,通過和存儲在ISD2560內的地址數據匹配,然后由語音電路通過揚聲器播出測量數據的結果。語音芯片的地址碼接口 A4、A5、A6、A7、A8 分別接在 I/OP2.2、I/OP3.0、I/OP3.1、I/OP3.2、I/OP3.3。
電機驅動模塊是智能車的重要組成部分,它和電機共同組成智能小車的運動控制系統。該設計的驅動輪是由2個M1和M2交流永磁同步電機,因此采用的電機驅動器是高電壓大電流高功率的L298N雙H橋集成電路,L289N可以驅動兩個電機,通過控制輸入端IN1-IN4信號,來控制H橋的通斷,使得電機形成正反轉或停止,通過控制L298N的使能端EnA、EnB,采用技術成熟的PWM調速原理來控制電機的轉速,從而達到控制小車運行的快慢和轉向的目的。為了防止在啟停電機的瞬間所形成的反饋電流損壞L298N,因此在L298N輸出端與電機之間加入8個二極管形成續流達到保護的作用,再則為了防止L298N輸出負載端電機對輸入端信號傳輸產生影響,以及對MSP430芯片產生不利的干擾,在L298N的信號輸入端通過連接TLP521可控制的光電電耦合器件,達到對L298N信號輸入前端的信號電路與負載的完全隔離,從而增加了電路的安全性,減少了電路信號干擾。本設計中的驅動電機采用的是方波驅動的交流永磁同步電機,該電機的轉速與驅動信號的頻率成正比,結構簡單,調速性能優良,運行可靠且便于維護。其電機驅動和控制模塊電路如圖3所示。

圖3 電機驅動模塊Fig.3 Motor-driven module
對速度的檢測、調節控制能夠保證小車穩定的運行,避免小車在避障時由于車速過高來不及躲避等問題。該設計中采用256線光電編碼器作為速度檢測,2個編碼器和電機同軸相連。它直接利用光電轉換原理輸出3組方波脈沖A、B和Z相,A、B兩組脈沖相位差90°,從而可方便地判斷出旋轉方向,而Z相為每轉一個脈沖,用于基準點定位。在此采用M/T法測速,單片機通過定時器對電機速度進行10 ms定時采樣,把采樣所得速度信息與給定的速度信息所得的速度差傳給PID控制器,來實現對電機速度的最佳閉環控制。從而在小車在前進、后退、轉彎、剎車等動作能快速響應且超調量小,因此系統采用積分分離的PID控制算法,開始取消積分作用,當被調量相差不大時再引入積分作用,實現算法的具體步驟[5]如下:
1)根據實際情況,人為的設定一個值 w>0,E(k)=R(k)-H(k), 其中 R(k)為給定值,H(k)為測量值。
2)當 E(k)>w時,采用 PD控制調節,可以避免超調過大,還可以使系統有較快的反應。
3)當E(k) 此時: 式中:E為速度的誤差值,T為采樣時間,β取值如下: MSP430單片機實時監控超聲波模塊傳送的信號并對其信號進行避障決策判斷,小車在不需要做出避障時沿直線行駛或停止,并且等待定時器的中斷信號產生,當需要避障時,小車就向有障礙物相反的方向調整出(左轉、右轉、倒退并轉向)最佳的運行路線,軟件主要采用C語言[6]進行編程。主控程序流程圖如圖4所示。 在小車運行的速度調控中加入PID算法來調控PWM對小車的運行速度進行決策控制,能夠很好的實現小車運行的穩定性和可靠性,PID調控PWM的程序流程圖如圖5所示。 該智能小車做成后對其性能測試:小車的正常運行速度約為0.11 m/s,在遇到的障礙物后做出的避障決策,跟程序中預先設定避障距離15 cm相差不多,根據試驗的測量數據,小車預先設定的避障距離和實際的情況上下浮動0~3 cm,到達了預期設計的目標。 圖4 主程序流程圖Fig.4 Flow chart of main program 圖5 PID調控PWM流程圖Fig.5 Flow chart PID regulate the PWM 該設計采用的以MSP430單片機為平臺智能小車,能夠滿足控制要求,采用的超聲波避障、PID控制算法以及PWM速度控制,使得小車穩定靈活可靠的運行。后續研究為改進小車實現更高智能化,采用ARM嵌入式、Linux操作系統和DSP,并加入各種智能傳感器等來實現小車的更高的人性化智能化。 [1]閆晶,周浚哲,劉喜梅.基于DSP的智能小車避障系統的設計[J].沈陽理工大學學報,2008(1):37-41. YAN Jing,ZHOU Jun-zhe,LIU Xi-mei.Design of the obstacle avoidance system for intelligent car based on the DSP[J].Shenyang University of Technology,2008(1):37-41. [2]孫亮,阮曉鋼,常青.嵌入式移動機器人控制器設計[J].計算機工程與應用,2007,34(22):96-98. SUN Liang,RUAN Xiao-gang,CHANG Qing.Embedded mobile robot controller design[J].Computer Engineering and Applications,2007,34(22 ):96-98. [3]沈建華,楊艷琴,翟驍曙.MSP430系列16位超低功耗單片機原理與應用[M].北京:清華大學出版社,2010. [4]巫付專,王曉雷.控制電機及其應用[M].北京:電子工業出版社,2008. [5]徐麗娜.數字控制—建模與分析、設計與實現[M].北京:科學出版社,2007. [6]胡大可.MSP430系列單片機C語言程序設計與開發[M].北京:航空航天大學出版社,2003. Design of the intelligent car based on the MSP430 LI Kun-feng,FU Cheng-hua An intelligent car is described,which is based on the MSP430F2274.The car uses ultrasonic ranging technology to achieve automatic obstacle avoidance,and at the same time through voice module to broadcast the distance between the car and the obstacle.In order to make the distance not effected by temperature,the temperature sensor with real-time detection of the environmental temperature around the car and corrected the distance formula parameters,using photoelectric encoder to test the speed of the car, using PID control algorithm and PWM to control the car’s running accuracy and stability, so as to achieve the expected design goals. MSP430F2274; ultrasound; optical encoder; PID control algorithm TP23 A 1674-6236(2012)05-0033-03 2011-12-01稿件編號:201112004 李坤峰(1985—),男,河南許昌人,碩士研究生。研究方向:智能控制。

3 軟件的設計
4 實驗結果
5 結 論


(Sichuan University of Science&Engineering,Zigong643000,China)