脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

  • 模拟电路

模拟信号的值可以连续变化,其时间和幅度的分辨率都没有限制。9V电池就是一种模拟器件,因为它的输出电压并不精确地等于9V,而是随时间发生变化,并可取任何实数值。与此类似,从电池吸收的电流也不限定在一组可能的取值范围之内。模拟信号与数字信号的区别在于后者的取值通常只能属于预先确定的可能取值集合之内,例如在{0V, 5V}这一集合中取值。

模拟电压和电流可直接用来进行控制,如对汽车收音机的音量进行控制。在简单的模拟收音机中,音量旋钮被连接到一个可变电阻。拧动旋钮时,电阻值变大或变小;流经这个电阻的电流也随之增加或减少,从而改变了驱动扬声器的电流值,使音量相应变大或变小。与收音机一样,模拟电路的输出与输入成线性比例。

尽管模拟控制看起来可能直观而简单,但它并不总是非常经济或可行的。其中一点就是,模拟电路容易随时间漂移,因而难以调节。能够解决这个问题的精密模拟电路可能非常庞大、笨重(如老式的家庭立体声设备)和昂贵。模拟电路还有可能严重发热,其功耗相对于工作元件两端电压与电流的乘积成正比。模拟电路还可能对噪声很敏感,任何扰动或噪声都肯定会改变电流值的大小。

  • 数字控制

通过以数字方式控制模拟电路,可以大幅度降低系统的成本和功耗。此外,许多微控制器和DSP已经在芯片上包含了PWM控制器,这使数字控制的实现变得更加容易了。

简而言之,PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。

图1显示了三种不同的PWM信号。图1a是一个占空比为10%的PWM输出,即在信号周期中,10%的时间通,其余90%的时间断。图1b和图1c显示的分别是占空比为50%和90%的PWM输出。这三种PWM输出编码的分别是强度为满度值的10%、50%和90%的三种不同模拟信号值。例如,假设供电电源为9V,占空比为10%,则对应的是一个幅度为0.9V的模拟信号。

图2是一个可以使用PWM进行驱动的简单电路。图中使用9V电池来给一个白炽灯泡供电。如果将连接电池和灯泡的开关闭合50ms,灯泡在这段时间中将得到9V供电。如果在下一个50ms中将开关断开,灯泡得到的供电将为0V。如果在1秒钟内将此过程重复10次,灯泡将会点亮并象连接到了一个4.5V电池(9V的50%)上一样。这种情况下,占空比为50%,调制频率为10Hz。

大多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于10Hz。设想一下如果灯泡先接通5秒再断开5秒,然后再接通、再断开……。占空比仍然是50%,但灯泡在头5秒钟内将点亮,在下一个5秒钟内将熄灭。要让灯泡取得4.5V电压的供电效果,通断循环周期与负载对开关状态变化的响应时间相比必须足够短。要想取得调光灯(但保持点亮)的效果,必须提高调制频率。在其他PWM应用场合也有同样的要求。通常调制频率为1kHz到200kHz之间。

  • 硬件控制器

许多微控制器内部都包含有PWM控制器。例如,Microchip公司的PIC16C67内含两个PWM控制器,每一个都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。执行PWM操作之前,这种微处理器要求在软件中完成以下工作:

* 设置提供调制方波的片上定时器/计数器的周期

* 在PWM控制寄存器中设置接通时间

* 设置PWM输出的方向,这个输出是一个通用I/O管脚

* 启动定时器

* 使能PWM控制器

虽然具体的PWM控制器在编程细节上会有所不同,但它们的基本思想通常是相同的。

  • 通信与控制

PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。

对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。

PWM广泛应用在多种系统中。作为一个具体的例子,我们来考察一种用PWM控制的制动器。简单地说,制动器是紧夹住某种东西的一种装置。许多制动器使用模拟输入信号来控制夹紧压力(或制动功率)的大小。加在制动器上的电压或电流越大,制动器产生的压力就越大。

可以将PWM控制器的输出连接到电源与制动器之间的一个开关。要产生更大的制动功率,只需通过软件加大PWM输出的占空比就可以了。如果要产生一个特定大小的制动压力,需要通过测量来确定占空比和压力之间的数学关系(所得的公式或查找表经过变换可用于控制温度、表面磨损等等)。

例如,假设要将制动器上的压力设定为100psi,软件将作一次反向查找,以确定产生这个大小的压力的占空比应该是多少。然后再将PWM占空比设置为这个新值,制动器就可以相应地进行响应了。如果系统中有一个传感器,则可以通过闭环控制来调节占空比,直到精确产生所需的压力。

总之,PWM既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。

摘自:[Embedded Systems Programming]

作者Michael Barr是《嵌入式系统编程》杂志总编辑,也是《使用C和C++对嵌入式系统进行编程》(O'Reilly出版公司,1999年)一书的作者以及马里兰大学的客座教师。可以通过电子邮件与他联系。

PWM的基本原理及其应用实例相关推荐

  1. 脉宽调制(PWM)的基本原理及其应用实例

    脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量.通信到功率控制与变换的许多领域中. 模拟电路 模拟信号的值可以连续变化,其时间和幅度的分辨率都没有 ...

  2. 蓝桥杯单片机比赛学习:8、PWM的基本原理之呼吸灯

    经过7节的学习,我们已经掌握了基本的硬件的使用规则,从本节开始我们开始学习一些模块的使用PWM.PCF8591.AT24C02.DS18B20.DS1302.555频率测量.光敏电阻测量.超声波测距等 ...

  3. 常见的PCA、tSNE、UMAP降维及聚类基本原理及代码实例

    常见的降维方法基本原理及代码实例 0.前言:什么时候要降维聚类?降维目的-方法概述 1.PCA(主成分分析) 1.1PCA概念 1.2 PCA代码实例 2.tSNE 2.1tSNE概念 2.2 tSN ...

  4. 自动白平衡基本原理与应用实例看图说话(转载)

    原文地址:自动白平衡基本原理与应用实例看图说话(转载)作者:阿珠珠 柯纳: "从这个图可以看到场景识别系统就是把1005像素CCD获取的信息不仅提供给AE(自动测光)系统而且还提供给AF(自 ...

  5. dcdc降压电路基本原理及设计实例

    1. DCDC转换器简介 在电子产品中,我们常需要不同的直流电压来为电路提供工作,这时我们便会见到LDO和DC/DC的身影,但是严格意义上LDO也是一种DC/DC,在电源芯片选型中,LDO和DC/DC ...

  6. pwm控制的基本原理_单片机PWM控制基本原理详解~

    PWM是Pulse Width Modulation的缩写,它的中文名字是脉冲宽度调制,一种说法是它利用微处理器的数字输出来对模拟电路进行控制的一种有效的技术,其实就是使用数字信号达到一个模拟信号的效 ...

  7. 双向可控硅晶片光耦 (TLP160J TLP260J TLP525G) 基本原理及应用实例

    TLP160J  TLP260J  TLP525G是输出端采用双向可控硅晶片的光耦,此3款光耦采用的是非过零触发导通形式,因此应用在交流电的情况下,在交流电的任意相位,只要收到输入的的触发信号,输出端 ...

  8. 【ENSP模拟器】链路技术(HCNA)——Smart Link的基本原理和配置实例

    目录 Smart Link的配置实例 1.配置思路 2.配置步骤 (1)配置SwitchA(LSW3) (2)配置SwitchA(LSW3) (3)配置SwitchA(LSW3) (4)配置Switc ...

  9. SAP IDOC和EDI应用(1) 基本原理介绍及实例操作

    SAP系统之间.SAP系统与外部系统传输业务数据的方法有多种,IDOC.EDI是比较常见的方式. IDOC(Intermediate Document)是一个数据载体,描述了一个完整的业务对象,用于在 ...

最新文章

  1. Promise - js异步控制神器
  2. flash绘图API:绘制植物
  3. @PropertySource读取外部配置文件中的k-v保存到运行的环境变量中,加载完微博的配置文件以后使用${}取配置文件中的键值
  4. 【计算理论】计算复杂性 ( 多项式等价 | P 类 | 丘奇-图灵论题延伸 )
  5. ZooKeeper管理员指南——部署与管理ZooKeeper
  6. c 数据压缩算法_CCSDS图像压缩算法之我见(一)
  7. Visual Studio各个版本对应关系
  8. 从shiro源码角度学习工厂方法设计模式
  9. MongoDB服务重启及后台运行解决方法
  10. 清华来了第二位菲尔兹奖得主,是丘成桐力荐的老朋友Caucher Birkar
  11. AICamera of Caffe2
  12. 连八股文都不懂还指望在后端混下去么
  13. 谷歌地图高精度模型提取1
  14. 互联网周刊封面文章:全球网络广告三大趋势
  15. oracle双活数据中心建设_两地三中心数据中心和同城双活数据中心的区别?
  16. H5制作视频网页的架构
  17. 深度学习之openvino预训练模型测试(车牌识别)
  18. Web TOP10漏洞之sql注入
  19. 字节流和字符流(详解)
  20. UML时序图画法简介-sequenceDiagram

热门文章

  1. Django创建APP
  2. 架构思维成长系列教程(十二)- 云平台架构设计
  3. php获取微信uninoid_PHP微信小程序之获取并解密用户数据获取openId和unionId,,小程序登陆...
  4. [渝粤教育] 长安大学 互换性与技术测量 参考 资料
  5. 关于DOM事件的Bubbling和Capturing
  6. 预测算法模型_如何测量预测模型或算法的准确性第1部分。
  7. 惠普关闭 secure boot
  8. TweenMax介绍
  9. MSI (Message Signaled Interrupts)
  10. 魔方cfop公式软件_【初级篇】(八)最简单的三阶魔方入门教程——顶棱还原...