登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
飞控开发区
›
APM飞控
›
无人机中级篇:第十一讲:遥控器PWM与PPM协议 ...
返回列表
发新帖
查看:
1036
|
回复:
1
无人机中级篇:第十一讲:遥控器PWM与PPM协议
[复制链接]
xjbhrt
xjbhrt
当前离线
积分
1787
窥视卡
雷达卡
58
主题
898
帖子
1787
积分
金牌飞友
金牌飞友, 积分 1787, 距离下一级还需 1213 积分
金牌飞友, 积分 1787, 距离下一级还需 1213 积分
积分
1787
飞币
887
注册时间
2017-8-7
发消息
发表于 2022-10-23 21:41:14
|
显示全部楼层
|
阅读模式
传统的遥控器接收机是采用多路PWM的方式进行输出的,遥控器中有多少个通道,接收机中就有多少路PWM输出,例如下图中的遥控器有6个可用通道,其接收机也有6个PWM输出通道与之对应:
此接收机除了PWM输出之外还有S.BUS协议输出方式,关于S.BUS我们已经在上一节中介绍过了,这里不再赘述。下面我们主要针对PWM信号输出来做讲解。
接收机的1-7个PWM输出通道,都是以PWM的形式输出的,这就需要飞控能够采集并解析这些PWM信号,并为飞控所用。我们知道PWM信号所表示的数值就是高电平持续时间占用整个周期时长的百分比,例如下图所示:
接收机输出的PWM与之前章节中讲述的电调需要接收的PWM完全一致。只不过我们需要使用飞控程序来读取接收机输出的PWM信号值。我们以第一个通道的PWM为例,讲述飞控程序对其处理的具体方法:
(1)检测引脚由低点平变为高电平的时刻,并记录当前时间t0,表示高电平开始;
(2)检测引脚由高电平变为低点平的时刻,并记录当前时间t1,表示高电平结束;
(3)继续检测引脚由低点平变为高电平的时刻,并记录当前时间t2,表示一个PWM周期结束;
(4)计算高电平时常 = t1 - t0;
(5)计算整个PWM周期 = t2 - t0;
(6)计算PWM占空比 = 高电平时常 / PWM周期
在STM32系列中,我们可以为GPIO引脚设置成PWM采集模式,并通过采集寄存器来读取当前PWM的周期和PWM占空比。
每一个遥控器通道都需要一个PWM采集器进行采集,但是对于STM32来说不可能使用多个定时器来采集多个通道的PWM,这对于STM32的资源来说十分浪费。因此采用的就是PPM编码。PPM编码是PWM的扩展协议,可以在一个管脚中传输多路PWM信号。
PPM的频率通常是50Hz,周期长度20ms,每一个周期中可以存放最多10路PWM信号,每一路PWM的周期为2ms,如下图所示:
使用STM32的管脚中断配合定时器中的计数可以准确的捕获一个周期内的PPM信号中的高低电平变化,每2ms就是一路PWM信号的周期。
无人机
,
PWM
,
遥控器
,
第十一
,
PPM
相关帖子
•
无人机换电芯后为什么充不上电?
•
无人机的特点
•
无人机电调全技术解析:从电路设计、控制原理到运维实战
•
大疆t100无人机参数
•
大疆无人机如何开启跟拍模式功能
•
无人机概念股有哪些龙头股票
•
无人机专业就业前景如何?
•
开箱DJI FPV无人机——集航拍与穿越于一身,具急刹悬停功能
•
FPV无人机和一般的无人机有什么区别?
•
大疆无人机开关机顺序是什么?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
maoyonglai
maoyonglai
当前离线
积分
1419
窥视卡
雷达卡
460
主题
499
帖子
1419
积分
金牌飞友
金牌飞友, 积分 1419, 距离下一级还需 1581 积分
金牌飞友, 积分 1419, 距离下一级还需 1581 积分
积分
1419
飞币
919
注册时间
2017-8-4
发消息
发表于 2022-10-23 21:48:28
|
显示全部楼层
PPM信号的每一路并不是固定2mS周期的,而是用周期代表信号宽度,即高低电平加起来算周期。并行PWM才是固定周期,用高电平脉宽算信号宽度。这点破事调试了好几天才发现。
回复
支持
反对
使用道具
举报
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
模拟器
穿越机与FPV应用
无人机电池
快速回复
返回顶部
返回列表