程招招+馬超+武少卿+劉帥
摘 要:將STM32F103C8T6作為主控制器,結(jié)合體感識(shí)別技術(shù),設(shè)計(jì)的機(jī)械手臂具有體積小、操作簡(jiǎn)單、可靠性高、可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),能夠較好地滿足對(duì)機(jī)械手可靠遙控的要求,具有較大的應(yīng)用推廣價(jià)值。
關(guān)鍵詞:嵌入式控制;體感技術(shù);iNEMO慣性模塊;無(wú)線控制
中圖分類(lèi)號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.15913/j.cnki.kjycx.2016.08.011
隨著科學(xué)技術(shù)的快速發(fā)展,智能機(jī)械手臂裝置被廣泛應(yīng)用于實(shí)際生產(chǎn)生活當(dāng)中,基于體感技術(shù)的智能機(jī)械裝置層出不窮。傳統(tǒng)的機(jī)械手一般都是采用PLC控制的,而本設(shè)計(jì)則采用模塊化機(jī)械裝置組裝機(jī)械手,是基于單片機(jī)的無(wú)線控制,利用STM32F103C8T6作為主控制器,采用iNEMO慣性傳感器模塊實(shí)現(xiàn)體感信息檢測(cè)、nRF24L01模塊完成無(wú)線通信和12864液晶顯示模塊實(shí)現(xiàn)狀態(tài)顯示。同時(shí),利用體感識(shí)別技術(shù)來(lái)取代傳統(tǒng)的按鍵控制,有效地減少了硬件設(shè)備的投放,簡(jiǎn)化了系統(tǒng),具有體積小、操作簡(jiǎn)單、可靠性強(qiáng)等特點(diǎn)。體感技術(shù)的優(yōu)勢(shì)在于人們可以用肢體直接與周邊的裝置或環(huán)境互動(dòng),而無(wú)需使用任何復(fù)雜的控制設(shè)備,便可讓人們身臨其境地與內(nèi)容互動(dòng)。依照體感方式和原理的不同,可以將體感技術(shù)分為三大類(lèi),即慣性感測(cè)、光學(xué)感測(cè)、慣性及光學(xué)聯(lián)合感測(cè)。本設(shè)計(jì)中采用慣性感測(cè)的原理對(duì)手部姿勢(shì)進(jìn)行檢測(cè),從而實(shí)現(xiàn)體感控制。
1 系統(tǒng)方案及整體構(gòu)架
本設(shè)計(jì)采用ST公司具有Cortex-M3內(nèi)核的ARM控制器STM32F103C8T6作為主控制器,采用ST公司的iNEMO慣性導(dǎo)航模塊進(jìn)行手部姿態(tài)檢測(cè),采用nRF24L01無(wú)線模塊實(shí)現(xiàn)指令的發(fā)送和數(shù)據(jù)的接收,采用12864液晶顯示模塊顯示當(dāng)前的控制指令、機(jī)器人狀態(tài)和剩余電量,采用LED和
蜂鳴器實(shí)現(xiàn)提示和報(bào)警功能。主控系統(tǒng)軟件上使用μC/OS-II實(shí)時(shí)嵌入式操作系統(tǒng),能夠?qū)崿F(xiàn)實(shí)時(shí)性內(nèi)核、任務(wù)管理、時(shí)間管理、通信與同步、內(nèi)存管理等功能。系統(tǒng)的整體架構(gòu)如圖1所示。
2 硬件電路設(shè)計(jì)
2.1 主控制模塊
本設(shè)計(jì)采用ST公司的ARM控制器STM32F103C8T6作為主控制器,32位內(nèi)核,工作頻率最高為72 MHz,內(nèi)置128 K字節(jié)的程序存儲(chǔ)器,20 K字節(jié)的SRAM,包含時(shí)鐘、復(fù)位和電源管理,供電電壓為2.0~3.6 V,滿足了低功耗的要求。
2.2 傳感器處理模塊
本設(shè)計(jì)采用iNEMO慣性導(dǎo)航模塊進(jìn)行手部姿勢(shì)識(shí)別,iNEMO慣性導(dǎo)航模塊能夠檢測(cè)9個(gè)自由度,利用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è)量。傳感器處理模塊如圖2所示。
2.3 無(wú)線通信模塊
無(wú)線通信模塊通過(guò)nRF24L01無(wú)線模塊實(shí)現(xiàn)指令的發(fā)送和數(shù)據(jù)的接收,將接收的數(shù)據(jù)轉(zhuǎn)化為數(shù)據(jù)指令,以控制機(jī)械手的運(yùn)動(dòng),實(shí)現(xiàn)無(wú)線控制。采用嚴(yán)格的“一問(wèn)一答”形式,即每發(fā)送一條指令都需要機(jī)械手本體返回一幀數(shù)據(jù)包。發(fā)送一條指令后,等待機(jī)械手本體返回的數(shù)據(jù)包,只有獲得機(jī)械手本體返回的數(shù)據(jù)包后才可以繼續(xù)發(fā)送指令包。如果機(jī)械手本體接收到錯(cuò)誤指令(經(jīng)校驗(yàn)錯(cuò)誤的指令),置位通信錯(cuò)誤標(biāo)志位,上傳數(shù)據(jù)包;同時(shí),機(jī)械手本體報(bào)警,將機(jī)械手速度置0,接下來(lái)1 s內(nèi)下位機(jī)清除串口DMA,重新接收指令。如果接收到的數(shù)據(jù)包中通信錯(cuò)誤標(biāo)志位置位,則重新配置nRF24L01無(wú)線模塊,重新發(fā)送指令。
2.4 顯示模塊
顯示模塊采用12864液晶模塊進(jìn)行顯示,可顯示漢字和圖形,內(nèi)置8 192個(gè)中文漢字(16×16點(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引腳。本文采用串行傳輸方式設(shè)計(jì)。
3 軟件系統(tǒng)設(shè)計(jì)
本系統(tǒng)經(jīng)上電初始化后,首先采集電池電壓,傳送采集的數(shù)據(jù),通過(guò)12864液晶進(jìn)行顯示。如果電量過(guò)低,則通過(guò)蜂鳴器報(bào)警。通過(guò)DMA將iNEMO慣性導(dǎo)航模塊數(shù)據(jù)接收到USART1中,經(jīng)校驗(yàn)后,將數(shù)據(jù)轉(zhuǎn)化為機(jī)械手臂的運(yùn)動(dòng)指令,并點(diǎn)亮指示LED燈。系統(tǒng)軟件流程如圖3所示。
4 結(jié)束語(yǔ)
本文討論了基于STM32F103C8T6的嵌入式體感機(jī)械手的設(shè)計(jì)與實(shí)現(xiàn),并對(duì)具體的硬件電路和軟件系統(tǒng)進(jìn)行了詳細(xì)的介紹。大量實(shí)驗(yàn)證明,本體感機(jī)械手具有操作簡(jiǎn)便、可操作性強(qiáng)、通信可靠、穩(wěn)定性和人性化程度高等優(yōu)點(diǎn),在實(shí)際應(yīng)用中取得了良好的效果。
參考文獻(xiàn)
[1]劉軍.例說(shuō)STM32[M].北京:北京航空航天大學(xué)出版社,2011.
[2]周立功.ARM7嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2008.
[3]杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.
[4]劉火良,楊森.STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社.
[5]肖廣兵.ARM嵌入式開(kāi)發(fā)實(shí)例——基于STM32的系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2013.
〔編輯:劉曉芳〕