本系列文章是在学习PPM、 PWM、 SBUS、DSM2过程中的总结!
原文地址:http://nicekwell.net/blog/20161223/ppmxin-hao-jie-shao.html#pwm-1
PPM信号介绍
我们知道PWM信号可以控制舵机,一般信号周期是20ms,脉宽在500us~2500us之间。
实际上这种pwm信号不仅可以控制舵机,航模中使用的电调(有刷和无刷)也是用这种信号控制,只不过它们的脉宽范围一般限制在1000us~2000us。
而航模接收机输出的正是上述 周期20ms,脉宽1000us~2000us之间的pwm信号。可以理解为,接收机通过pwm信号来反映遥控器的操作。
航模遥控器有多路通道,可以传输多个操作(油门、方向等),而无线信道只有一路,怎么把多路通道的pwm信息传输到接收机呢?这就是所谓的PPM调制。
PPM信号把多路PWM信号调制到一路通道上,发送到接收机后再由接收机还原成多路PWM从各个通道输出。
注意上面说的PWM信号和控制电机的PWM信号不同。
控制电机的PWM信号对周期没有严格要求,占空比变化范围0~100%;
而航模遥控器接收机输出的PWM信号(也是控制舵机、电调的PWM信号),周期一般是20ms,也有16ms的,正脉宽范围一般是1000us~2000us。
以上是PPM信号的介绍,我不关心PPM是如何调制的,更关心如何利用航模接收机输出的PWM信号,以下介绍的是航模接收机输出PWM信号。
电平
标准电平是5V(航模遥控器的接收机工作电压是5v)。
工作方式
信息以高电平脉冲宽度表示,以固定的频率不断地刷新信号;
在每个周期内,携带信息的是高电平脉冲,高电平信息结束后是持续的低电平。
刷新率
标准刷新率是50Hz(周期20ms),但也遇到过60Hz(周期约16ms)的接收机,如GR3E 3通道接收机。7通道接收机WFR07的周期是21.2ms。
脉宽和数值
脉宽变化范围是1000us~2000us。
一般航模遥控器中:
方向、油门之类的双向控制,中间值是1500us,两个方向的极值分别是1000us和2000us;
模式切换按钮,分别在1000us和2000us之间切换。
无刷电调没有方向,在1000us时油门为0,2000us时油门最大。
注:
1、航模遥控器中,双向控制项目一般都会有个中间值调节旋钮,如果调节了中间值不是1500us,那么另外两个方向的极值也会随着变化。总之输出范围是围绕着中间值±500的范围。
2、接收机输出的PWM信号可直接接到舵机,而一般舵机的脉宽范围是500us~2500us,对应角度0°~180°。所以一般由接收机输出的PWM信号直接控制的舵机,旋转角度范围在45°~135°。
多路PWM信号
航模遥控器中常说的“几路通道”代表接收机能输出几路PWM信号。
注意各个通道的PWM高电平不是同时输出的,一路通道在前一路通道高电平输出结束后才会开始,类似于这样:
这是因为航模遥控器不能同时传输多路通道,只能单路传输,然后分给各个通道。遥控器的无线信号类似于上面信号的第一行,解调后变成了下面各路通道信号。
注意,各个通道的高电平信号是一个紧挨着一个的,而不是每个通道固定分配2ms的时间。
在对接收机解码时发现,实际各个通道的正脉冲并不是一个紧挨着一个出现。有的接收机各个通道输出的高电平连接比较近,而有的接收机在上一个通道正脉冲结束后要等较长的时间下一个通道的高电平才出现,在此期间所有的通道都是低电平。
由于单路信号最长是2000us,周期20ms,所以理论上可以容纳10路。而由于需要进行同步,实际上遥控器最多只能容纳9路信号。
记住:接收机输出的每帧信号(20ms)里,理论上最后必然有至少2ms的时间里,所有的通道都输出低电平,单片机解码时就是利用这一点来判断一帧信号结束的。
精度
PPM标准协议中不知道有没有精度规定 ,实际 GT2B/GR3E 枪型遥控器 和 WFT07/WFR07飞机遥控器 的精度都是20us,
时间精度 | 调节范围1000us,分成份数 | |
---|---|---|
20us | 50 | 普通舵机500us~2500us对应角度180°,对应舵机角度分辨率:1.8°。占空比从 -100%到+100%,对应占空比分辨率:4% |
PWM信号和舵机
接收机输出的PWM信号可直接接到舵机,而一般舵机的脉宽范围是500us~2500us,对应角度0°~180°。所以一般由PWM直接控制的舵机,旋转角度范围在45°~135°。
PWM信号和电调
接收机输出的PWM信号可直接输出给舵机,而在航模中经常会用这种PWM信号控制电机(有刷和无刷),接收机输出的PWM信号是不能直接控制电机的,虽然最终控制电机的信号也叫PWM,但两种信号是不同的,本文开头有介绍。此时需要电调。
电调具有接收 接收机输出的PWM信号 和 驱动电机 的功能,不同的电机驱动方式不同(有刷和无刷,有感和无感)。简单地说,电调的作用是接收 接收机输出的PWM信号 信号,转换成我们希望的电机驱动信号,并通过内部的电机驱动电路实现对电机的控制。
单片机提取接收机输出的PWM信号
根据此信号的特性:
我们想要用单片机提取并解释PPM信号可以有两种方法:
1、获取上图最上面一行的PPM信号,并解释。
2、获取接收机输出的各路通道的PWM信号,并解释。
对于成品的接收机,获取各路的输出信号要容易得多,所以采用第二种方法,直接把各路通道的输出信号接到单片机。
另外在前面的介绍里有说过:接收机输出的每帧信号(20ms)里,理论上最后必然有至少2ms的时间里,所有的通道都输出低电平。我们可以利用这一点来判断一帧信号的结束。
具体的提取方法请看遥控器接收机信号提取的具体工程:
单片机提取GR3E接收机信号
单片机提取WFR07接收机信号