一種基于STM32的嵌入式低功耗無線手持控制器設計

除系統初始化外,其余的任務在調度器的管理下,按照各自的優先級和執行周期循環運行,模塊間通過全局的數據緩沖區進行通信。各任務的主要屬性如表2所示。下面對其中較為重要的nRF24L01收發和指令處理任務進行說明。
3.1 nRF24L01收發任務
nRF24L01收發任務位于控制器和驅動系統無線通信的數據鏈路層,它將指令緩沖區中打包好的幀通過nRF24L01發送出去,并且將nRF24L01接收到的數據送入緩沖區,由指
令處理任務進行解析。

手持控制器和驅動系統之間的通信是半雙工的,因此nRF24L01收發任務需要根據通信狀態正確配置nRF24L01的工作模式,從而控制其收發數據。nRF24L01內部通過應答和重發功能實現了數據鏈路層的可靠通信,這極大的方便了用戶應用層程序的編寫。nRF24L01收發任務采用了時間觸發的狀態機方式實現,狀態狀態轉移圖如圖6所示,狀態機執行周期為20 ms。

3.2 指令處理任務
指令處理任務位于控制器和驅動系統無線通信的應用層,將用戶的操作打包成幀送入指令緩沖區,并且從nRF24L01收發任務送入指令緩沖區的幀中提取出數據,更新LCD顯示。指令處理任務的運行方式為周期執行+事件觸發,前者指每隔10ms刷新一次LCD上機械手XYZ坐標并且處理一次編碼器數據,如果編碼器數據有變化則將變化量打包成幀,后者指用戶通過按鍵進行機械手工作模式切換、機械手急停等操作,這些操作不經過指令處理任務而是由按鍵掃描任務直接將指令打包送入指令緩沖區,確保盡快由nRF24L01收發任務將指令發送出去,以提高實時性。指令處理任務流程圖如圖7所示。

4 測試結果
首先對設備通信(默認無線方式)可靠性進行了測試。根據表3的測試結果和實際使用效果,本設備通信穩定可靠。

注:本設備正常使用時和顯微驅動系統距離約30 cm,測試時間90 s,通信速率2 Mbps。
其次,功耗測試結果如表4所示,設備待機和工作時間可滿足用戶的使用要求。

5 結論
隨著機械、控制、微電子、嵌入式和無線通信等技術的發展,使得顯微注射操作從人工化進入自動化時代。本文開發的手持控制器,通過電池供電和無線通信的方式,替代了原實驗系統中有線控制器,消除了通訊線、電源線的連接給用戶帶來的不便以及不可靠因素。增加了LCD顯示功能,方便用戶實時監控實驗系統狀態及參數。測試結果表明:本設備功耗低、可靠性高、操作簡便,具有較高的實用價值。
評論