一種基于STM32的嵌入式低功耗無線手持控制器設(shè)計
除系統(tǒng)初始化外,其余的任務(wù)在調(diào)度器的管理下,按照各自的優(yōu)先級和執(zhí)行周期循環(huán)運行,模塊間通過全局的數(shù)據(jù)緩沖區(qū)進行通信。各任務(wù)的主要屬性如表2所示。下面對其中較為重要的nRF24L01收發(fā)和指令處理任務(wù)進行說明。
3.1 nRF24L01收發(fā)任務(wù)
nRF24L01收發(fā)任務(wù)位于控制器和驅(qū)動系統(tǒng)無線通信的數(shù)據(jù)鏈路層,它將指令緩沖區(qū)中打包好的幀通過nRF24L01發(fā)送出去,并且將nRF24L01接收到的數(shù)據(jù)送入緩沖區(qū),由指
令處理任務(wù)進行解析。
手持控制器和驅(qū)動系統(tǒng)之間的通信是半雙工的,因此nRF24L01收發(fā)任務(wù)需要根據(jù)通信狀態(tài)正確配置nRF24L01的工作模式,從而控制其收發(fā)數(shù)據(jù)。nRF24L01內(nèi)部通過應(yīng)答和重發(fā)功能實現(xiàn)了數(shù)據(jù)鏈路層的可靠通信,這極大的方便了用戶應(yīng)用層程序的編寫。nRF24L01收發(fā)任務(wù)采用了時間觸發(fā)的狀態(tài)機方式實現(xiàn),狀態(tài)狀態(tài)轉(zhuǎn)移圖如圖6所示,狀態(tài)機執(zhí)行周期為20 ms。
3.2 指令處理任務(wù)
指令處理任務(wù)位于控制器和驅(qū)動系統(tǒng)無線通信的應(yīng)用層,將用戶的操作打包成幀送入指令緩沖區(qū),并且從nRF24L01收發(fā)任務(wù)送入指令緩沖區(qū)的幀中提取出數(shù)據(jù),更新LCD顯示。指令處理任務(wù)的運行方式為周期執(zhí)行+事件觸發(fā),前者指每隔10ms刷新一次LCD上機械手XYZ坐標并且處理一次編碼器數(shù)據(jù),如果編碼器數(shù)據(jù)有變化則將變化量打包成幀,后者指用戶通過按鍵進行機械手工作模式切換、機械手急停等操作,這些操作不經(jīng)過指令處理任務(wù)而是由按鍵掃描任務(wù)直接將指令打包送入指令緩沖區(qū),確保盡快由nRF24L01收發(fā)任務(wù)將指令發(fā)送出去,以提高實時性。指令處理任務(wù)流程圖如圖7所示。
4 測試結(jié)果
首先對設(shè)備通信(默認無線方式)可靠性進行了測試。根據(jù)表3的測試結(jié)果和實際使用效果,本設(shè)備通信穩(wěn)定可靠。
注:本設(shè)備正常使用時和顯微驅(qū)動系統(tǒng)距離約30 cm,測試時間90 s,通信速率2 Mbps。
其次,功耗測試結(jié)果如表4所示,設(shè)備待機和工作時間可滿足用戶的使用要求。
5 結(jié)論
隨著機械、控制、微電子、嵌入式和無線通信等技術(shù)的發(fā)展,使得顯微注射操作從人工化進入自動化時代。本文開發(fā)的手持控制器,通過電池供電和無線通信的方式,替代了原實驗系統(tǒng)中有線控制器,消除了通訊線、電源線的連接給用戶帶來的不便以及不可靠因素。增加了LCD顯示功能,方便用戶實時監(jiān)控實驗系統(tǒng)狀態(tài)及參數(shù)。測試結(jié)果表明:本設(shè)備功耗低、可靠性高、操作簡便,具有較高的實用價值。
評論