摘要:本文介紹了ROBOCUP中型組的足球機器人的控制系統設計,詳細描述了以MSP430F149為主控芯片,LMD18200為驅動芯片的底層運動控制模塊的硬件結構以及軟件設計,以及通過無線模塊實現的遠程通訊。
1. 引言 Robocup 中型組足球機器人比賽是近幾年國內外新興一個組別,它要求多個機器人在完全自主的狀態下完成控球,傳球,配合,射門等動作,相當于一個分布式多智能體控制系統。其中需要解決的關鍵問題包括,圖像采集以及信號處理,路徑規劃,無線通訊,控制決策,多傳感器信息融合等技術。因此,中型組機器人足球比賽最具挑戰性,也最能體現研究單位的科研實力。對智能足球機器人的研究成果可廣泛用于軍事,民用等眾多領域。
2. 足球機器人總體結構 機器人的控制系統如圖1所示:

圖 1機器人控制系統功能框圖 其主控單元為一款主頻為300MHZ的基于PC104總線協議的CPU板。作為上位機它主要負責整個系統的控制決策,包括多傳感器的信號融合,數字圖像處理以及路徑規劃。超聲波陣列配合全景視覺模塊完成機器人的避障和路況識別功能。語音識別模塊用于完成對特定人聲的識別以及語音合成輸出。無線通訊使用目前應用廣泛的無線收發數傳MODEM芯片PRT2000來實現。底層電機驅動模塊主要負責執行來自上位機PC104的控制命令,同時將機器人的速度和位置信息,通過串口通訊反饋給PC104,實現閉環控制。系統的電源由串聯的兩塊12AH的蓄電池提供,經過一塊單輸入多輸出的DC-DC電壓轉換模塊為整個系統提供所需電壓。本文將主要討論底層運動控制模塊的設計。
3. 底層電機運動控制系統 3.1 MSP430F149特點和硬件總體設計 MSP430是一種新型的混合信號處理器,本系統采用MSP430F149單片機,它是超低功耗flash型16位RISC指令集單片機,具有強大的處理能力、豐富的片上外圍模塊和方便高效的開發方式 。它具有: ⑴片內有1個硬件乘法器。 ⑵2個16位的定時器,且帶有多個捕獲/比較寄存器,定時器可以設置成PWM輸出方式。 ⑶2個串行通訊接口,支持通用異步協議(UART協議)和同步協議(SPI協議)。 ⑷一個8路12位精度、高效通用的A/D轉換模塊。 ⑸有48個I/O引腳,每個I/O口分別對應輸入、輸出、功能選擇、中斷等多個寄存器,使得功能口和通用I/O口可以復用,大大增強了端口功能和靈活性。 目前電機驅動模塊的主控芯片普遍采用TI公司的DSP作為主控芯片,但其芯片本身及其仿真器價格偏高,不適合小規模開發。而我們使用的MSP430F149采用了JTAG技術、FLASH在線編程技術,省去了仿真器,采用自制的仿真接口即可實現在線仿真調試,因此與DSP相比,同樣是貼片封裝MSP430F149的具有更高的性價比。下圖是以MSP430F149為主控單元的底層電機驅動模塊結構圖。

圖2 底層運動控制模塊結構圖 本系統采用MSP430F149作為主控芯片,其產生的2路PWM信號通過光藕TIL113輸出到集成H橋芯片LMD18200驅動電機,與電機的同軸的光電碼盤信號通過四倍頻電路輸入單片機的I/O口,單片機利用其I/O口的中斷捕獲功能對光電碼盤信號進行正反相計數,并將其作為反饋信號,用軟件實現電機速度和位置的PID控制 。
3.2 電機驅動模塊設計 3.2.1 LMD18200特點 LMDl8200是美國國家半導體公司生產的、用于電機驅動的功率集成芯片。它將4個DMOS管構成的H橋及其控制邏輯電路均包含在1個11腳的T—220封裝中,其額定電流3A,峰值電流為6A;內含防橋臂單側直通電路;芯片過熱報警輸出和自動關斷。圖3為其典型應用。

圖3 LMD18200 典型應用 LMDl8200可采用兩種不同類型的PWM信號:①PWM信號中既包含方向信息又包含幅值信息,50%占空比的PWM信號代表零電壓。使用時,該信號應加于方向輸入端(DIR),同時將PWM信號輸入端置邏輯高電平。②分別由方向信號與幅值信號組成。幅值由PWM信號的占空比決定,零脈沖時代表零電壓。在實際使用時,DIR接PWM信號,PWM邏輯高電平BREAK接邏輯低電平 。 3.2.2光電碼盤的信號處理 提高反饋信號的精度,我們對光電碼盤的信號進行信號處理,除了具有四倍頻信號還具有鑒向功能。其電路圖如圖所示

其時序圖如圖5所示:

圖5 四倍頻及鑒向電路時序圖 3.3系統供電 MSP430系列單片機工作電壓為3.3V,因此我們選擇了AME1117-3.3這款LDO(低壓降線性調節器)為其單獨供電(圖5)。其它由外部蓄電池經電源模塊提供。為了監控蓄電池的狀態,我們還設計了電源模塊中包含具有欠壓報警功能的電池監控模塊,防止蓄電池過度放電,影響其壽命。 3.4底層驅動軟件設計 本系統的控制軟件共包括初始化主程序,串口通訊子程序,PID算法子程序和光電碼盤信號捕獲中斷子程序等四個部分組成。如圖6所示:

圖6 底層驅動系統軟件流程圖 本系統所采用PID算法為防止飽和積分得變速積分PID算法,在很多資料中均有詳細介紹,本文不再贅述。 MSP430F149有兩個硬件UART,通過對控制寄存器UXCTL和波特率寄存器UXBR0(或UXBR1)設置串口。其接收和發送分別具有獨立的中斷向量,數據的發送和接收可以在不同的中斷程序中執行 。本系統定義的串口通信協議為:

表中左右輪速度為兩位二進制數所表示的低速,中速,中高速,高速四種速度等級。
4. 結論 實驗證明,將MSP430F149單片機作為主控制器,LMD18200為驅動芯片設計出來的ROBOCUP中型組機器人的底層運動控制系統的速度和位置控制精度,以及左右輪的同步性等指標均達到設計要求。與以DSP為主控芯片的控制系統相比,減低了設計成本。
參考文獻: [1] 胡大可 MSP430系列超低功耗單片機原理和應用[M]。北京:北京航空航天大學出版社。2003 [2] Chris Nagy. Embedded System Design Using TI MSP430 Series[C].Texas Instruments Incorporated 2003 [3] 王曉明 電動機的單片機控制[M] 北京:北京航空航天大學出版社。2002 [4]Brian Merritt .PWM DC Motor Control Using Timer A of the MSP430 [M] Texas Instruments Incorporated 2003 [5] 魏小龍 MSP430系列單片機接口計術和系統設計實例[M]。北京:北京航空航天大學出版社。2002 作者簡介: 陳全福(1981-),男,江蘇省連云港市人,碩士研究生,研究方向為智能機器人控制系統。 |