https://github.com/aflth

关于PWM、PPM、S.BUS、DSM2协议

你之所以觉得时间一年比一年快,是因为时间对你一年比一年重要

前言

pwm、ppm(cppm)、基本可以理解为同一种东西

s.bus、dsm2都是接收机与其他设备的通信协议。请注意不要和遥控器与接收机直接的协会混淆,遥控器与接收机之间采用某种特定的协议通信,这些协议往往各个厂商各自有一套且相互不兼容,但是接收机的输出型号是有通信标准的。

pwm、ppm是遥控器产生的信号

s.bus、dsm2是接收机与飞控的通信协议

遥控器与接收机之间的协议是每个厂商都不一样

一、PWM

1. PWM,全称pulse width modulation的缩写字母。英文的意思是脉宽调剂,在航模中主要用于轴机的控制,这是一种古老而又通用的的工业信号,是一种常见的控制信号,

2.原理:通过周期性跳变的高低电平组成方波来连续输出信号

3. 图示

enter description here

说明

  • 航模中常用的pwm信号,其实只用了他的一部分,就是只用高电平的宽度进行信息通信,而固定周期,并且忽略占空比参数.

4. PWM的优点

  • 由于传输过程中全部用满电压传输,非0及1,很像数字信号,所以具有数字信号的抗干扰性.
  • 脉宽的调节是连续的,使得他能够传输模拟信号.
  • pwm信号的发生和采集都很简单, 现在(上图)的数字电路则是以计数和采集信息.
  • 信号的值与电压无关,这在电压不恒定的条件下非常有用,比如电压下降会产生波纹,这些因素不会干扰信号。
  • pwm的信号处理简单,在航模至今任然广泛用以驱动舵机和固定翼飞机的电调等,其相对与ppm等协议最大的不同就是在于他每条线只能输出一路信号,换句话说需要几个通道就接几条线。

二、PPM (CPPM)

1. PPM全称pulse position modulation,就是脉宽位置调制

2. 产生原因:因为PWM每一条线只能产生一条信号,在分别驱动不同的设备(比如固定翼的各个电机)这时是没有任何问题的,但在一些场合,我们并不需要需要直接驱动设备,而是先集中获取接收机的各个通道的值,再做其他用途,比如两个遥控器之间连接起来做教练模式,比如遥控器连接模拟器,当然我们还有多轴,需要将信号传输给飞控,每一个通道一组物理连接方式显然很繁琐,这是ppm就应用而生。

3. 原理:航模使用的pwm信号,高电平的持续时间在整个时间轴上占的空间是很小的,假设绝大部分时间是空白的,ppm简单的将多个通道的值一个一个的合并成一个通道的值,用两个高电平的宽度表示一个通道的值。

4. 补充: 因为每一帧信号尾部必须加一个足够长的空白(显著超过一个正常的pwm信号)来分隔前面的型号,每一帧能传的信号通道最多8个,这足以满足日常使用。且ppm是一个通信标准,绝大多数遥控器都支持。


三、S.BUS

1. s.bus 全称 serial bus

2. 简绍: s.bus 是一个串行通信协议,最早有日本厂futaba引入,随后Frsryd的很多接收机也开始支持,s.bus是全数字化接口总线,数字化是指该协议使用现有数字通信接口作为通信硬件协议,这使得该设备非常适合单片机系统中使用,也就是说适合与飞控连接,总线是指他可以连接多个设备,这些设备中通过一个HUB与总线相连得到各自控制信息。

3. s.bus使用RS232c串口的硬件运行基础。使用TTL电平,及3.3V,使用逻辑及低电平未“1”,高电平为“0”,波特率为100000;不兼容波特率115200.

四、DSM2

1. dsm2 全称 digital spread spectrum modulation

2. DSM协议一共有三代: DSM 、 DSM2 、DSMX。最常见的DSM2,JR和spectrum的遥控器都支持该协议,该协议也是一种串口协议,但是比s.bus跟加通用,使用标准串口定义,所以市面上兼容接收机更加便宜,兼容设备也更多。

3. 不足: 该协议是一种总线化的协议,要靠接收机把协议转化为pwm来驱动电机,DSM2接口也只能连接收机和卫星接收机,不过对于飞控凯说无所谓。

4. DSMX是DSM2的升级版,协议基本一样就是多了一个双向传输。

五、总结(怎么用?)

1. 如果使用固定翼,也无意在飞机上加飞控,那么PWM没问题

2. 如果需要定制教练机或者无线模拟器,那么一个ppm 输出的接收机可以省去一堆(坨) 线

3. 如果追求穿越机的极致表现,那么你会开始感受到s.bus的低延迟优势,或者你除了控制飞机还要控制云台,s.ubs会带来更大的便利

4. 图示三种协议

enter description here

0%