1. PWM原理与工程本质
PWM(Pulse Width Modulation,脉宽调制)不是一种“波形类型”,而是一种数字域实现模拟量控制的工程方法。在嵌入式系统中,它本质上是利用数字信号的时序特性,在时间维度上对能量进行离散化分配,从而在物理设备上产生等效的连续控制效果。这种控制方式不依赖于DAC输出的模拟电压,而是通过高速开关动作配合负载的物理惯性,达成对平均功率的精确调控。
理解PWM必须跳出“波形生成”的表层认知,深入其物理实现基础:控制对象必须具备低通滤波特性和能量存储能力。LED灯的余晖效应、直流电机的机械转动惯量、加热元件的热容特性——这些都不是电路设计中的“缺陷”,而是PWM得以成立的物理前提。没有这些特性,PWM输出的只是高频开关噪声,无法形成稳定的控制效果。
因此,PWM配置的核心逻辑从来不是“如何让GPIO翻转”,而是“如何构建一个与被控对象动态特性相匹配的能量调度策略”。周期(Period)决定开关频率,占空比(Duty Cycle)决定单位周期内能量注入比例,而频率的选择则直接受限于负载响应能力和系统EMI约束。
1.1 周期与频率:开关节奏的工程权衡
周期T定义为一个完整PWM循环的时间长度,单位为微秒(μs)或毫秒(ms)。频率f = 1/T,单位为赫兹(Hz)。在STM32中,该参数由定时器(TIMx)的自动重装载寄存器(ARR)和时钟源共同决定:
// 以TIM3为例,假设APB1总线时钟为36MHz,预分频器PSC=35 htim3.Instance = TIM3;