Skip to content

PWM 与执行器

本页覆盖三个 PWM 输出:舵机控制、蜂鸣器发声和 BMI270 加热。三者都使用定时器比较输出,但频率、负载特性和安全边界完全不同,不能复用同一组参数。

PWM 参数关系

text
PWM frequency = timer_clock / ((PSC + 1) × (ARR + 1))
duty_cycle ≈ CCR / (ARR + 1)

先确定定时器实际输入时钟,再选择便于计算的计数频率,最后配置 ARRCCR。APB 预分频不为 1 时,注意定时器时钟可能为 APB 时钟的 2 倍。

舵机接口

舵机信号由 PB8 / TIM4_CH3 输出。3Pin 接口从原理图针脚 1 到 3 分别为 GND、5 V、Signal。

舵机接口位置

PB8 舵机接口在板卡上的位置与方向

舵机接口原理图

H5:Pin 1 GND、Pin 2 +5V、Pin 3 PB8

H5 针脚信号说明
1GND舵机地,与控制信号共地
2+5V板上 5 V 电源
3SignalPB8 / TIM4_CH3

常见位置舵机使用 50 Hz(20 ms 周期),脉宽约 0.5~2.5 ms 对应角度范围;实际中心点、端点和允许电压必须查舵机规格书。

大电流舵机不要直接拖垮整板电源

反接 5 V/GND 会损坏舵机。堵转电流较大的舵机应使用独立稳压电源,并将电源地与开发板 GND 可靠共地;首次调试先限制角度范围,避免机械卡死。

无源蜂鸣器

蜂鸣器由 PB9 / TIM4_CH4 控制。原理图包含三极管驱动和保护器件,MCU 不直接承担蜂鸣器电流。

蜂鸣器位置

板载无源蜂鸣器位置

蜂鸣器驱动原理图

PB9 经耦合与三极管驱动蜂鸣器

频率决定音调,占空比影响驱动强度。原理图标注器件基准约为 2.7 kHz,说明书建议先使用约 20% 占空比;播放旋律时应非阻塞地更新频率和时长,避免长时间 HAL_Delay 阻塞控制任务。

BMI270 加热输出

PA1 / TIM2_CH2 经过 MOSFET 控制 BMI270 附近的并联加热电阻。加热的目的不是“越热越好”,而是让 IMU 温度稳定在高于环境温度的固定工作点,降低零偏随环境变化。

BMI270 与加热电路原理图

左侧为 PA1 加热驱动,右侧为 BMI270 SPI 电路

禁止开环满功率加热

必须读取温度、限制最大占空比并处理传感器失效。禁止让 PA1 持续 100% 占空比输出;调试闭环时从较低功率上限开始,并设置过温立即关断。

推荐验证顺序

  1. 不接负载,用示波器确认 PWM 频率和占空比。
  2. 蜂鸣器先用低占空比短时发声。
  3. 舵机先独立供电、共地,并从中心脉宽开始。
  4. IMU 加热先验证温度采样,再启用带限幅的闭环控制。

继续学习:L2 定时器与 PWMPWM LEDPWM 蜂鸣器

最近更新