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,你就掌握了无人机驱动的钥匙。