STM32 PWM驱动电机

  1. PWM 基本原理

PWM 是一种周期性的数字信号,频率固定,但高电平(ON)和低电平(OFF)的时间比例(占空比)可调。

占空比 = 高电平时间 ÷ 周期

占空比越高 → 平均输出电压越高 → 电机转速越快

占空比越低 → 平均输出电压越低 → 电机转速越慢

  1. 在电机驱动中的作用

  2. 控制速度

直流电机(DC Motor)两端的平均电压决定转速。

STM32 定时器产生 PWM → 经过电机驱动芯片(如 L298N、TB6612)→ 调节电机电压。

占空比 0% → 电机停转;100% → 全速运转。

  1. 控制方向

PWM 信号只控制"速度",方向由 GPIO 电平组合决定(正转/反转)。

驱动芯片根据两个逻辑输入决定 H-bridge 桥臂导通方向。

  1. 实现软启动/制动

缓慢增加占空比 → 电机平稳启动,避免电流冲击。

占空比突然降到 0 → 电机会因惯性继续转,但此时可利用驱动芯片进行电制动。

  1. 伺服电机/步进电机控制

舵机(Servo)用固定周期(通常 20ms)的 PWM,脉宽 0.5ms~2.5ms 对应不同角度。

步进电机可结合 PWM 控制细分驱动,实现更平滑、高精度的转动。

  1. STM32 实现 PWM 的方法

硬件 PWM:用定时器(TIM)的 PWM 模式,设置 ARR (周期)和 CCR (占空比),输出到特定引脚。

软件 PWM:用定时器中断在 GPIO 上翻转电平,适合简单场景,但精度和频率受限。

示例代码:

相关推荐
shimly12345621 分钟前
(done) 嵌入式硬件电路图 (11) 用 AI 看电路图与总结
嵌入式硬件
shimly12345632 分钟前
(done) 嵌入式硬件电路图 (12) 学习总结与工作建议
嵌入式硬件
威嵌神州19 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Zw-awa1 天前
MPU6050:从原始加速度到姿态变化
stm32
少司府1 天前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
shimly1234561 天前
(done) 嵌入式硬件电路图 (8) 获取芯片手册信息
嵌入式硬件
Zwawa1 天前
让屏幕动起来:OLED动画效果,丝滑光标、帧动画和一只贪吃蛇
c语言·单片机·嵌入式
简单电磁炮1 天前
FWD八位单片机调试问题
单片机·嵌入式硬件
shimly1234561 天前
(done) 嵌入式硬件电路图 (6) 重要的元器件特性之MOS管
嵌入式硬件
菥蓂寻生2 天前
STM32移植到GD32中以105为例
stm32·单片机·嵌入式硬件