[驱动开发篇] PWM 驱动原理解析
一. PWM(脉冲宽度调制)通用原理详解
本章节主要是针对PWM的原理进行介绍;如果是对具体使用感兴趣的可以关注后序的:[驱动开发篇] PWM驱动开发 - 具体应用篇
PWM(脉冲宽度调制)是通过控制数字信号的通断时间比例来模拟连续变化的模拟信号的技术。其核心原理在所有芯片和项目中都通用,无论是微控制器、电源管理还是电机控制。
1.1、PWM基础原理
1.1.1. PWM波形结构
一个PWM周期:
┌───────────┬───────────┐
│ 高电平 │ 低电平 │
└───────────┴───────────┘
▲ ▲ ▲
0 t_on T
- 周期(T):完成一次完整波形的时间(频率f=1/T)
- 占空比(D):高电平时间占周期的比例(D = t_on / T)
1.1.2. 核心控制方程
等效输出电压: V_avg = D × V_cc
V_cc = 电源电压
D = 占空比(0.0-1.0)
1.2、通用实现原理(硬件无关)
1.2.1. PWM生成基本组件
组件功能:
- 计数器:以固定频率从0递增到最大值
- 比较器:实时比较计数器和预设值
- 输出规则:
- 计数器 < 预设值 → 输出高电平
- 计数器 ≥ 预设值 → 输出低电平
1.2.2. 参数关系公式
频率(f) = 时钟频率 / (计数最大值 + 1)
占空比(D) = 预设值 / (计数最大值 + 1)
分辨率(R) = log₂(计数最大值 + 1) bit
1.2.3. 计数模式(所有芯片通用)
模式 | 工作方式 | 优点 | 应用场景 |
---|---|---|---|
边沿对齐 | 0→Max,单次比较 | 实现简单 | 普通控制 |
中心对称 | 0→Max→0,两次比较 | 对称性好 | 低噪声应用 |
非对称 | Min→Max,单次比较 | 精度高 | 电源管理 |
1.3、PWM控制机制(通用模型)
1.3.1. 开环控制(基础模式)
输入信号 → PWM生成器 → 功率驱动 → 负载
1.3.2. 闭环控制(高级模式)
常用控制算法:
- P控制:简单快速
- PI控制:消除静差
- PID控制:综合优化
1.4、通用应用原理
1.4.1. 功率控制(恒定量控制)
功率 = 电压 × 电流 × 时间
通过调节占空比直接控制能量输出
1.4.2. 数模转换(DAC替代)
模拟输出 = V_ref × (t_on / T)
需加RC低通滤波器:
Vout = 1/(RC) ∫ Vpwm dt
1.4.3. 波形合成
任意波形 = 不同占空比的PWM序列组合
1.4.4. 多相协调
应用场景:
- 多相电源管理
- 电机相序控制
- 谐波消除
1.5、关键设计考量(通用原则)
1.5.1. 频率选择原则
应用类型 | 推荐频率范围 | 选择依据 |
---|---|---|
LED调光 | 100Hz-1kHz | 避免频闪 |
电机控制 | 5kHz-20kHz | 高于可听频率 |
电源转换 | 50kHz-2MHz | 效率/体积平衡 |
1.5.2. 分辨率设计
最小占空比步长:
ΔD_min = 1 / (2^N - 1)
N=分辨率位数
1.5.3. 死区控制(关键安全机制)
必要场景:
- 半桥/全桥电路
- 推挽输出
- 任何存在直通风险的拓扑
1.6、通用数学原理
1.6.1. 傅里叶分析
任意PWM波形可表示为:
V(t) = A0 + Σ[An·cos(nωt) + Bn·sin(nωt)]
其中基波分量:
A0 = D·Vcc
A1 = (2Vcc/π) · sin(πD)
1.6.2. 谐波含量
总谐波失真(THD) ∝ 1 / (开关频率)
高频PWM可显著降低谐波干扰
1.7、实际应用示例(通用原则)
1.7.1. LED调光
亮度 ∝ 占空比
人眼感知曲线:
亮度(L) ≈ (D)^γ, γ≈2.2(伽马校正)
1.7.2. 电机控制
扭矩 ∝ 平均电压
速度 ∝ 平均电压 - 反电动势
1.7.3. 开关电源
输出电压(Vo) = D × Vin
降压转换:D < 1
升压转换:D > 1
1.8、通用设计公式
1.8.1. 占空比计算
D = (Vo / Vin) (降压)
D = 1 - (Vin / Vo) (升压)
1.8.2. 电感选择(开关电源)
L_min = [Vin × (Vo - Vin)] / (f × ΔI × Vo)
1.8.3. 纹波计算
ΔV ≈ (Vin - Vo) × D / (8 × f² × L × C)
1.9、高级拓扑原理
1.9.1. 空间矢量PWM(SVPWM)
/ \
/ \
/ 110 \
--------
| 111 |
--------
\ 101 /
\ /
\ /
优化原理:
- 最大化电压利用率
- 降低谐波失真
- 提高系统效率
1.9.2. 移相控制
┌────────────┐
│ 周期T │
└─────┬──────┘
┌─────┴─────┐
PWM1: │ 100% │
└─────┬──────┘
│ 延迟时间Δt
┌─────┴─────┐
PWM2: │ 100% │
└────────────┘
功率控制因子: α = Δt / T
应用:相控电源、无线充电
二、总结
PWM的核心原理可以概括为:
- 时间分割:将连续时间划分为离散周期
- 占空比调制:通过控制每个周期内导通/断开的比例
- 能量平均:负载响应对时间平均功率的积分
- 硬件无关性:原理适用于从8位MCU到FPGA的所有平台
无论芯片如何实现(硬件PWM外设、软件GPIO模拟、CPLD逻辑),PWM的基本原理都是通过控制固定周期内高低电平的时间比例,将数字开关信号转换为等效的模拟控制量。这种技术的强大之处在于其数学原理和物理本质的普遍适用性。