文獻標識碼: A
文章編號: 0258-7998(2014)10-0083-03
0 引言
機器人技術與無線傳感技術被工業界和學術界公認為前沿性的科學技術。伴隨著社會信息化程度不斷深入,這兩大技術將會在更大的范圍內得到使用。本設計將無線傳感技術的高感知能力及實時性與機器人良好的機動能力有效結合,從而大大增強了機器人的工作能力和使用范圍。
本設計具有無線遙控、自動避障、無線測溫以及無線測距4種工作模式,可以讓機器人進入一些人類無法進入的特殊環境,在一些緊急情況下,操控者可以實時地監控環境中的重要指標,并驅動機器人完成一些相應的動作。常用的無線傳感節點一般采用了處理器與RF模塊集成的CC2xxx系列的SoC片上系統。該控制核心具有高集成度、低功耗及外圍硬件器件少等優勢,但在面對機器人高性能的控制需求和功能的擴展性上就顯得有所不足了。所以本設計選用了MSP430單片機加CC1100射頻收發芯片的組合設計方案。
1 系統總體設計
系統由遙控端和驅動執行端兩個分系統組成,如圖1所示。遙控端包含按鍵模塊、MCU、液晶顯示模塊、無線數傳模塊及電源模塊5部分。驅動執行端由無線數傳模塊、MCU、測溫模塊、驅動模塊、三軸位移模塊及執行機構5部分組成。
遙控端功能主要包括:(1)發送各種按鍵指令信號。主要有以下幾種指令:受控模式、自動避障模式,無線測溫、無線測距以及運動控制。(2)接收溫度、距離數據信號,并通過液晶顯示模塊顯示。
驅動執行端功能主要包括:(1)接收按鍵指令信號,并通過三軸位移傳感模塊跟蹤位移狀態,實時控制調整機器人運動狀態;(2)通過測溫/測距模塊,采集溫度和距離數據,經MCU處理后,通過無線數傳模塊發送出去。
2 系統硬件設計
整個設計分為兩個分系統,結合硬件性能需求及簡化設計開發難度,驅動執行端和遙控端分別選用了MSP430F5438A和AT89S52作為MCU,采用CC1100為無線數傳模塊的射頻收發芯片。
2.1 MCU電路設計
MSP430F5438A是MSP430系列中一款超低功耗微控制器,運行性能高達 25 MIPS,擁有256 KB閃存、16 KB的RAM、4個USCI(包含I2C、SPI、UART及IrDA等通用串行接口)以及多通道12位高速ADC。原理框圖如圖2所示。
MCU采用了雙時鐘電路,其中25 MHz晶振提供了系統主時鐘;32.768 kHz的實時鐘晶體提供了微控制器在低功耗時所需時鐘。為保障MCU工作穩定性,選用了TPS5430芯片管理MCU電路供電。考慮到后續功能拓展的便捷,將I2C、SPI、UART等通用串行通信接口單獨設計出來,以減少外圍模塊的硬件設計難度。
2.2 無線數傳模塊設計
該模塊主要負責接收各類指令及數據信號和無線發送由機器人所采集的溫度和距離數據信號。本模塊采用CC1100進行設計,其通信方式為半雙工通信。CC1100數據傳輸率最高可達500 kb/s。CC1100與MSP430工作電壓范圍一致為1.8~3.6 V,其靈敏度為-110 dBm,在所有工作頻率波段上,可編程輸出功率為-30~10 dBm。
CC1100通過四線SPI總線接口SO(GDO1)、SI(GDO0)、SCLK、CSn與MCU電路 SPI接口進行通信。CC1100采用QLP封裝,其外圍元器件很少,設計采用了螺旋天線。CC1100內部結構圖如圖3所示。
2.3 測溫模塊設計
本模塊選用了TCN75A可編程I2C總線溫度傳感器。該傳感器測溫范圍為-55 ℃~+125 ℃,具有0.5 ℃~0.062 5 ℃可配置分辨率,能夠通過編程設定告警溫度、滯后條件等參數。其告警信號可直接作為溫度事件中斷標志信號。在測溫模塊中設計了相應的地址位選擇電路(DEVICE-ID),通過跳線帽可以方便地對TCN75A 3個地址位引腳(A2,A1,A0)進行高低電平設定。同時,由于TCN75A芯片SDA和SCL均為開漏引腳,為保障通信的建立,還設計上拉電阻選擇電路(PULL-UP)。
輸入/輸出接口SDA1、SCL1分別與MCU電路I2C接口相接,而ALERT(告警信號)直接與MCU的GPIO口相接。測溫模塊電路圖如圖4所示。
2.4 三軸位移模塊設計
為保證機器人在復雜地形上運動狀態的控制,還設計了三軸位移傳感模塊。通過加速度傳感器采集機器人在X、Y、Z 3個方向上的加速位移量,更加全面獲取機器人的運行狀態,保證了控制的流暢性,提升了路況識別能力。
ADXL362內部包含了幾個運動檢測模式,通過軟件設置運動狀態門限閾值,當傳感器檢測到運動加速度超過設定閾值,即從INT1或INT2口輸出指示信號。MCU可以直接以該信號作為中斷標志位,實施機器人運動狀態調整。三軸傳感器輸出采用了四線SPI總線接口,所以本模塊與無線數傳模塊掛載到同一根SPI總線上,只需將/CS片選引腳連接到MCU另一個片選引腳上即可。三軸位移模塊電路圖如圖5所示。
其他模塊電路均采用了一些常見電路,限于篇幅,這里就不再贅述。
3 系統軟件設計
根據系統功能需求,系統軟件分為遙控端子程序和驅動控制端子程序,兩個分系統程序匹配的關鍵是擁有統一的通信協議。系統設計了4種工作模式:遙控模式、避障模式、測溫模式、測距模式,模式選擇全部通過遙控端按鍵指令控制。
3.1 遙控端程序設計
遙控端程序初始化主要完成設置中斷標志位、配置SPI總線、配置無線數傳模塊以及液晶屏初始化,然后進行按鍵輪詢。若有按鍵按下,進入中斷等待接收驅動執行端所發送的數據,并根據指令設置相應標志位。液晶屏顯示子程序查詢標志位的值,顯示相應信息,然后清除標志位,并返回按鍵輪詢。
3.2 驅動執行端程序設計
驅動端在系統初始化時需要關閉看門狗,設定系統主時鐘,開啟SPI總線以及配置無線數傳模塊。當接收到指令后,調用相應的子程序。當子程序運行完成后,再次開啟中斷接收指令及行判別,若保持原指令不變,則繼續執行子程序。由于系統主時鐘頻率較高,所以指令輪詢的延時可以忽略不計,基本不會影響機器人動作精準度。驅動執行端程序流程圖如圖6所示。
3.2.1 無線數傳模塊配置
CC1100通過SPI接口進行參數配置, SmartRF Studio7配置軟件可以直觀方便地完成接收/傳輸模式、收發地址、RF信道選擇、數據率、調制方式以及64位傳輸FIFO數據緩沖等重要性能參數最優寄存器設定。該軟件支持導出C、html等多種格式文件。本設計中直接調用了導出的C語言文件進行無線數傳模塊的初始化。無線數傳模塊配置為基準頻率為434 MHz,數據率為250 K波特,2FSK調制以及可變長度數據包格式。另外還應注意主從無線模塊的地址匹配問題,并需保證兩個模塊間目的地地址和源地址一致才能保證通信。
3.2.2 三軸位移模塊設計
將X、Y、Z三軸分別定義為前進/后退方向、左/右轉方向、垂直方向。當機器人處于勻速直線運動時,3個方向加速度接近于零。在機器人出現加速或減速,X軸方向會出現遠大于其他兩軸方向的測量值變化。同理,機器人進行左/右轉運動時,Y軸方向會有較大的測量值。如果路面出現坡道,在Z軸方向上將會出現測量值的改變。
由于機器人在運動狀態下,加速度值不斷發生改變,固定閾值無法作為檢測標準。因此,本設計采用了動態閾值算法。每采樣30次更新一次三軸測試數據峰峰值,將平均值(Max+Min)/2作為“動態閾值”。當測量值超出閾值范圍,實時調整電機驅動方式,保證機器人在復雜環境中運動穩定性。這種選擇具有自適應性,并且足夠快。
為保證加速度測試數的精準度,在設計中增加了數字濾波和線性移位寄存環節。數字濾波采用了等增益合并的算法。通過4個寄存器和一個求和單元,使得加速度數據更加平滑。線性移位寄存器包含了2個寄存單元:NEW寄存器和OLD寄存器。當新采樣數據來時,NEW寄存器值直接移入OLD寄存器中。而新采樣結果是否移入NEW寄存器中取決于:加速度變化是否大于預定義精度。若大于,新采樣結果將移入NEW寄存器中;否則NEW寄存器保持不變。線性移位寄存器可以消除高頻噪聲,避免了測試結果的頻繁擾動。以機器人上坡運動為例,程序流程圖如圖7所示。]
4 結論
經過實測,本機器人具有運動穩定性高、通信距離遠、功耗低等優點。最重要的是,系統具有較好的擴展性,可以方便地增加各類型接口的外圍硬件模塊,實現多種拓展功能。
本設計的部分研究成果用于了學生的畢業設計。該畢業設計榮獲2011年江蘇省優秀畢業設計二等獎。
參考文獻
[1] 洪利,章揚,李世寶.MSP430單片機原理與應用實例詳解[M].北京:北京航天航空大學出版社,2010:35-38.
[2] 冒曉莉,楊博,楊靜秋.基于MSP430單片機的節能型數字調頻發射機[J].電子技術應用,2013,39(5):138-140.
[3] 嚴冬,黃聃,王平.一種480 MHz無線數傳模塊的設計[J].電子技術應用,2012,38(6):41-44.
[4] 胡小玲,徐科軍,方敏.一種超低功耗單片機MSP430F6736實驗裝置研制[J].實驗室研究與探索,2014,33(1):69-72.
[5] 申海義,吳寶元,任陽.ADXL203型雙軸加速計在機器人足部感知系統中的應用[J].電子技術應用,2012,38(5):59-61.
[6] 王方.基于多移動機器人的無線傳感器網絡系統[D].太原:太原理工大學,2013.