理论篇(一)原理介绍
PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。
PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆 变电路中的应用,才确定了它在电力电子技术中的重要地位。
1 PWM控制的基本原理
理论基础:
冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。
SPWM波形——脉冲宽度按正弦规律变化而和正弦波等效的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进行编码。
大多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于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(脉冲宽度调制Pulse Width Modulation)原理:
脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。图1所示为脉冲宽度调制系统的原理框图和波形图。该系统有一个比较器和一个周期为Ts的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。因此,从图1中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。
通过图1b的分析可以看出,生成的矩形脉冲的宽度取决于脉冲下降沿时刻t k时的语音信号幅度值。因而,采样值之间的时间间隔是非均匀的。在系统的输入端插入一个采样保持电路可以得到均匀的采样信号,但是对于实际中tk-kTs< 其中,x{t}是离散化的语音信号;Ts是采样周期;是未调制宽度;m是调制指数。 然而,如果对矩形脉冲作如下近似:脉冲幅度为A,中心在t = k Ts处, 在相邻脉冲间变化缓慢,则脉冲宽度调制波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:写PWM RAM信号;(IN 低电平有效); ④ RD:读PWM RAM信号;(IN 低电平有效) ⑤ DONE:接受完毕反馈信号;(OUT 高电平有效) ⑥ INT:中断申请信号;(OUT 低电平有效) ⑦ IntResp:中断响应信号;(In低电平有效) ⑧ ByteBit:字节/位操作控制信号(IN 1-BYTE 0-BIT); 中断占用相当于MCU8051的外部中断2,则可保证在5个指令周期之内,“读取数据”中断必定得到响应。 PWM模块使用方法:因为占用了8051外部中断1,所以在不使用该模块时,应该把外部中断2屏蔽。而PWM模块产生的中断请求可以看作是“能接受数据”的信号。中断方法如后“中断读取数据过程”。使用PWM模块,应该先对内部地址8FH的数据寄存器写入数据,然后设置地址8EH的状态寄存器最低位(0)为‘1’,即PWM模块开始工作并输出PWM调制波(如TIMER模块)。在输出PWM调制波过程中,应及时对PWM写入下一个调制数据,保证PWM连续工作,输出波形连续。 (待改进) 中断读取数据过程: PWM模块可以读取数据,申请中断信号INT置位为‘0’,等待8051响应; 8051接受到中断申请后,作出中断响应,置位IntResp信号线为‘0’; PWM模块收到IntResp信号后,把中断申请信号INT复位为‘1’,等待8051通知读取数据WR信号; 8051取出要求数据放于数据总线(DataBus)上,并置WR信号为‘0’; PWM模块发现WR信号为‘0’,由数据总线(DataBus)上读取数据到内部数据寄存器,将DONE位置位为‘1’; 8051发现DONE信号的上跳变为‘1’,释放数据总线; PWM模块完成当前输出周期,复位DONE为‘0’,从此当前数据寄存器可以再次接受数据输入。 注意事项: 1)输出的PWM信号中的高电平部分必须处于一个输出周期的中间,不能偏离,否则输出语音经过低通后必定是一失真严重的结果。 2)对于8位精度的PWM,每个输出周期占用256(28)个机器周期,但是包含256个机器周期至少有22个指令周期,亦即2(22*12)个机器周期,由于语音信号的连续性,256与2之间相差的8个机器周期是不能由之丢空的,否则也会使输出信号失真。如果将须输出数字量按256/2的比例放大输出,亦不可行,因为如此非整数比例放大,放大倍数很小,则经过再量化后小数部分亦会被忽略掉,产生失真。举例:输出数字量为16,按比例放大后为16.5,更会产生难以取舍的问题。 故采取以下办法:该模块以时钟周期为标准,而与TMBus无关,即基本上与8051部分异步工作。读取数据方式为每次读取足够数据段储存于模块内的RAM内(暂定每次读取8字节),储存字节数必须能保证PWM输出该段数据过程中,有足够时间从RAM处继续读取数据。由于占用了8051的外部中断2,中断申请在3个指令周期(36个时钟周期)内必定能得到响应,而PWM模块处理一个数据需要固定耗时256个时钟周期,故能保证PWM模块顺序读取数据中断能及时得到响应,不会影响调制信号的连续性。 3)RD RAM过程是异步过程。 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电路的控制原理 PWM 电路基本原理依据: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时其效果相同。PWM 控制原理, 将波形分为6 等份, 可由6 个方波等效替代。脉宽调制的分类方法有多种,如单极性与双极性, 同步式与异步式, 矩形波调制与正弦波调制等。单极性PWM 控制法指在半个周期内载波只在一个方向变换, 所得PWM 波形也只在一个方向变化, 而双极性PWM 控制法在半个周期内载波在两个方向变化, 所得PWM 波形也在两个方向变化。根据载波信号同调制信号是否保持同步, PWM 控制又可分为同步调制和异步调制。矩形波脉宽调制的特点是输出脉宽列是等宽的, 只能控制一定次数的谐波; 正弦波脉宽调制的特点是输出脉宽列是不等宽的, 宽度按正弦规律变化, 输出波形接近正弦波。正弦波脉宽调制也叫SPWM。根据控制信号产生脉宽是该技术的关键。目前常用三角波比较法、滞环比较法和空间电压矢量法。 PWM电路的作用 PWM 电路主要功能是将输入电压的振幅转换成宽度一定的脉冲,换句话说它是将振幅资料转换成脉冲宽度。一般switching 输出电路只能输出电压振幅一定的信号,为了输出类似正弦波之类电压振幅变化的信号,因此必需将电压振幅转换成脉冲信号。 高功率电路分别由PWM 电路、Gate 驱动电路、Switching 输出电路构成,其中PWM 电路主要功能是使三角波的振幅与指令信号进行比较,同时输出可以驱动功率MOSFET 的控制信号,透过该控制信号控制功率电路的输出电压。 PWM电路的特点 PWM电路的特点是频率高、效率高、功率密度高、可靠性高、然而由于开关器件工作在高频通断状态,高频的快速瞬变过程本身就是一电磁骚扰源,它产生的EMI信号有很宽的频率范围,又有一定的幅度。若把这种电源直接用于数字设备,则设备产生的EMI信号会变得更加强烈和复杂下载本文