一、接收机的使用
接收机可以直接用来控制舵机、电调(有刷或无刷),同时也可以通过特定的通信协议与单片机通信,单片机再进行对外围设备的控制。
实事上,舵机、电调内部也都有单片机,接收机控制舵机、电调也是通过与其内部的单片机通信来实现的。
二、接收机的三种标准通信协议
1.PWM
PWM的通信协议广泛用于接收机与舵机、电调的控制,网络上关于其具体形式描述不一,这里以遥控器的实测波形为准,来介绍“一种” “通用”的PWM控制协议。
首先如图1硬件接线,用示波器来看通道3(油门遥杆)的波形:
可以看到波形图2:
发现图2波形为普通PWM波,周期约18ms,频率约55Hz,可以近似看作20ms、50Hz。
将其中一个波形放大如图3所示:
图中高电平时间为1ms,拔动遥杆发现高电平时间会随之改变:
实际测量得到高电平的变化范围在1~2ms之间,域宽1ms。则这1ms的差值可以控制舵机0~180度转动,也可以控制电机静止到满油门的转速。
2.SBUS
SBUS协议与串口通信协议极其相似。实际使用时可以通过电平反向电路将其转化为标准串口信号,这样,就可以用单片机的一个串口来与接收机直接通信啦!
2.1 SUBS信号的波形
使用示波器来显示接收机SBUS信号的波形,探测结果如图2.1、2.2所示。SBUS原始信号发送的频率约为70Hz。
2.2 转化为标准串口信号
其实原理很简单。如图2.3.1为需要的电平反向电路,原始的SBUS信号经过 该电路转换,咻!就变成了标准的串口通信信号。其实物就长图2.3.2的样子。
此时用示波器检测输出信号,得到结果如图2.4、2.5
2.3 上位机查看输出信号
到这里,我们就可以使用串口与接收机正常通信了。这里先用上位机来进行显示。如图2.6, 注意,经处理后的SBUS标准串口信号 的参数为:
波特率:100000(5个零哦)
数据位:8位
停止位:2位
偶校验
无硬件流控制
能同时设置辣么多参数的上位机不好找,这里用到了野火的串口助手,结果如图2.6、2.7
当然,接收完成SBUS数据帧后不要进一步进行解析,从而得到每个通道的值。原理不再赘述,文后附有SBUS转PPM的PCB电路、程序,使用的是Stm32C8T6