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