以ARM為核心的嵌入式體感遙控器設(shè)計(jì)
摘要:介紹一種以ARM為核心的嵌入式服務(wù)機(jī)器人體感遙控器的設(shè)計(jì)。硬件上,本遙控器采用具有ARM Cortex-M3內(nèi)核的STM32F103C8T6作為核心處理器,選用ST公司的iNEMO慣性導(dǎo)航模塊進(jìn)行手部姿態(tài)的識(shí)別,同時(shí)還具有LCD顯示模塊、無線收發(fā)模塊和電源模塊;軟件上,采用嵌入式操作系統(tǒng)μC/OS-II實(shí)現(xiàn)多任務(wù)的調(diào)度和外圍設(shè)備的管理。經(jīng)實(shí)驗(yàn)驗(yàn)證,本遙控器具有高穩(wěn)定性、高實(shí)時(shí)性、高可靠性、低誤碼率等優(yōu)點(diǎn)。
關(guān)鍵詞:服務(wù)機(jī)器人;體感遙控器;ARM;慣性傳感器;μC/OS-II
引言
服務(wù)機(jī)器人作為多種高新技術(shù)發(fā)展成果的集成,為實(shí)現(xiàn)服務(wù)的目的,需要通過人性化、簡(jiǎn)便、自然的方式進(jìn)行人機(jī)交互,傳統(tǒng)的按鍵式遙控器顯然不能滿足這種設(shè)計(jì)要求。目前,體感設(shè)備發(fā)展迅速,各類基于體感控制的裝置層出不窮。體感控制就是通過肢體動(dòng)作變化來實(shí)現(xiàn)
控制,基于體感裝置的人機(jī)交互已經(jīng)成為當(dāng)前研究的熱門課題。
常見的無線遙控技術(shù)不外乎紅外遙控技術(shù)和無線電遙控技術(shù)。其中紅外遙控技術(shù)優(yōu)點(diǎn)就是帶寬大,但是需要較強(qiáng)的指向性,傳輸距離短,穿透能力差,功耗高;與之相比,無線電遙控技術(shù)無方向性,抗干擾能力和穿透能力強(qiáng),傳輸距離遠(yuǎn),功耗低。因此,無線電遙控技術(shù)更加適合于智能家居、消費(fèi)類電子和機(jī)器人控制等領(lǐng)域。
本文以STM32F103C8T6作為主控制器,采用iNEMO慣性導(dǎo)航模塊、nRF24L01無線模塊和12864液晶顯示模塊。設(shè)計(jì)的嵌入式體感遙控器具有體積小、操作簡(jiǎn)單、可靠性高、可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),能夠較好地滿足對(duì)服務(wù)機(jī)器人可靠遙控的要求,具有較大的應(yīng)用推廣價(jià)值。
1 系統(tǒng)功能要求及整體架構(gòu)
1.1 基本功能要求
①具備實(shí)時(shí)準(zhǔn)確發(fā)送相應(yīng)控制指令的能力。根據(jù)手部姿態(tài)確定指令的內(nèi)容。
②具備接收機(jī)器人本體回傳數(shù)據(jù)包的能力。根據(jù)接收的數(shù)據(jù)包進(jìn)行解析,進(jìn)而判斷本體接收的控制指令是否正確。
③具備當(dāng)前指令和機(jī)器人當(dāng)前狀態(tài)信息的顯示能力。一方面將發(fā)送的控制指令在LCD液晶屏上予以顯示;另一方面根據(jù)機(jī)器人本體回傳的數(shù)據(jù)包,解析得出機(jī)器人的狀態(tài),在LCD液晶屏上進(jìn)行顯示。
④具備電池電量檢測(cè)和低壓報(bào)警功能。將剩余電量實(shí)時(shí)地顯示在LCD液晶屏上,當(dāng)電量不足時(shí),通過蜂鳴器進(jìn)行報(bào)警提示。
1.2 系統(tǒng)整體方案及架構(gòu)
iNEMO慣性導(dǎo)航模塊的基本原理如圖1所示,利用MEMS傳感器和主控芯片STM32F103RET7提供動(dòng)靜態(tài)方向和慣性測(cè)量功能。集成雙軸滾轉(zhuǎn)-俯仰陀螺儀(LPR430AL)、單軸偏航陀螺儀(LY330ALH)、6軸地磁測(cè)量模塊(LSM303DLH)、壓力傳感器(LPS001DL)和溫度傳感器(STLM75)5個(gè)意法半導(dǎo)體公司的傳感器,運(yùn)行一個(gè)AHRS姿態(tài)角運(yùn)算系統(tǒng),從而實(shí)現(xiàn)對(duì)姿態(tài)角的實(shí)時(shí)測(cè)量。
本遙控器采用ST公司具有Cortex-M3內(nèi)核的ARM控制器STM32F103C8T6作為主控制器,采用ST公司的iNEMO慣性導(dǎo)航模塊進(jìn)行手部姿態(tài)檢測(cè),采用nRF24L01無線模塊實(shí)現(xiàn)指令的發(fā)送和數(shù)據(jù)的接收,采用12864液晶顯示模塊對(duì)當(dāng)前控制指令、機(jī)器人當(dāng)前狀態(tài)和剩余電量予以顯示,采用LED和蜂鳴器實(shí)現(xiàn)提示和報(bào)警功能。遙控器軟件上使用μC/OS-II實(shí)時(shí)嵌入式操作系統(tǒng),能夠?qū)崿F(xiàn)實(shí)時(shí)性內(nèi)核、任務(wù)管理、時(shí)間管理、通信與同步、內(nèi)存管理等功能。系統(tǒng)的整體架構(gòu)如圖2所示。
2 硬件電路設(shè)計(jì)
2.1 主控制模塊電路
主控制器STM32F103C8T6芯片,工作頻率高達(dá)72 MHz,內(nèi)置64 KB的Flash和20 KB的SRAM,具有豐富外設(shè)和超低功耗,完全滿足本設(shè)計(jì)要求。主控制模塊電路圖如圖3所示,參照ST公司發(fā)布的STMF10xxx硬件開發(fā)入門文檔,該部分包括外部時(shí)鐘電路、模擬電源輸入、電源濾波、下載仿真口的設(shè)計(jì)。
2.2 電源模塊電路
本遙控器采用8.4 V鋰電池供電,采用TL750M05C穩(wěn)壓芯片提供5 V電壓,選用REG1117-3.3穩(wěn)壓芯片為系統(tǒng)提供3.3 V電壓。STM32F1 03C8T6電源分為模擬電源與數(shù)字電源,為了保證其正常工作,將兩路電源進(jìn)行隔離設(shè)計(jì),在模擬地與數(shù)字地之間通過0Ω電阻實(shí)現(xiàn)單點(diǎn)共地。為監(jiān)測(cè)鋰電池電源電壓,將電池電壓經(jīng)電阻分壓及阻容濾波電路濾波后作為STM32F103C8T6采樣輸入。
2.3 無線通信模塊及顯示模塊電路
無線通信模塊采用2.4 GHz頻段射頻芯片nRF24L01作為無線數(shù)據(jù)收發(fā)芯片,工作于2.4~2.5GHz ISM頻段,輸出功率和通信頻道可通過程序進(jìn)行配置。nRF24L01功耗低,在以-6 dBm的功率發(fā)射時(shí),工作電流只有9 mA;接收時(shí),工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計(jì)更方便。nRF24L01采用SPI總線方式與控制芯片進(jìn)行通信。
12864液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個(gè)中文漢字(16×1 6點(diǎn)陣)、128個(gè)字符(8×16點(diǎn)陣)及64×256點(diǎn)陣顯示RAM(GDRAM),具有并行數(shù)據(jù)傳送方式和串行數(shù)據(jù)傳送方式,其中串行數(shù)據(jù)傳輸方式只用到CS、SID、SCK 3個(gè)通信引腳,較并行數(shù)據(jù)傳送方式節(jié)省單片機(jī)的I/O引腳,本文采用串行傳輸方式進(jìn)行設(shè)計(jì)。
評(píng)論