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