1
PWM是什么
脉宽调制(Pulse Width Modulation)是利用微处理器的数字输出来对vwin 电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。PWM控制在汽车上也有较多应用,比如:电动汽车充电电路CP端子信号(功率握手用),燃油泵功率控制电路、电机调速。
2
模拟电路&数字电路
【1】模拟电路
模拟信号的值可以连续变化,其时间和幅度的分辨率都没有限制。9V电池就是一种模拟器件,因为它的输出电压并不精确地等于9V,而是随时间发生变化,并可取任何实数值。
模拟电压和电流可直接用来进行控制,如对汽车收音机的音量进行控制。在简单的模拟收音机中,音量旋钮被连接到一个可变电阻。拧动旋钮时,电阻值变大或变小;流经这个电阻的电流也随之增加或减少,从而改变了驱动扬声器的电流值,使音量相应变大或变小。
尽管模拟控制看起来可能直观而简单,但它并不总是非常经济或可行的。其中一点就是,模拟电路容易随时间漂移,因而难以调节。模拟电路还有可能严重发热,其功耗相对于工作元件两端电压与电流的乘积成正比。模拟电路还可能对噪声很敏感,任何扰动或噪声都肯定会改变电流值的大小。
【2】数字电路
通过以数字方式控制模拟电路,可以大幅度降低系统的成本和功耗。此外,许多微控制器和DSP已经在芯片上包含了PWM控制器,这使数字控制的实现变得更加容易了。 简而言之,PWM是一种对模拟信号电平进行数字编码的方法。
PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码(这里指的是PWM直接控制负责)。
上图显示了三种不同的PWM信号。a是一个占空比为10%的PWM输出,即在信号周期中,10%的时间通,其余90%的时间断。b和c显示的分别是占空比为50%和90%的PWM输出。这三种PWM输出编码的分别是强度为满度值的10%、50%和90%的三种不同模拟信号值。例如,假设供电电源为9V,占空比为10%,则对应的是一个幅度为0.9V的模拟信号。
3
通讯与控制
PWM 的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1 改变为逻辑0 或将逻辑0 改变为逻辑1 时,也才能对数字信号产生影响。对噪声抵抗能力的增强是PWM 相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM 用于通信的主要原因。
作为一个具体的例子,我们来考察一种用PWM 控制的制动器。简单地说,制动器是紧夹住某种东西的一种装置。许多制动器使用模拟输入信号来控制夹紧压力(或制动功率)的大小。加在制动器上的电压或电流越大,制动器产生的压力就越大。可以将PWM 控制器的输出连接到电源与制动器之间的一个开关。要产生更大的制动功率,只需通过软件加大PWM 输出的占空比就可以了。如果要产生一个特定大小的制动压力,需要通过测量来确定占空比和压力之间的数学关系(所得的公式或查找表经过变换可用于控制温度、表面磨损等等)。
4
硬件设置产生PWM
许多微控制器内部都包含有PWM 控制器。例如,Microchip 公司的PIC16C67 内含两个PWM 控制器,每一个都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。执行PWM 操作之前,这种微处理器要求在软件中完成以下工作:
- 设置提供调制方波的片上定时器/计数器的周期
- 在PWM 控制寄存器中设置接通时间
- 设置PWM 输出的方向,这个输出是一个通用I/O 管脚
- 启动定时器
- 使能PWM 控制器
5
软件编程产生PWM
51单片机内部没有PWM控制器,需要通过软件编程来实现,程序如下。
K1 EQU P1.0
K2 EQU P1.1
ORG 0000H
AJMP MAIN
ORG 0040H
MAIN:
MOV SP,#60H
MOV R1,#3
MOV R2,#4
MOV R3,#0
MOV TH0,#0FFH
MOV TL0,#9CH
MOV TH1,#3CH
MOV TL1,#0B0H
MOV TMOD,#11H;16位定时器/计数器
MOV IE,#8FH
SETB IT0
SETB IT1
SETB TR0
SETB TR1
LOOP:
MOV A,R1
JB K2,S1
CALL DELAY
JB K2,S1
CJNE A,#9,PWMINC
CALL LED
SJMP LOOP
PWMINC:
INC R1
SJMP LOOP
S1:
JB K1,S2
CALL DELAY
JB K1,S2
CJNE A,#1,PWMDEC
CALL LED
SJMP LOOP
PWMDEC:
DEC R1
S2: SJMP LOOP
ORG 000BH
AJMP TIME0
ORG 0100H
TIME0:
MOV A,#9
SUBB A,R2
JNC DONE
INC R2
SJMP LOOP1
DONE: MOV R2,#1
LOOP1: CLR C
MOV A,R2
SUBB A,R1
JNC LOOP2
SETB P1.6
SJMP OUT1
LOOP2: CLR P1.6
OUT1: RETI
ORG 0003H
LJMP IN0
ORG 1000H
IN0:
INC R3
RETI
LED:
CPL P1.2
RET
DELAY:
MOV R7,#100
DE: MOV R6,#100
DJNZ R6,$
DJNZ R7,DE
RET
END
-
电动汽车
+关注
关注
156文章
12067浏览量
231085 -
模拟电路
+关注
关注
125文章
1556浏览量
102714 -
微处理器
+关注
关注
11文章
2258浏览量
82399 -
PWM控制器
+关注
关注
18文章
469浏览量
36086 -
脉宽调制器
+关注
关注
1文章
57浏览量
17002
发布评论请先 登录
相关推荐
评论