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

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

三、代码实现

看我下一章的电机驱动。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐