PWM脉冲宽度调制的点滴总结
供稿:hz-xin.com 日期:2025-05-22
PWM的全称是脉冲宽度调制(Pulse-width modulation),它通过将有效的电信号分散成离散形式,以降低电信号所传递的平均功率。通过改变脉冲的时间宽度,可以等效地获得所需合成的幅值和频率波形。PWM使用一个脉冲宽度被调制的方波,波型的平均值会有所变化。一个周期为T的脉冲波,低值V1,高值为V2,跟占空比D(duty cycle),波的平均值为V_avg = (D * V1 + (1-D) * V2) / T。当D是一个脉冲波,其值在时间T的前半部分为V1,在后半部分为V2。公式可以简化为V_avg = (D * V1 + (1-D) * V2) / T。从这里可以看出,波型的平均值与占空比D直接相关。
PWM的实现原理是通过锯齿波(载波)与所需合成波形进行比较,确定PWM输出的极性,通常是ON或OFF,作用于开关元器件上。振荡器输出的锯齿波与参考值进行比较,输出PWM波形。在MATLAB的Simulink中可以搭建仿真,具体步骤为振荡器输出的锯齿波与参考值比较,输出PWM波形。通过设置需要调制的波形为斜坡输出,可以实现电压逐渐升高的波形输出。调制出正弦波sin wave即为SPWM,这可以通过设置载波波形为正弦波实现。
基于STM32配置PWM,载波波形可能有以下两种情况:中央对齐PWM,脉冲波中心固定在时间窗格中心,波的宽度可延伸或压缩;另一种类型,具体形状如图所示。
现在的MCU大多内置硬件PWM发生器,配置相应寄存器即可产生PWM。以NUCLEO-F767ZI为例,通过Cubemx配置三路PWM输出,实现呼吸灯效果。观察示波器中的PWM输出波形,可以看到占空比随时间变化。
本文简要介绍了PWM原理、生成方法及STM32程序实现。通过锯齿波与调制波比较产生PWM输出,结合实例展示了PWM在硬件和软件层面的应用。相互交流,共同进步,期待您的关注。
PWM的实现原理是通过锯齿波(载波)与所需合成波形进行比较,确定PWM输出的极性,通常是ON或OFF,作用于开关元器件上。振荡器输出的锯齿波与参考值进行比较,输出PWM波形。在MATLAB的Simulink中可以搭建仿真,具体步骤为振荡器输出的锯齿波与参考值比较,输出PWM波形。通过设置需要调制的波形为斜坡输出,可以实现电压逐渐升高的波形输出。调制出正弦波sin wave即为SPWM,这可以通过设置载波波形为正弦波实现。
基于STM32配置PWM,载波波形可能有以下两种情况:中央对齐PWM,脉冲波中心固定在时间窗格中心,波的宽度可延伸或压缩;另一种类型,具体形状如图所示。
现在的MCU大多内置硬件PWM发生器,配置相应寄存器即可产生PWM。以NUCLEO-F767ZI为例,通过Cubemx配置三路PWM输出,实现呼吸灯效果。观察示波器中的PWM输出波形,可以看到占空比随时间变化。
本文简要介绍了PWM原理、生成方法及STM32程序实现。通过锯齿波与调制波比较产生PWM输出,结合实例展示了PWM在硬件和软件层面的应用。相互交流,共同进步,期待您的关注。
PWM脉冲宽度调制的点滴总结
通过改变脉冲的时间宽度,可以等效地获得所需合成的幅值和频率波形。PWM使用一个脉冲宽度被调制的方波,波型的平均值会有所变化。一个周期为T的脉冲波,低值V1,高值为V2,跟占空比D(duty cycle),波的平均值为V_avg = (D * V1 + (1-D) * V2) \/ T。当D是一个脉冲波,其值在时间T的...