逆变器,转换器,SMPS电路和速度控制器。…所有这些电路中共有的一件事是它由内部的许多电子开关组成。这些开关只不过是MOSFET,IGBT,TRIAC等功率电子设备。为控制此类功率电子开关,我们通常使用一种称为PWM信号(脉冲宽度调制)的产品。除此之外,PWM信号还用于驱动伺服电机以及完成其他简单任务,例如控制LED的亮度。
在上一篇文章中,我们了解了ADC,而ADC是通过微控制器等数字设备读取模拟信号的。可以将PWM与PWM完全相反,PWM用于从微控制器等数字设备产生模拟信号。在本文中,我们将了解什么是PWM,PWM信号以及与之相关的一些参数,以便我们有信心在设计中使用它们。
什么是PWM(脉冲宽度调制)?
PWM代表脉冲宽度调制;我们稍后会详细说明使用该名称的原因。但是,就目前而言,将PWM理解为一种信号类型,可以从诸如微控制器或555定时器之类的数字IC产生。这样产生的信号将具有一系列脉冲,并且这些脉冲将为方波形式。也就是说,在任何给定的时间实例中,波将是高电平或低电平。为了便于理解,我们考虑一个5V PWM信号,在这种情况下,PWM信号将为5V(高电平)或为0V(低电平)接地电平。信号保持高电平的持续时间称为“ 开启时间 ”,信号保持低电平的持续时间称为“ 关闭时间 ”。
对于PWM信号,我们需要查看与之相关的两个重要参数,一个是PWM占空比,另一个是PWM频率。
PWM的占空比
如前所述,PWM信号在特定时间内保持打开状态,然后在其余时间段保持关闭状态。使该PWM信号特别且更有用的是,我们可以通过控制PWM信号的占空比来设置其应保持多长时间。
PWM信号保持高电平(导通时间)的时间百分比称为占空比。如果信号始终为ON,则占空比为100%;如果信号始终为OFF,则占空比为0%。计算占空比的公式如下所示。
占空比=打开时间/(打开时间+关闭时间)
下图显示了占空比为50%的PWM信号。如您所见,考虑到整个时间段(接通时间+断开时间),PWM信号仅在该时间段的50%内保持接通状态。
频率= 1 /时间段 时间段=开启时间+关闭时间
通常,微控制器生成的PWM信号约为500 Hz,此类高频将用于诸如逆变器或转换器的高速开关设备中。但是,并非所有应用都需要高频。例如,要控制伺服电机,我们需要产生频率为50Hz的PWM信号,因此PWM信号的频率也可以由所有微控制器的程序控制。
关于PWM的一些常见问题
PWM信号的占空比和频率之间有什么区别?
通常会混淆PWM信号的占空比和频率。众所周知,PWM信号是方波,具有特定的开启时间和关闭时间。该 接通时间 和 断开时间 的总和称为一个时间段。一个时间段的倒数称为频率。PWM信号在一个时间段内应保持开启的时间取决于PWM的占空比。
简而言之,PWM信号应打开和关闭的速度取决于PWM信号的频率,在该速度下,PWM信号应保持打开状态的时间取决于PWM信号的占空比。
如何将PWM信号转换为模拟电压?
对于简单的应用,例如控制直流电动机的速度或调整LED的亮度,我们需要将PWM信号转换为模拟电压。使用RC滤波器可以轻松完成此操作,通常在需要DAC功能的地方使用。相同的电路如下所示
在上图中,黄色是PWM信号,蓝色是输出模拟电压。可以基于PWM信号的频率来计算电阻器R1和电容器C1的值,但通常使用5.7K或10K电阻器和0.1u或1u电容器。
如何计算PWM信号的输出电压?
将PWM信号转换为模拟信号后的输出电压将为占空比的百分比。例如,如果工作电压为5V,则PWM信号在高电平时也将为5V。在这种情况下,对于100%的占空比,输出电压将为5V,对于50%的占空比将为2.5V。
输出电压=占空比(%)* 5
例子:
我们以前在许多项目中都将PWM与各种微控制器一起使用:
- 使用ATmega32进行脉冲宽度调制
- 带Arduino Uno的PWM
- 使用PIC单片机生成PWM
- Raspberry Pi PWM教程
- Raspberry Pi伺服电机控制
- 使用MSP430G2的脉冲宽度调制(PWM)
- STM32F103C8中的脉冲宽度调制(PWM)
- Raspberry Pi伺服电机控制
- Raspberry Pi的直流电动机控制
- 1瓦LED调光器
- 使用PWM的基于Arduino的LED调光器
在此处进一步检查所有与PWM相关的项目。