一种基于STM32的嵌入式低功耗无线手持控制器设计

时间:2016-09-12来源:网络
一种基于STM32的嵌入式低功耗无线手持控制器设计

除系统初始化外,其余的任务在调度器的管理下,按照各自的优先级和执行周期循环运行,模块间通过全局的数据缓冲区进行通信。各任务的主要属性如表2所示。下面对其中较为重要的nRF24L01收发和指令处理任务进行说明。

3.1 nRF24L01收发任务

nRF24L01收发任务位于控制器和驱动系统无线通信的数据链路层,它将指令缓冲区中打包好的帧通过nRF24L01发送出去,并且将nRF24L01接收到的数据送入缓冲区,由指

令处理任务进行解析。

一种基于STM32的嵌入式低功耗无线手持控制器设计

手持控制器和驱动系统之间的通信是半双工的,因此nRF24L01收发任务需要根据通信状态正确配置nRF24L01的工作模式,从而控制其收发数据。nRF24L01内部通过应答和重发功能实现了数据链路层的可靠通信,这极大的方便了用户应用层程序的编写。nRF24L01收发任务采用了时间触发的状态机方式实现,状态状态转移图如图6所示,状态机执行周期为20 ms。

一种基于STM32的嵌入式低功耗无线手持控制器设计

3.2 指令处理任务

指令处理任务位于控制器和驱动系统无线通信的应用层,将用户的操作打包成帧送入指令缓冲区,并且从nRF24L01收发任务送入指令缓冲区的帧中提取出数据,更新LCD显示。指令处理任务的运行方式为周期执行+事件触发,前者指每隔10ms刷新一次LCD上机械手XYZ坐标并且处理一次编码器数据,如果编码器数据有变化则将变化量打包成帧,后者指用户通过按键进行机械手工作模式切换、机械手急停等操作,这些操作不经过指令处理任务而是由按键扫描任务直接将指令打包送入指令缓冲区,确保尽快由nRF24L01收发任务将指令发送出去,以提高实时性。指令处理任务流程图如图7所示。

一种基于STM32的嵌入式低功耗无线手持控制器设计

4 测试结果

首先对设备通信(默认无线方式)可靠性进行了测试。根据表3的测试结果和实际使用效果,本设备通信稳定可靠。

一种基于STM32的嵌入式低功耗无线手持控制器设计

注:本设备正常使用时和显微驱动系统距离约30 cm,测试时间90 s,通信速率2 Mbps。

其次,功耗测试结果如表4所示,设备待机和工作时间可满足用户的使用要求。

一种基于STM32的嵌入式低功耗无线手持控制器设计

5 结论

随着机械、控制、微电子、嵌入式和无线通信等技术的发展,使得显微注射操作从人工化进入自动化时代。本文开发的手持控制器,通过电池供电和无线通信的方式,替代了原实验系统中有线控制器,消除了通讯线、电源线的连接给用户带来的不便以及不可靠因素。增加了LCD显示功能,方便用户实时监控实验系统状态及参数。测试结果表明:本设备功耗低、可靠性高、操作简便,具有较高的实用价值。

1 2

关键词: STM32 无线通信 低功耗 手持设备 显微实验

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版