产品选型

单片机pwm电路 PWM的工作原理是怎么样的?

小编 2024-10-10 产品选型 23 0

PWM的工作原理是怎么样的?

脉宽调制PWM是开关型稳压电源中的术语。这是按稳压的控制方式分类的,除了PWM型,还有PFM型和PWM、PFM混合型。脉宽宽度调制式(PWM)开关型稳压电路是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的。

随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制充电电流的目的。

pwm的定义

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

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

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

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

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

pwm的工作原理

脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。图1所示为脉冲宽度调制系统的原理框图和波形图。该系统有一个比较器和一个周期为Ts的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。因此,从图1中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。

通过图1b的分析可以看出,生成的矩形脉冲的宽度取决于脉冲下降沿时刻tk时的语音信号幅度值。因而,采样值之间的时间间隔是非均匀的。在系统的输入端插入一个采样保持电路可以得到均匀的采样信号,但是对于实际中tk-kTs<<Ts的情况,均匀采样和非均匀采样差异非常小。如果假定采样为均匀采样,第k个矩形脉冲可以表示为:

(1)

其中,x{t}是离散化的语音信号;Ts是采样周期;是未调制宽度;m是调制指数。

然而,如果对矩形脉冲作如下近似:脉冲幅度为A,中心在t=kTs处,Tk在相邻脉冲间变化缓慢,则脉冲宽度调制波Xp(t)可以表示为:

(2)

其中

。无需作频谱分析,由式(2)可以看出脉冲宽度信号由语音信号x(t)加上一个直流成分以及相位调制波构成。当T0<<Ts时,相位调制部分引起的信号交迭可以忽略,因此,脉冲宽度调制波可以直接通过低通滤波器进行解调。

数字脉冲宽度调制器的实现:

实现数字脉冲宽度调制器的基本思想参看图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端口,在不改变PWM方波周期的前提下,通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而控制充电电流。本方法所要求的单片机必须具有ADC端口和PWM端口这两个必须条件,另外ADC的位数尽量高,单片机的工作速度尽量快。在调整充电电流前,单片机先快速读取充电电流的大小,然后把设定的充电电流与实际读取到的充电电流进行比较,若实际电流偏小则向增加充电电流的方向调整PWM的占空比;若实际电流偏大则向减小充电电流的方向调整PWM的占空比。在软件PWM的调整过程中要注意ADC的读数偏差和电源工作电压等引入的纹波干扰,合理采用算术平均法等数字滤波技术。

直流电机驱动方案,除了正反转控制,还可以PWM调速【原创首发】

直流电机(马达)在电子产品中的应用是非常广泛的,特别打印机、电器、遥控玩具上。前进、后退、加速、减速都是常见的应用。

下面给大家分享几个直流电机驱动方案,请大家点赞、关注支持一下。

方案一:TI的DRV8871直流电机驱动方案

此方案特点有:

6.5V~45V宽工作电压内置H桥电机驱动器PWM控制按口集成过流、过热、欠压等保护

DRV8871的内部功能框图如下:

DRV8871的内部功能框图

DRV8871的简化电路原理图如下:

DRV8871简化电路原理图

设计要求:

ILIM接一个电阻做限流,阻值的大小可以按规格书的要求进行计算设计。如果接的电阻为32k,限流为2A。停转控制:IN1和IN2设为低电平。正转控制:IN1为高电平,IN2为低电平,要进行调速时,IN1就要输入PWM信号了,占空比越大,转速越高。反转控制:IN1为低电平,IN2为高电平,IN2就要输入PWM信号了,占空比越大,转速越高。刹车控制:IN1和IN2设为高电平。

PWM调速注意事项:

逻辑输入也可以使用PWM 控制来达到调速功能。当用PWM 波控制一个桥臂时,并且在驱动电流为关断时,由于电机的电感特性要求电流连续流通。这个电流叫做续流。为了操作这种电流,H 桥可以操作在两种不同的状态,快衰减或者慢衰减。在快衰减模式,H 桥是被禁止的,续流电流流经体二极管;在慢衰减模式,电机的下臂是短路的。PWM 控制用于快衰模式,PWM 信号控制一个xIN 管脚,而另一个管脚维持低电平;当运用于慢衰减,另一管脚维持高电平。

此方案是不是很简单呢?此方案适合比较高端的应用,如打印机,工业控制等

方案二: 台湾IC HT7K1201 驱动方案,成本更低

此方案特点如下:

内置1通道H桥驱动电路1.8V~6V驱动电压高达200kHz PWM 输入控制操过流保护,关机保护,输出短路保护6-pin SOT23-6小封装

典型应用电路如下:

典型应用电路

电机控制方法如下表:

电机控制方法

此方案成本更低,适合比较低端的应用,如遥控玩具。

方案三:分立元件搭建H桥驱动电路

下面是H桥驱动电路原理图

元件搭建H桥驱动电路原理图

正转控制:

PWM2设为低电平,H2设为高电平,H1设为低电平PWM1为控制转速控制信号,占空比越大,转速越高。

反转控制:

PWM1设为低电平,H1设为高电平,H2设为低电平PWM2为控制转速控制信号,占空比越大,转速越高。

停转:

PWM1,PWM2设为低电平,H1,H2设为高电平。

过流保护:

AN1接单片机的ADC输入,用于过流检测。

此方案比较灵活,可以根据应用的需求选用合适规格的三级管或者MOS管。

大家可以关注我的头条号@电子产品设计方案 ,我会定时分享经验和方案哦,谢谢大家的点赞和关注。

相关问答

单片机 是怎么通过 pwm 波来控制电机运转的,工作原理是什么?

PWM的英文全称是PulseWidthModulation的缩写,翻译成中文就是脉冲宽度调制,PWM是一种利用数字输出来对模拟电路进行控制的技术,它的实质就是使用数字信号...

如何将 单片机 输出的 PWM 控制信号,变成可以带负载的变化的电压?

单片机输出的PWM为控制信号,需要加入控制器件才可以驱动负载单片机输出的PWM驱动能比较弱,不能直接驱动负载,需要三极管、MOS管参与才可以控制负载的功率,比...

51 单片机 产生 pwm 波的c程序是什么?

用定时器产生程序如下:unsignedinta=0,b=10;voidmain(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000...

单片机 有多少 PWM 输出的引脚 - 135****6478 的回答 - 懂得

有的单片机有内置的硬件pwm功能,它的输出可能只能在某几个管脚上选择;如果自己编写程序实现软件PWM,则没有这个限制,所有的引脚都可以作为PWM输出。...

pwm 控制正反转的原理?

PWM控制器可以用来控制直流电机的正反转,其原理如下:PWM控制器的输出信号是由一个晶体管的开闭周期(比如占空比)来控制的。在控制直流电机的正反转时,我们需...

单片机 控制 PWM 输出0~10V连续可调电压不进0.05程序 电路 ?

加低通滤波就可以了搞定如果负载那边输入阻抗很高,所谓低通滤波就可以用最简单的RC电路实现,RC时间常数比PWM周期大几倍就可以了。补充:单片机输出的话,先...

单片机 的数字端口、模拟端口和 PWM 口各是什么意思,麻烦通俗点回答,谢谢?

1、单片机的数字端口是指该端口只有通常的逻辑电平只有高电平或者低电平,用数字来表示高电平就是1,低电平就是0。以51单片机为例,如果说IO口P1.0为高电平,...

单片机PwM 1P和1N有什么区别?

PWM1P和1N是两种不同的单片机引脚配置,它们的主要区别在于引脚功能和使用的PWM通道不同。PWM1P表示将PWM信号输出配置为高电平有效,即当PWM信号为高电平时,会...

51 单片机 控制 pwm 风扇原理?

原理是当输出频率一定时,输出电压与高电平的占空比成正比,即PWM每个周期中高电平脉宽越宽输出电压越高。单片机使用方法是1.设置定时器的工作模式为PWM和输...

PWM 转电压芯片GP8101内部是一个 单片机 吗? PWM 识别的原理是什么?

不会是单片机吧,可能就是模拟电路集成的,如果没有数字接口,比如SPI/IIC,可能就纯粹一个模拟电路了,如果有数字接口,可能是部分逻辑控制电路加上模拟电路了...

猜你喜欢