esp32的pwm输出
pwm又叫脉冲宽度调制,对一系列脉冲的宽度进行调制,来等效出不同的模拟信号效果,常用电机控制等领域,也可以简要充当外部元件的时钟线。注意的是pwm需要用在具有一定惯性的系统中。
一、PWM介绍
pwm又叫脉冲宽度调制,对一系列脉冲的宽度进行调制,来等效出不同的模拟信号效果,常用电机控制等领域,也可以简要充当外部元件的时钟线。注意的是pwm需要用在具有一定惯性的系统中。
pwm的重要参数:占空比,分辨率,频率
1.占空比
占空比是高电平时间占一个脉冲周期的的比例,一般来说,占空比越大,所传递的能量也越大
2.频率
频率是一个脉冲周期时间的倒数,描述pwm脉冲的快慢,有时候不同的电机和舵机对pwm的频率是有严格要求的。
3.分辨率
分辨率决定着高电平的变化步距,比如说分辨率为10,周期为100ms,那么调节一次高电平,高电平的时间就是变化10ms,越高的分辨率对高电平的调控越细致。
考虑到如果pwm的时钟频率发生改变,那么周期也会变化,占空比也会变化,不方便实际调整,所以在esp32s3内部,占空比的计算公式为(duty / duty_resolution)*100%,其中duty为高电平所占的分辨率切分数量。
二、ESP32S3的PWM内部架构
基本信息

esp32中有两种pwm模式:LED PWM和MC PWM,其中前者主要用于led的调光和一些低速控制,后者主要用于工业场景下的电机控制
| 特性 | LEDC(普通 PWM) | MC PWM(电机控制 PWM) |
|---|---|---|
| 核心目标 | 通用调光、低速执行器控制 | 高精度电机驱动、功率电子变换 |
| 关键功能 | 基础频率 / 占空比调节 | 相位控制、死区生成、同步触发、故障保护、捕获 |
| 通道结构 | 单通道独立输出 | 按 “定时器 + 操作器 + 发生器” 分层,支持互补输出 |
| 死区控制 | 无(需软件模拟) | 硬件级死区(防止上下桥臂直通短路) |
| 同步 / 触发 | 无 | 支持 ADC 触发、外部 GPIO 触发、定时器同步 |
| 捕获功能 | 无 | 支持脉冲捕获(测转速、霍尔信号) |
| 适用场景 | LED 调光、简易舵机、低速电机 | BLDC / 步进电机、逆变器、伺服驱动、工业控制 |
我们主要讲解更为常用的ledpwm.
配置框图

补充说明:PWM生成器中的选择器1是控制高低电平翻转的(为0时不变,为1时电平翻转),选择器2是使能pwm信号的。
补充

一般情况下,可以配置hpoint为0,然后Ipoint的值esp会根据前面的分辨率和占空比自动计算。

当然频率的配置和分辨率是有一定关系的,这是官方文档给出的表格
三、代码实现
看我下一章的电机驱动。
更多推荐



所有评论(0)