页面加载中,请稍候
来源:电子工程世界发布时间:2023-01-201519浏览
询问 AI基本原理
PWM是如何实现?
分类
程序实现
总结
PWM的全称是脉冲宽度调制(Pulse-width modulation),是通过将有效的电信号分散成离散形式从而来降低电信号所传递的平均功率的一种方式;
所以根据面积等效法则,可以通过对改变脉冲的时间宽度,来等效的获得所需要合成的相应幅值和频率的波形;
具体如下图所示;

由上图可知,脉冲宽度调制使用一个脉冲宽度会被调制的方波,并且波型的平均值会有所变化。
如果我们考虑一个周期为的脉冲波,低值,高值为,跟占空比(duty cycle),此波的平均值为:
当是一个脉冲波,它的值在是而在是
上式的描述可以变为:
以上公式可以在很多状况下被简化,当及。
从这里可以看出,波型的平均值非常明显地直接与占空比有关。
占空比:
图中存在三种占空比状态,25%,50%和75%占空比状态,不难发现,假设占空比为D,则满足:
其中是PWM的周期,通常和载波的周期相同;
PWM实现的原理是通过锯齿波/三角波(载波)所需要合成的波形(调制波)进行比较,然后确定PWM所需要输出的极性,通常是ON或者是OFF,因为一般都是作用到开关元器件上;如下图所示;
振荡器和比较器振荡器输出的锯齿波和参考值进行比较,然后就可以输出PWM波形了;
在matlab的simulink中搭建了一下仿真,具体如下图所示;
simulink最终输出波形如下:
50%占空比这里简单说明一下:
所以再换一个思路,如果我希望输出一个电压逐渐升高的波形呢,该如何设计呢?
其实很简单,只要把需要调制的波形设置为斜坡输出的波形就可以了,具体如下图所示;
占空比逐渐增大可以看到,最终占空比逐渐从0%增大到100%;
然后我们继续想,能不能调制出其他的波形,比如调制一个正弦波sin wave,那也就是我们常说的SPWM,其实是可以的,具体如下图所示;
SPWM参考STM32中PWM的配置,根据载波波形的形状,假设三角波最大值是10,那么它的变化过程可能存在以下两种情况:
中央对齐PWM
脉冲波的中心将会被固定在时间窗格的中心,同时脉冲波的两边可以移动,使得波的宽度被延伸或压缩,具体如下图所示;
中央对齐PWM另一种类型的PWM脉冲波形如下图所示;

现在的MCU大部分都自带硬件PWM发生器,即配置好相应的寄存器,就能直接产生PWM,下面的例子基于NUCLEO-F767ZI,通过cubemx配置了三路PWM输出,然后实现了呼吸灯的效果;
intmain(void)
{
HAL_Init();
MX_GPIO_Init();
MX_TIM4_Init();
MX_TIM3_Init();
MX_TIM12_Init();
int32_ttime_stamp=0;
int32_ttime_stamp_old=0;
int32_tccr_val=0;
uint8_tadd_flag=1;
HAL_TIM_PWM_Start(htim4,TIM_CHANNEL_2);
HAL_TIM_PWM_Start(htim12,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(htim3,TIM_CHANNEL_3);
while(1)
{
time_stamp=HAL_GetTick();
if(time_stamp-time_stamp_old>5){
time_stamp_old=time_stamp;
if(add_flag){
ccr_val+=25;
if(ccr_val>=0xFFFF){
ccr_val=0xFFFF;
add_flag=0;
}
}else{
ccr_val-=25;
if(ccr_val<=0){
add_flag=1;
ccr_val=0;
}
}
TIM4->CCR2=ccr_val;
TIM12->CCR1=ccr_val;
TIM3->CCR3=ccr_val;
}
}
}
整体效果如下:
呼吸灯通过示波器看其中的一路PWM输出的占空比也是随时间变化;
PWM变化情况本文简单介绍了PWM的原理,以及如何产生PWM,可以通过锯齿波作为载波和调制波经过比较强,产生相应的PWM输出波形,最后结合STM32实现了一个呼吸灯的简单程序。
推荐阅读
干货 | 大电流mosfet的门极驱动峰值电流的计算方法干货|30种EMC标准电路分享,再不收藏就晚了干货 | 详解汽车软件Boot程序的几种自刷新方式干货 | MCU如何实现对外部脉冲信号的计数功能?
添加微信回复“进群”
拉你进技术交流群!
国产芯|汽车电子|物联网|新能源|电源|工业|嵌入式…..
在公众号内回复您想搜索的任意内容,如问题关键字、技术名词、bug代码等,就能轻松获得与之相关的专业技术内容反馈。快去试试吧!


新闻来源:电子工程世界,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-06-01