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 上翻转电平,适合简单场景,但精度和频率受限。

示例代码:

相关推荐
悠哉悠哉愿意7 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11017 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元7 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133977 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315207 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书7 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Alaso_shuang7 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟7 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126917 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315207 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机