当前位置:底盘 >> 行业资讯    

使用PPM信号遥控电机驱动开发机器人小车

编辑:创泽底盘      发布时间:2022/9/6      来源:COONEO

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