1. PWM基础:什么是PWM?PWM的频率与占空比,PWM在无人机中的角色
各位同学好,我是老张。今天咱们聊聊PWM——这个在无人机飞控里天天打交道的信号。说实话,我刚开始接触无人机那会儿,也被PWM搞得一头雾水。后来踩了不少坑,才真正搞明白它到底是怎么回事。
1.1 什么是PWM?
PWM,全称是Pulse Width Modulation,中文叫脉冲宽度调制。说白了,就是用一串方波信号去模拟一个模拟量。
你想想看,单片机或者飞控芯片输出的数字信号,要么是0V,要么是3.3V或5V。但电机需要的是连续变化的电压,比如1.5V、2.8V。怎么办?PWM就是解决方案。
核心思想很简单: 通过快速开关信号,让负载感受到的平均电压发生变化。开关开的时间长,平均电压就高;开的时间短,平均电压就低。
PWM信号的本质: 一个周期内,高电平时间占总周期的比例,决定了等效输出电压。
公式:V_avg = V_max × 占空比
举个例子。5V的电源,如果50%的时间是高电平,50%是低电平,那负载感受到的平均电压就是2.5V。嗯,就是这么个道理。
1.2 PWM的频率与占空比
这两个参数是PWM的核心。我建议你先把它们刻在脑子里。
频率
频率就是一秒钟内PWM信号重复了多少个周期。单位是Hz。
- 低频(50Hz左右): 常用于舵机控制。我记得第一次调舵机时用了1kHz,结果舵机吱吱叫,后来才发现标准是50Hz。
- 中频(1kHz-10kHz): 早期电调常用这个范围。
- 高频(10kHz-50kHz): 现代无刷电机驱动的主流。频率高了,电机运转更平滑,噪音也小。
我的经验: 无人机电机驱动一般选16kHz左右。太低会有可听见的噪音,太高会增加MOS管的开关损耗。16kHz是个不错的平衡点。
占空比
占空比就是高电平时间占整个周期的百分比。范围0%到100%。
| 占空比 | 等效电压(5V系统) | 电机状态 |
|---|---|---|
| 0% | 0V | 停止 |
| 25% | 1.25V | 低速旋转 |
| 50% | 2.5V | 中速 |
| 75% | 3.75V | 高速 |
| 100% | 5V | 全速 |
为什么会这样?因为电机线圈有电感,它会平滑掉PWM的开关波形,最终感受到的就是平均电压。
1.3 PWM在无人机中的角色
在无人机系统里,PWM无处不在。我简单列几个关键应用场景:
1. 电机速度控制
这是最核心的应用。飞控芯片计算出每个电机需要的转速,然后输出四路PWM信号给电调。电调再根据PWM的占空比控制电机转速。
// 伪代码示例:飞控输出PWM控制电机
void setMotorSpeed(uint8_t motor_id, uint16_t throttle) {
// throttle范围:1000-2000us(标准PWM脉宽)
// 1000us = 停止,2000us = 全速
PWM_SetPulseWidth(motor_id, throttle);
}
2. 舵机控制
无人机上的云台、起落架、投掷机构等,都用舵机。舵机的PWM频率固定为50Hz,脉宽范围1ms-2ms对应0°-180°。
注意: 千万不要把电机PWM和舵机PWM搞混!电机PWM频率高(kHz级),舵机PWM频率低(50Hz)。我曾经在项目里把舵机接到了电机PWM输出上,结果舵机直接烧了...嗯,交学费了。
3. 接收机信号解析
遥控器发出的信号,经过接收机解码后,输出也是PWM信号。飞控需要解析这些PWM信号,获取油门、俯仰、横滚、偏航等指令。
4. LED亮度控制
无人机上的指示灯、夜航灯,也用PWM调光。这个相对简单,频率可以高一些,避免人眼看到闪烁。
1.4 实际项目中的避坑指南
做无人机PWM驱动,有几个坑我替你们踩过了:
- 频率选择要慎重: 不同电调支持的PWM频率不同。买电调前一定看手册,别想当然用默认值。
- 占空比范围要校准: 每个电调的油门行程可能不一样。我习惯在代码里做一次校准,确保1000-2000us对应0%-100%油门。
- 注意信号电平: 飞控一般是3.3V输出,但有些电调需要5V的PWM信号。电平不匹配会导致电机不转或者乱转。
- 死区时间: 驱动无刷电机时,上下桥臂切换需要死区时间。这个在PWM配置里要设置好,否则会烧MOS管。
我的习惯: 每次新项目,我都会先用示波器看PWM波形。频率对不对?占空比线性不?上升沿陡不陡?这些看一眼波形就全明白了。别偷懒,示波器是你的好朋友。
1.5 小结
PWM说白了就是个开关技术,但它在无人机里扮演着核心角色。从电机驱动到舵机控制,从信号解析到灯光调节,处处都有PWM的身影。
下一章我会讲PWM在STM32上的具体配置,包括定时器设置、通道映射、中断处理等实战内容。到时候咱们手写代码,把理论变成能飞的实物。
记住:搞懂PWM,你就掌握了无人机驱动的钥匙。