一、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会根据前面的分辨率和占空比自动计算。

当然频率的配置和分辨率是有一定关系的,这是官方文档给出的表格

三、代码实现

看我下一章的电机驱动。

更多推荐