![]() |
|
PPM信号可以简单理解为由多个PWM信号综合成为一帧信号的形式,即多个PWM信号通过组合成PPM信号串行输出。 一般一帧的PPM信号里Z多包含10个PWM信号,但实际应用中由于同步帧的存在,所以一帧的PPM信号里Z多有9个PWM信号数据。 每帧PPM信号的数据总长度固定不变,周期为20ms。 每一帧PPM信号中的PWM信号周期为0~2ms,而其中低电平脉宽固定为0.5ms,G电平的脉宽为0.5ms ~ 1.5ms。 使用STM32读取PPM的数据 根据PPM信号的格式,可以通过两种方法读取到其中每个PWM的信息: 使用STM32的外部中断,当触发外部中断定时器进行计数,读取定时器的计数值便可以获得每个PWM的脉宽 使用STM32的定时器,利用定时器的输入捕获功能,测量每个PWM的脉冲宽度 其实两种读取PPM数据的方法本质上相同,都是通过统计下降沿或上升沿的方法统计脉冲,并利用定时器的计数功能获得G低电平的脉宽。 注意:若使用定时器的输入捕获功能读取PPM信号数据,则需要留意其他使用同一定时器外设将不能正常工作,例如在控制板上遥控接收器接口使用了定时器3的输入捕获功能,则同样使用到定时器3作为编码器模式的电机将不能正常读取编码器的脉冲值,需选择使用其他电机接口或改变PPM的读取方式。 以下展示的配置为使用外部中断的方式进行读取PPM数据,使用定时器输入捕获方式的代码可参考例程文件中的注释内容 STM32CubeMX中的配置:将遥控对应的STM32引脚设置为外部中断模式,并选择定时器7作为计数,同时使能定时器的中断
读取PPM具体实现代码:
将程序通过SWD下载到控制板,使用乐迪T8S遥控器配套的接收机,连接到板上的遥控接口,注意使用接收机时使用的是接收机上的PPM输出接口,然后通过乐迪遥控的配置方式,将接收器配置为PPM模式,然后打开遥控器开关进行对码,成功连接后打开串口调试助手,就可以看到各个通道的值啦!
|
| 推荐信息 |
| »机器人控制电机串口通信的数据协议 |
| »STM32CubeMX配置及测速驱动代码 |
| »两轮四轮差速及阿克曼移动底盘设计转向机器人/小车 |
| »动手实现一台阿克曼ROS小车 |
| »四轮驱动机器人的转向方式是什么 |
| »全向轮运动模型规律-量化分析三个全向轮转速与移动平台中心点运动速度的关系 |
| »三轮全向轮移动平台坐标系说明示意图 |
| »麦克纳姆轮运动速度分解-麦轮平台运动学模型分析 |
| 版权所有 © 北京创泽智慧机器人科技有限公司 地址:北京 清华科技园C座五楼 电话:4006-937-088 京ICP备20010582号-2 |