一、PWM基础概念:什么是PWM、PWM的应用场景、C2000系列DSP概述
各位同学好,我是老张。搞嵌入式电源和电机控制十几年了,今天咱们来聊聊PWM。
说实话,PWM这东西,你看着简单——不就是高低电平来回切换嘛。但真正用好它,里面门道不少。我刚开始做电机驱动那会儿,就因为PWM频率没选对,电机嗡嗡响得像要散架。嗯,从那以后我才认真琢磨这玩意儿。
1.1 什么是PWM?
PWM,全称Pulse Width Modulation,中文叫脉冲宽度调制。说白了,就是通过调节脉冲的宽度,来模拟一个连续变化的模拟量。
你想想看,数字信号只有0和1,但很多设备需要的是连续电压。比如让LED灯从暗到亮,或者让电机从慢到快。怎么办?
PWM的思路很简单:
- 固定频率,快速开关
- 改变高电平持续的时间(占空比)
- 通过低通滤波,得到等效的模拟电压
核心公式:
等效电压 = Vcc × 占空比
占空比 = Ton / T × 100%
其中Ton是高电平时间,T是周期
举个例子。5V供电,占空比50%,等效电压就是2.5V。占空比75%,等效电压3.75V。就这么简单。
我在项目中遇到过有人问:为什么不用真正的DAC?原因很简单——成本。PWM几乎不增加硬件成本,一个定时器加一个比较器就搞定了。而DAC芯片,便宜的也要几块钱。
1.2 PWM的关键参数
搞PWM,三个参数你必须吃透:
| 参数 | 说明 | 我的经验 |
|---|---|---|
| 频率 | 每秒开关次数,单位Hz | 电机控制一般用10kHz-20kHz,避开人耳可听范围 |
| 占空比 | 高电平时间占比,0%-100% | 注意死区时间,别让上下管直通 |
| 分辨率 | 占空比可调节的精细程度 | C2000的HRPWM能做到150ps级,非常强悍 |
小提示:频率不是越高越好。频率高了,开关损耗大,发热严重。我一般先看负载特性,再选频率。电机用10kHz,LED调光用1kHz就够了。
1.3 PWM的应用场景
PWM的应用太广了。我随便列几个:
- 电机控制:直流无刷电机、步进电机、伺服电机,都靠PWM调速
- 开关电源:Buck、Boost、Flyback,核心就是PWM
- LED调光:手机屏幕亮度、路灯调光,全是PWM
- 音频放大:D类功放,本质就是PWM加滤波
- 加热控制:电烙铁、3D打印机热床,PWM控温
我个人习惯把PWM应用分成两类:
- 功率控制类:电机、电源、加热。关注效率和纹波。
- 信号生成类:音频、通信。关注精度和失真。
两类对PWM的要求完全不同。做电源的,更看重死区时间和互补输出。做音频的,更看重分辨率和抖动。
1.4 C2000系列DSP概述
好了,聊完PWM本身,咱们说说为什么选C2000。
TI的C2000系列,说白了就是专门为实时控制设计的DSP。它跟普通MCU最大的区别在哪?
- PWM外设强大:ePWM模块,16位计数器,支持死区、相位同步、故障保护
- HRPWM:高分辨率PWM,精度可达150ps。我做过一个项目,要求PWM频率100kHz,占空比精度0.01%,普通MCU根本做不到,C2000轻松搞定
- ADC触发:PWM事件可以直接触发ADC采样,实现真正的同步采样
- CLA协处理器:可以并行处理控制算法,不占用主CPU时间
注意:C2000不是通用MCU。它的强项是实时控制,不是跑Linux或者做人机交互。选型时别搞错了。
常见的C2000系列包括:
| 系列 | 特点 | 典型应用 |
|---|---|---|
| F2800x | 入门级,性价比高 | 数字电源、简单电机控制 |
| F2837x | 双核,性能强悍 | 伺服驱动、逆变器 |
| F28004x | 集成FPU,CLA协处理器 | 家电变频、汽车电子 |
我记得第一次用C2000做三相电机控制,看到它的ePWM模块能同时输出6路互补PWM,还带硬件死区插入,当时就觉得——这才是干活的工具。
1.5 本章知识体系
下面这张图,是我自己画的PWM知识体系。你看一遍,心里就有谱了。
这张图把PWM的核心要素串起来了。你记住:参数是基础,应用是目标,C2000是工具。后面每一章,都会围绕这张图展开。
我的建议:初学者先别急着看代码。把PWM的物理意义搞明白——频率怎么选、占空比怎么算、死区为什么需要。这些基础打牢了,后面写代码就是水到渠成的事。
好,第一章就到这里。内容不多,但都是干货。下一章咱们直接上手C2000的ePWM模块,看看寄存器怎么配,波形怎么出。