航模遥控器解码

标签:飞行器 DIY 遥控器

nicekwell 发布于 2016-12-24 22:13

这是在做什么?

这是在解码航模遥控器接收机输出的信号,转换成纯数字信号输出。

航模遥控器接收机的输出的PWM信号有一套标准的协议,航模上面的舵机、有刷电调、无刷电调都是受这种PWM信号控制的。

有关PPM信号和航模遥控器接收机输出的PWM信号的介绍可以参考:http://nicekwell.net/blog/20161223/ppmxin-hao-jie-shao.html,这里介绍如何提取接收机的PWM信号,做一个航模遥控器的解码器。

为什么要解码?

因为有时候航模那端想要按照自己的想法编程,同时又希望能够使用航模遥控器这个方便的工具。
总之航模遥控器是个好东西,如果能够把航模遥控器信号转换成数字信号,就可以方便地把它输出给arduino或者树莓派等设备,无论用它做什么也是极好的。

Step 1: 关于遥控器和接收机

WFT07.jpg WFR07.jpg QQ20161224-214403@2x.png
在这里使用的是天地飞 WFT07七通道遥控器 和 WFR07七通道接收机。

关于此遥控器和接收机的特性可以参考:http://nicekwell.net/blog/20161223/wft07he-wfr07de-gong-neng-he-shi-yong.html

几个必要说明:

  1. 我使用的是美国手(左边油门)遥控器,后面的功能介绍都是基于美国手遥控器。
    对于各个通道信号解码来说并不关心各个通道的意义,解码后每个通道的作用由你自己后续的程序决定。
  2. 对于航模的多通道遥控器,通常有 直升机 和 固定翼 两种模式,在直升机模式下各个通道会相互关联,在固定翼模式下各个通道独立。
    解码的目的是在接收端还原遥控器的操作,所以选择各个通道独立操作的固定翼模式,以下所有操作都在固定翼模式下。
  3. CH1、CH2、CH3、CH4、CH6可连续变化,通过示波器测量分辨率是20us,所以单片机在采样时精度20us即可。

各个通道功能如上面图片所示。

Step 2: 硬件

IMG_0029.JPG

【单片机】STC12C5A60S2
【晶振】24MHz
注:此晶振可产生精确地定时器中断,方便监测各个通道,但串口波特率会有0.16%的误差,不会影响使用。
【引脚连接】
CH1:P1.6
CH2:P1.5
CH3:P1.4
CH4:P1.3
CH5:P1.2
CH6:P1.1
CH7:P1.0
TXD:P3.1

Step 3: 输出协议

解码后的信号通过串口输出。

【波特率】115200
实测发送一个字节大约需要13us,这样算的话一帧发送8字节大约需要104us。
这里测量的13us是程序把一字节数据送入缓存,并等待发送完成标志所用的时间,不是实际串口的工作时间。
【数据格式】
每个周期内,当采集完7个通道的高电平后(最长约14ms)会立刻通过串口发送7个通道的数据信息。
每个周期的数据为一帧,一帧数据有8个字节:
第一字节固定为0x01,标志一帧数据开始。(后面7个字节不可能为这个值)
后面7个字节依次表示CH1到CH7的脉宽,单位是10us。如输出150表示脉宽为1500us。
注:
1、接收机输出的脉宽范围大约在1000us~2000us之间,所以7个脉宽的数据范围大约在100~200之间。
2、解码后输出的数据单位是10us,但实际接收机输出的精度是20us,单片机程序也是按照20us的精度采样的。

对于此接收机,不会出现信号丢失的情况,当遇到遥控器信号丢失时,接收机会输出预先设定好的信号,对于解码器来说不能区分当前遥控器信号是否丢失。

Step 4: 代码

Step 5: 完成演示

不确定视频有没有显示,贴个地址:http://v.youku.com/v_show/id_XMTg3OTU4ODYxNg==.html
 
飞鱼BH1JSS2016-12-28 11:37:35
很棒。

顺便回访一下,您觉得创酷网的用户UI做的怎么样?
nicekwell2016-12-28 12:38:57
UI我蛮喜欢~但在编辑过程中,各个step的图片是放在最开始的,后面的文字描述中不能插入图片,这一点我觉得不太方便 :)
飞鱼BH1JSS2016-12-28 13:34:19
回复 nicekwell : 恩,是这样的,很多人希望步骤以图片为主,所有的文字就相当于图注,特别是这样编辑比较快速,而不是写大段文字再插入图片,未来也许在H5移动端也可以直接发布,更加以图片为主了。
nicekwell2016-12-28 14:48:31
回复 飞鱼BH1JSS : 原来是这样的思路啊~哈哈 图片的确直观了不少

作者

nicekwell

上海,静安

10粉丝 3作品 0随笔
  关注 私信

作者的最新作品


阅读数: 402