1. PWM的本质:时域与频域的辩证统一
在嵌入式系统开发中,PWM(脉宽调制)是最基础却又最容易被误解的技术之一。很多开发者能熟练配置寄存器生成PWM波形,却说不清为什么改变占空比就能调节电机转速。这就像厨师知道炒菜要放盐,却不明白咸味产生的生化原理。今天我们就从时域与频域的视角,揭开PWM控制效果的底层秘密。
以STM32控制直流电机为例,当我们设置TIM1的ARR=999、CCR=300时,实际产生的是一个周期1ms(假设时钟72MHz)、高电平持续300us的方波。这个描述完全基于时域——横轴是时间,纵轴是电压电平。但电机转速的变化显然不是由离散的0/1电平直接导致,这就引出了频域分析的必要性。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 傅里叶级数:PWM的频域身份证
2.1 方波分解的数学工具
任何周期信号都可以用傅里叶级数表示为基频及其谐波的叠加。对于占空比D、周期T的PWM波,其表达式为:
code复制f(t) = D + Σ(2/(nπ))·sin(nπD)·cos(2πnft)
这个公式揭示了三层关键信息:
- 直流分量(D):决定电机平均电压
- 基波(n=1):频率等于PWM频率
- 谐波(n>1):振幅随n增大而衰减
2.2 实际工程中的频谱特征
用示波器的FFT功能观察1kHz、30%占空比的PWM波,会看到:
- 直流分量:幅值0.3(对应3.3V系统为0.99V)
- 1kHz基波:幅值约0.19
- 3kHz谐波:幅值约0.06
- 5kHz谐波:幅值约0.04
实测技巧:普通示波器的FFT分辨率有限,建议用信号分析仪或软件模拟(如Python的numpy.fft)
3. 负载响应:频域到时域的转换器
3.1 电机作为低通滤波器
直流电机的电枢电感与换向片构成天然的低通特性,其传递函数可简化为:
code复制H(f) = 1 / √(1 + (f/fc)^2)
其中截止频率fc通常为几十Hz。这意味着:
- 直流分量:完全通过→产生恒定转矩
- 1kHz基波:衰减约60dB→几乎无影响
- 高频谐波:完全滤除→转化为热损耗
3.2 动态响应过程分解
当占空比从30%突变到70%时:
- 频谱变化:直流分量0.3→0.7
- 电机转速响应:
- 初始阶段:电枢电流按L/
