新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 以ARM為核心的嵌入式體感遙控器的設計方案

        以ARM為核心的嵌入式體感遙控器的設計方案

        作者: 時間:2013-10-08 來源:網絡 收藏

          3.3 軟件系統流程圖設計

          軟件系統流程圖如圖4所示。經上電初始化后,首先采集電池電壓,然后通過郵箱*App_ADMbox將采集得到的電量值發送給12864液晶顯示模塊進行顯示,若電量過低,則使標志位Flg_Buzzer置位,即通過蜂鳴器進行報警。并且,通過DMA把iNEMO慣性導航模塊的數據接收到USART1,判斷校驗位是否正確,若不正確則重新配置DMA,重新接收數據;若正確則將接收到的數據轉化為控制指令,通過nRF24L01無線模塊發送給機器人。同時通過郵箱*App-LCDCmdMbox將指令發送給App_TaskLCD任務,在12864液晶顯示模塊顯示當前發送的指令,并通過置位Flg_GreenLED點亮相應LED,以表示與iNEMO模塊通信正常;機器人本體接收到指令后,會給遙控器返回數據包,如果遙控器接收的數據錯誤標志位沒有置位,則說明遙控器與機器人本體通信正常,通過郵箱*App_LCDDataMbox將機器人的狀態信息發送給App_Tas kLCD任務,在12864液晶顯示模塊上顯示機器人本體運動狀態,同時通過置位Flg_BlueLED點亮相應LED,以表示遙控器與機器人本體通信正常。App_TaskClock任務通過郵箱*App_LCDClockMbox向App_TaskLCD任務發送當前時間信息,并予以顯示。

           軟件系統開發環境為IAR EW5.4,mu ;C/OS-II版本為V2.86,的調試工具為J-Link仿真器,的固件庫版本為V2.0.3.

          3.4 遙控器與機器人本體通信方案設計

          本設計采用嚴格的“一問一答”形式,即每發送一條指令都需要機器人本體返回一幀數據包。遙控器發送一條指令后,等待機器人本體返回的數據包,只有獲得機器人本體返回的數據包后才可以繼續發送指令包。如果機器人本體接收到錯誤指令(經校驗錯誤的指令),置位通信錯誤標志位,上傳數據包;同時,機器人本體報警,將機器人速度置0,接下來1 s內下位機清除串口DMA,重新接收指令。如果遙控器收到的數據包中通信錯誤標志位置位,則重新配置nRF24L01無線模塊,重新發送指令。

          4 性能測試

          對本文所描述的嵌入式機器人進行了相應的測試,測試環境分別為室內走廊環境和室外環境,測試結果如表2所列。測試結果表明,在室內走廊環境中,收發指令的正確率在95%以上;在室外環境中,由于環境中可能存在多種干擾,并且距離在20~30 m,正確率在90%以上。由于遙控器底層軟件具備一定容錯能力,90%以上的正確率完全滿足要求。

          結語

          本文討論了基于STM32F103C8T6的嵌入式服務機器人體感遙控器的設計方案,該方案對具體的硬件電路和軟件系統進行了詳細的介紹。經過大量的實例證明,本體感遙控器具有操作簡便、可操作性強、通信可靠、穩定性和人性化程度高等優點,在實驗室服務機器人的實際應用中取得了良好的效果。

        紅外遙控器相關文章:紅外遙控器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 合作市| 澄迈县| 安龙县| 万州区| 乐东| 江阴市| 肥城市| 新干县| 定南县| 怀宁县| 慈溪市| 德令哈市| 乃东县| 余庆县| 奉贤区| 临潭县| 河南省| 岚皋县| 高平市| 自治县| 道真| 榆树市| 萍乡市| 江孜县| 桓仁| 顺平县| 台前县| 宜章县| 镇康县| 来宾市| 墨竹工卡县| 满城县| 阿拉善右旗| 厦门市| 建宁县| 延安市| 龙山县| 关岭| 阳山县| 乡宁县| 合川市|