新闻中心

EEPW首页>嵌入式系统>设计应用> 基于CC1110无线单片机的机器鱼控制系统设计

基于CC1110无线单片机的机器鱼控制系统设计

作者: 时间:2014-12-30 来源:网络 收藏

3控制系统软件设计

本文引用地址://m.amcfsurvey.com/article/267501.htm

  在控制系统中软件设计采用模块化设计,主要包括串口通信程序、无线通信程序、存储器读写程序以及舵机驱动程序。

  3.1串口通信程序设计

  串口通信程序完成无线与上位机PC的串行通信。串口接收数据采用中断的方式,串口发送数据采用查询的方式。串口收发程序流程图如图7所示。

  图7串口收发程序流程图

  在硬件设计中采用了CH341T串口转换电路模拟串口,为了配合硬件的使用,需要在上位机中安装驱动程序,驱动程序可以从南京沁恒电子有限公司网站上下载。

  3.2无线通信程序设计

  在设计无线通信程序前,需要配置的高频部分,以确定无线收发器的收发频率、发送功率、传输速率以及调制方式等。由于CC11 10高频配置较为复杂,这里可以采用TI公司的SmartRF Studio软件来进行配置。通过设置寄存器FREQ2、FREQ1和FREQ0将的收发频率选择在433MHz频段;通过设置PA TABLE0将CC1110的发送功率设置为10dBm,这样可以提高发射距离;由于该控制系统的指令数据量较小,可以选择较低的传输速率,不仅可以提高传输距离,而且可以降低能耗;调制方式选择2-FSK方式。

  无线通信程序包括无线发送程序和无线接收程序两部分。无线发送程序将待发送的数据通过无线的方式发送出去,无线接收程序可以接收同频率的发射机发送的数据。无线通信程序流程图如图8所示。

  图8无线通信程序流程图

  3.3指令发送端主程序设计

  在控制系统的指令发送端,实现的功能包括串口收发数据和无线收发数据。指令发送端主程序流程图如图9所示。

  图9指令发送端主程序流程图

  指令数据无线发送以后,指令发送端开始等待接收指令执行端反馈的数据。指令发送端接收到反馈数据后调用串口发送程序将反馈数据发回到PC,将反馈数据与指令数据比对,如果反馈数据与发送数据一致,则认为指令数据发送成功,否则重新发送指令数据。如果长时间没有接收到反馈数据,则重新发送指令数据。

  3.4指令执行端主程序设计

  在机器鱼控制系统指令执行端,主要包含指令数据的接收、指令数据的反馈发送、存储器的读写以及舵机的控制等。其中,舵机的控制是最为关键的部分。在控制舵机前要先对指令数据进行解析,计算出舵机的控制量。由于舵机采用级联的方式来模仿鱼体的摆动,因此舵机间关节的运动规律可以采用以下数学模型:

  式中,Ka为振幅系数,Ki为偏斜系数,f为摆动频率,φi为关节滞后角,Aimax为关节摆动幅度,t为时间。以上参数即为舵机的主要控制参数。在程序设计过程中,一般取Ka≤0.5,Ki、f、φi以及Aimax四个参数根据具体的速度指令和方向指令来计算出相应的控制量。指令执行端主程序流程图如图10所示。

  图10指令执行端主程序流程图

  4结束语

  本文设计的机器鱼控制系统通过了下水测试。在机器鱼下水测试阶段,利用串口调试助手对机器鱼进行直接发送控制指令实验,对机器鱼的调直数据保存、直游以及转弯进行了直接控制。测试结果表明,机器鱼控制系统可以有效地接收上位机发送的指令数据,并执行相关的动作,达到了较好的控制效果。同时,本文的研究设计工作为进一步研究设计自主机器鱼以及多鱼协作提供了较好的软硬件设计基础。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭