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