PWM基本原理及其应用实例.docx
- 文档编号:9258193
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:17
- 大小:89.45KB
PWM基本原理及其应用实例.docx
《PWM基本原理及其应用实例.docx》由会员分享,可在线阅读,更多相关《PWM基本原理及其应用实例.docx(17页珍藏版)》请在冰豆网上搜索。
PWM基本原理及其应用实例
PWM基本原理及其应用实例
嵌入式技术探索2009-06-2614:
12:
02阅读998评论0 字号:
大中小 订阅
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
理论篇
(一)原理介绍
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PWM(PulseWidthModulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。
PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆 变电路中的应用,才确定了它在电力电子技术中的重要地位。
1PWM控制的基本原理
理论基础:
冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。
冲量指窄脉冲的面积。
效果基本相同,是指环节的输出响应波形基本相同。
低频段非常接近,仅在高频段略有差异。
面积等效原理:
分别将如图1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图2a所示。
其输出电流i(t)对不同窄脉冲时的响应波形如图2b所示。
从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。
脉冲越窄,各i(t)响应波形的差异也越小。
如果周期性地施加上述脉冲,则响应i(t)也是周期性的。
用傅里叶级数分解后将可看出,各i(t)在低频段的特性将非常接近,仅在高频段有所不同。
用一系列等幅不等宽的脉冲来代替一个正弦半波,正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等;用矩形脉冲代替,等幅,不等宽,中点重合,面积(冲量)相等,宽度按正弦规律变化。
SPWM波形——脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。
图3用PWM波代替正弦半波
要改变等效输出正弦波幅值,按同一比例改变各脉冲宽度即可。
PWM电流波:
电流型逆变电路进行PWM控制,得到的就是PWM电流波。
PWM波形可等效的各种波形:
直流斩波电路:
等效直流波形
SPWM波:
等效正弦波形,还可以等效成其他所需波形,如等效所需非正弦交流波形等,其基本原理和SPWM控制相同,也基于等效面积原理。
2.PWM相关概念
占空比:
就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比
如,一个PWM的频率是1000Hz,那么它的时钟周期就是1ms,就是1000us,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:
1000,也就是说PWM的占空比就是1:
5。
分辨率也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:
255(单斜率),16位的的PWM理论就是1:
65535(单斜率)。
频率就是这样的,如16位的PWM,它的分辨率达到了1:
65535,要达到这个分辨率,T/C就必须从0计数到65535才能达到,如果计数从0计到80之后又从0开始计到80.......,那么它的分辨率最小就是1:
80了,但是,它也快了,也就是说PWM的输出频率高了。
双斜率/单斜率
假设一个PWM从0计数到80,之后又从0计数到80....... 这个就是单斜率。
假设一个PWM从0计数到80,之后是从80计数到0....... 这个就是双斜率。
可见,双斜率的计数时间多了一倍,所以输出的PWM频率就慢了一半,但是分辨率却是1:
(80+80)=1:
160,就是提高了一倍。
假设PWM是单斜率,设定最高计数是80,我们再设定一个比较值是10,那么T/C从0计数到10时(这时计数器还是一直往上计数,直到计数到设定值80),单片机就会根据你的设定,控制某个IO口在这个时候是输出1还是输出0还是端口取反,这样,就是PWM的最基本的原理了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
理论篇
(二)原理及应用实例
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
脉宽调制(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既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
理论篇(三)原理与实现
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PWM(脉冲宽度调制)原理与实现
1、PWM原理
2、调制器设计思想
3、具体实现设计
一、PWM(脉冲宽度调制PulseWidthModulation)原理:
脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。
图1所示为脉冲宽度调制系统的原理框图和波形图。
该系统有一个比较器和一个周期为Ts的锯齿波发生器组成。
语音信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。
因此,从图1中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。
通过图1b的分析可以看出,生成的矩形脉冲的宽度取决于脉冲下降沿时刻tk时的语音信号幅度值。
因而,采样值之间的时间间隔是非均匀的。
在系统的输入端插入一个采样保持电路可以得到均匀的采样信号,但是对于实际中tk-kTs< 如果假定采样为均匀采样,第k个矩形脉冲可以表示为: (1) 其中,x{t}是离散化的语音信号;Ts是采样周期; 是未调制宽度;m是调制指数。 然而,如果对矩形脉冲作如下近似: 脉冲幅度为A,中心在t=kTs处, 在相邻脉冲间变化缓慢,则脉冲宽度调制波xp(t)可以表示为: (2) 其中, 。 无需作频谱分析,由式 (2)可以看出脉冲宽度信号由语音信号x(t)加上一个直流成分以及相位调制波构成。 当 时,相位调制部分引起的信号交迭可以忽略,因此,脉冲宽度调制波可以直接通过低通滤波器进行解调。 二、数字脉冲宽度调制器的实现: 实现数字脉冲宽度调制器的基本思想参看图2。 图中,在时钟脉冲的作用下,循环计数器的5位输出逐次增大。 5位数字调制信号用一个寄存器来控制,不断于循环计数器的输出进行比较,当调制信号大于循环计数器的输出时,比较器输出高电平,否则输出低电平。 循环计数器循环一个周期后,向寄存器发出一个使能信号EN,寄存器送入下一组数据。 在每一个计数器计数周期,由于输入的调制信号的大小不同,比较器输出端输出的高电平个数不一样,因而产生出占空比不同的脉冲宽度调制波。 图3 为了使矩形脉冲的中心近似在t=kTs处,计数器所产生的数字码不是由小到大或由大到小顺序变化,而是将数据分成偶数序列和奇数序列,在一个计数周期,偶数序列由小变大,直到最大值,然后变为对奇数序列计数,变化为由大到小。 如图3例子。 奇偶序列的产生方法是将计数器的最后一位作为比较数据的最低位,在一个计数周期内,前半个周期计数器输出最低位为0,其他高位逐次增大,则产生的数据即为偶数序列;后半个周期输出最低位为1,其余高位依次减小,产生的数据为依次减小的偶序列。 具体电路可以由以下电路图表示: 三、8051中的PWM模块设计: 应该称为一个适合语音处理的PWM模块,输出引脚应该外接一积分电路。 输出波形的方式适合作语音处理。 设计精度为8位。 PWM模块应包括: 1、比较部分(Comp): 2、计数部分(Counter): 3、状态及控制信号寄存/控制器(PWM_Ctrl); 1)状态积寄存器: (Flags),地址: E8H; ①EN: PWM模块启动位,置位为‘1’将使PWM模块开始工作; ②(留空备用) ③④解调速率标志位: 00–无分频;01–2分频;10–10分频;11–16分频。 (RESET后为00) ⑤(留空备用) ⑥(留空备用) ⑦(留空备用) ⑧(留空备用) 注意: 该寄存器可以位操作情况下可写,不可读;只能在字节操作方式下读取。 2)数据寄存器(DataStore),地址: F8H; 注意: 该寄存器值不可读,只可写。 4、端口: 1)数据总线(DataBus);(双向) 2)地址总线(AddrBus);(IN) 3)PWM波输出端口(PWMOut);(OUT) 4)控制线: ①CLK: 时钟;(IN) ②Reset: 异步复位信号;(IN低电平有效) ③WR: 写PWMRAM信号;(IN低电平有效); ④RD: 读PWMRAM信号;(IN低电平有效) ⑤DONE: 接受完毕反馈信号;(OUT高电平有效) ⑥INT: 中断申请信号;(OUT低电平有效) ⑦IntResp: 中断响应信号;(In低电平有效) ⑧ByteBit: 字节/位操作控制信号(IN1-BYTE0-BIT); ⑨⑩ 中断占用相当于MCU8051的外部中断2,则可保证在5个指令周期之内,“读取数据”中断必定得到响应。 PWM模块使用方法: 因为占用了8051外部中断1,所以在不使用该模块时,应该把外部中断2屏蔽。 而PWM模块产生的中断请求可以看作是“能接受数据”的信号。 中断方法如后“中断读取数据过程”。 使用PWM模块,应该先对内部地址8FH的数据寄存器写入数据,然后设置地址8EH的状态寄存器最低位(0)为‘1’,即PWM模块开始工作并输出PWM调制波(如TIMER模块)。 在输出PWM调制波过程中,应及时对PWM写入下一个调制数据,保证PWM连续工作,输出波形连续。 (待改进) 中断读取数据过程: 1.PWM模块可以读取数据,申请中断信号INT置位为‘0’,等待8051响应; 2.8051接受到中断申请后,作出中断响应,置位IntResp信号线为‘0’; 3.PWM模块收到IntResp信号后,把中断申请信号INT复位为‘1’,等待8051通知读取数据WR信号; 4.8051取出要求数据放于数据总线(DataBus)上,并置WR信号为‘0’; 5.PWM模块发现WR信号为‘0’,由数据总线(DataBus)上读取数据到内部数据寄存器,将DONE位置位为‘1’; 6.8051发现DONE信号的上跳变为‘1’,释放数据总线; 7.PWM模块完成当前输出周期,复位DONE为‘0’,从此当前数据寄存器可以再次接受数据输入。 注意事项: 1)输出的PWM信号中的高电平部分必须处于一个输出周期的中间,不能偏离,否则输出语音经过低通后必定是一失真严重的结果。 2)对于8位精度的PWM,每个输出周期占用256(28)个机器周期,但是包含256个机器周期至少有22个指令周期,亦即264(22*12)个机器周期,由于语音信号的连续性,256与264之间相差的8个机器周期是不能由之丢空的,否则也会使输出信号失真。 如果将须输出数字量按256/264的比例放大输出,亦不可行,因为如此非整数比例放大,放大倍数很小,则经过再量化后小数部分亦会被忽略掉,产生失真。 举例: 输出数字量为16,按比例放大后为16.5,更会产生难以取舍的问题。 故采取以下办法: 该模块以时钟周期为标准,而与TMBus无关,即基本上与8051部分异步工作。 读取数据方式为每次读取足够数据段储存于模块内的RAM内(暂定每次读取8字节),储存字节数必须能保证PWM输出该段数据过程中,有足够时间从RAM处继续读取数据。 由于占用了8051的外部中断2,中断申请在3个指令周期(36个时钟周期)内必定能得到响应,而PWM模块处理一个数据需要固定耗时256个时钟周期,故能保证PWM模块顺序读取数据中断能及时得到响应,不会影响调制信号的连续性。 3)RDRAM过程是异步过程。 4)输出后数据寄存器不自动清零。 因为可以通过把Flags(0)写‘0’而停止PWM模块继续工作。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 理论篇(四)PWM程序用起来很简单;但硬件实现的特性却很实用 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 脉宽调制PWM是开关型稳压电源中的术语。 这是按稳压的控制方式分类的,除了PWM型,还有PFM型和PWM、PFM混合型。 脉宽宽度调制式(PWM)开关型稳压电路是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的。 PWM技术的基本原理 随着电子技术的发展,出现了多种PWM技术,其中包括: 相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。 可以通过调整PWM的周期、PWM的占空比而达到控制充电电流的目的。 脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 模拟信号的值可以连续变化,其时间和幅度的分辨率都没有限制。 9V电池就是一种模拟器件,因为它的输出电压并不精确地等于9V,而是随时间发生变化,并可取任何实数值。 与此类似,从电池吸收的电流也不限定在一组可能的取值范围之内。 模拟信号与数字信号的区别在于后者的取值通常只能属于预先确定的可能取值集合之内,例如在{0V,5V}这一集合中取值。 模拟电压和电流可直接用来进行控制,如对汽车收音机的音量进行控制。 在简单的模拟收音机中,音量旋钮被连接到一个可变电阻。 拧动旋钮时,电阻值变大或变小;流经这个电阻的电流也随之增加或减少,从而改变了驱动扬声器的电流值,使音量相应变大或变小。 与收音机一样,模拟电路的输出与输入成线性比例。 尽管模拟控制看起来可能直观而简单,但它并不总是非常经济或可行的。 其中一点就是,模拟电路容易随时间漂移,因而难以调节。 能够解决这个问题的精密模拟电路可能非常庞大、笨重(如老式的家庭立体声设备)和昂贵。 模拟电路还有可能严重发热,其功耗相对于工作元件两端电压与电流的乘积成正比。 模拟电路还可能对噪声很敏感,任何扰动或噪声都肯定会改变电流值的大小。 通过以数字方式控制模拟电路,可以大幅度降低系统的成本和功耗。 此外,许多微控制器和DSP已经在芯片上包含了PWM控制器,这使数字控制的实现变得更加容易了。 简而言之,PWM是一种对模拟信号电平进行数字编码的方法。 通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。 PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。 电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。 通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。 只要带宽足够,任何模拟值都可以使用PWM进行编码 许多微控制器内部都包含有PWM控制器。 例如,Microchip公司的PIC16C67内含两个PWM控制器,每一个都可以选择接通时间和周期。 占空比是接通时间与周期之比;调制频率为周期的倒数。 执行PWM操作之前,这种微处理器要求在软件中完成以下工作: 设置提供调制方波的片上定时器/计数器的周期 在PWM控制寄存器中设置接通时间 设置PWM输出的方向,这个输出是一个通用I/O管脚 启动定时器 使能PWM控制器 虽然具体的PWM控制器在编程细节上会有所不同,但它们的基本思想通常是相同的。 PWM技术的具体应用 PWM软件法控制充电电流 本方法的基本思想就是利用单片机具有的PWM端口,在不改变PWM方波周期的前提下,通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而控制充电电流。 本方法所要求的单片机必须具有ADC端口和PWM端口这两个必须条件,另外ADC的位数尽量高,单片机的工作速度尽量快。 在调整充电电流前,单片机先快速读取充电电流的大小,然后把设定的充电电流与实际读取到的充电电流进行比较,若实际电流偏小则向增加充电电流的方向调整PWM的占空比;若实际电流偏大则向减小充电电流的方向调整PWM的占空比。 在软件PWM的调整过程中要注意ADC的读数偏差和电源工作电压等引入的纹波干扰,合理采用算术平均法等数字滤波技术。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 理论篇(五)脉宽调制(PWM)直流电动机控制器 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 脉宽调制的全称为: PulseWidthModulator,简称PWM。 由于它的特殊性能,常被用作直流回路中灯具调光或直流电动机调速。 这里将要介绍的就是利用脉宽调制(PWM)原理制作的马达控制器(见图1)。 有关电路已经在汽车仪表照明、车灯照明调光和计算机电源散热风扇方面得到应用。 该装置可用于12v或24v直流电路中,两者间只需稍做变动。 它主要是通过改变输出方波的占空比,使得负载上的平均接通时间从0-100%变化,以达到调整负载亮度/速度的目的。 技术指标: PWM频率400Hz;PWM功率消耗1.5mA(12V电源、无负载和LED);输出容量3A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PWM 基本原理 及其 应用 实例
![提示](https://static.bdocx.com/images/bang_tan.gif)