引:
以前听到PWM这次词最多的地方是液晶显示器,知道PWM是来调节LED背光的一种技术。但对其工作方式和原理一无所知,这次一个应用案例恰好用到了PWM技术,所以有了这几篇学习笔记。
作为嵌入式软件开发人员,很多时候写代码其实可以不用关心硬件的工作原理,照着手册和度娘搜索到的范例就可以。有些芯片(比如STM32)甚至提供了应用库,软件开发人员可以不用和直接和寄存器打交道也可以完成应用的开发。但作为一个想全面而深入发展的码农,不懂硬件原理而去”弄“出一个和硬件相关的应用是不可接受的。
先学习下PWM的原理吧,友情感谢那本在柜角积灰的《ARM嵌入式接口技术应用》,虽然是ARM7的,但PWM的原理是一样的。
正文:
PWM是Pulse Width Modulation的缩写,中文是脉冲宽度调制。是一种对模拟信号进行数字编码的方法。
PWM的原理简单说就是通过一系列脉冲的宽度进行调制,可以等效地获得所需要的波形。
这个”等效“的原理是基于采样定理的一个结论:冲量(窄脉冲面积)相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同(仅高频部分略有差异)。于是基于这个等效原理,可以用不同宽度的矩形波来代替正弦波,通过矩形波的控制来模拟不同频率的正弦波。
如上图,把正弦波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等; 用矩形波代替则是幅度相等,宽度不等(按正弦规律变化),中点重合,冲量面积相等。
当然PWM也可以等效成其他非正弦波形,基本原理都是等效面积。
PWM是数字信号,在任意时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是一种通或断的重复脉冲序列被加载到模拟负载上去,以数字信号来控制模拟负载。
其中改变脉冲的周期可以达到调频的效果,改变脉冲的宽度或占空比可以达到调压的效果。
PWM的优点:
1.从处理器到被控系统都是数字信号,无需数模转换。
2.数字信号扛干扰性好,噪声只有在强到足以将逻辑1改变为逻辑0或逻辑0改变为逻辑1时候,才能对数字信号产生影响。(从模拟信号转向PWM可以延长通信距离,在接收端通过适当的RC或LC网络滤除高频方波即可以将信号还原为模拟信号)
既然PWM技术这么好,原理也很早就提出了,为什么直到三十年多前才开始广泛应用呢?
原因是以前电子器件发展水平比较低,直到20世纪80年代全控型电子器件的出现和迅速发展,PWM控制技术才真正得到了应用。现在PWM被广泛应用在测量、通信、功率控制与模数变换等许多领域中。笔者这个应用就是用PWM来控制功率。 |