PX4飞控开发笔记-第五课时:PWM、PPM与S.bus.pdf

PX4飞控开发笔记-第五课时:PWM、PPM与S.bus.pdf

ID:52204576

大小:534.92 KB

页数:6页

时间:2020-03-24

PX4飞控开发笔记-第五课时:PWM、PPM与S.bus.pdf_第1页
PX4飞控开发笔记-第五课时:PWM、PPM与S.bus.pdf_第2页
PX4飞控开发笔记-第五课时:PWM、PPM与S.bus.pdf_第3页
PX4飞控开发笔记-第五课时:PWM、PPM与S.bus.pdf_第4页
PX4飞控开发笔记-第五课时:PWM、PPM与S.bus.pdf_第5页
资源描述:

《PX4飞控开发笔记-第五课时:PWM、PPM与S.bus.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、APMforPX4飞控开发笔记第五章:PWM、PPM与S.bus——sw笨笨编写1.介绍要进行飞控开发,了解控制信号是基本知识。用于航模的飞控主要的执行设备就是舵机和电调,那么跟舵机相关的信号都有哪些,他们的作用是什么,硬件协议是什么,软件协议是什么,有什么区别,怎么用?这些就是本文下面要跟大家讨论的问题。我个人常用的航模中的控制信号主要有PWM、PPM和S.bus。还有许多其他信号,但是个人接触的少就不在这里卖了。2.PWMa)什么是PWMPWM,PulseWidthModulation的缩写,英文意思是脉宽调制,在航模中主要用于舵机的控制

2、。这是一种古老而通用的工业信号,是一种最常见的控制信号。该信号主要原理是通过周期性跳变的高低电平组成方波,来进行连续数据的输出。如下图所示:而航模常用的PWM信号,其实只使用了它的一部分功能,就是只用到高电平的宽度来进行信号的通信,而固定了周期,并且忽略了占空比参数。PWM的优点很明显:由于传输过程全部使用满电压传输,非0即1,很像数字信号,所以他拥有了数字信号的抗干扰能力。脉宽的调节是连续的,使得它能够传输模拟信号。PWM信号的发生和采集都非常简单,现在的数字电路则使用计数的方法产生和采集PWM信号。信号值与电压无关,这在电压不恒定

3、的条件下非常有用,比如电池电压会随消耗而降低,DCDC都会存在纹波等等,这些因素不会干扰信号的传输。b)PWM通信协议高电平有效。高电平电压:常见4.8~6V,也有使用3.3V和更高电压的,要看舵机的承受能力。信号周期:常见50Hz和300Hz两种,前者被称为模拟舵机,后者被称为数字舵机。注意纠正一个概念,舵机的模拟和数字之分其实指的是信号采集器,是使用模拟电路还是使用数字电路,跟信号频率无关,当然数字采集器的采集能力较强,所以频率可以高一些。但是随着技术进步,现在即使买50Hz的舵机也同样使用数字电路进行信号采集,哪里来的模拟舵机呢?建议大

4、家忘记这两个词汇吧。脉宽宽度:50Hz信号多用于老式舵机,是上个世纪舵机的主要控制信号形式,其脉宽宽度为0.5ms至2.5ms。300Hz信号则是目前使用的最广泛的信号形式,其波形速度快,每秒可以传输300次,所以相应的脉宽也有所减小为0.9ms至2.1ms。两种舵机控制信号如下图所示:50Hz舵机的PWM控制信号300Hz舵机的常见PWM控制信号3.PPMa)什么是PPMPWM信号被广泛用于舵机控制,但是它有一个明显的缺陷,就是有多少个舵机就需要多少个控制线路。而很多时候不希望线路太多,尤其是遥控器的无线信号,只可能有一路通信要传递多路舵机

5、控制信息,于是PPM信号诞生了。PPM,pulse-positionmodulation的缩写,英文意思是脉冲位置调制。在上个世纪,航模领域中主要使用这种信号作为遥控器的主要无线通信协议,后来被用于教练线和模拟器。该信号使用多个脉冲作为一组,并以组为单位周期性发送,通过组内各个脉冲之间的宽度来传输相应通道的舵机控制信息。b)PPM通信协议高电平有效。高电平电压:常见4.8~6V。信号周期:24ms。单个脉冲宽度:0.4ms脉冲间距:0.9ms至2.1ms4.S.busa)什么是S.busS.bus,可能是Smart-BUS的简称,即智能总线。

6、该总线是日本Futaba公司自己使用的专用总线协议。该协议有两个特点:一个是数字化,一个是总线化。数字化是指的该协议使用现有数字通信接口作为通信的硬件协议,使用专用的软件协议,这使得该设备非常适合在单片机系统中使用,也就是说适合与飞控连接。这也就是我为什么要将这个协议详细叙述的原因,我认为使用PX4飞控是离不开这种纯数字的通信协议的。另外在其硬件协议中使用了数据校验增加抗干扰能力。总线化指的是一个数字接口可以连接多个设备,这些设备(主要是舵机和电调)通过Hub与一个S.bus总线连接,并能够得到各自的控制信息。如下图所示:b)S.bus硬件协

7、议S.bus使用RS232C串口的硬件协议作为自己的硬件运行基础。使用TTL电平,即3.3V。使用负逻辑,即低电平为“1”,高电平为“0”。波特率:100000(100k),注意:不兼容波特率115200。c)S.bus软件协议每帧数据还有25字节。每字节含有12个比特,使用1个起始位“0”,8个数据位,1个奇校验位(8个数据位中1的数量为奇数则此位为“1”否则为“0”),两个终止位“1”。采用LSBfirst方式发送,即最低有效位(二进制数据右侧)先发。帧头:11110000(二进制),帧尾:00000000(二进制)。数据:从第1数据字节

8、起,到第22字节,一共有数据位176个,它们按照顺序分别是通道1至通道16的舵机控制数据,每个通道占11比特。取值范围是0~2047。第23字节我管它叫做“功能字节

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。