1
PWM是什么
脈寬調(diào)制(Pulse Width Modulation)是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。PWM控制在汽車上也有較多應(yīng)用,比如:電動(dòng)汽車充電電路CP端子信號(hào)(功率握手用),燃油泵功率控制電路、電機(jī)調(diào)速。
2
模擬電路&數(shù)字電路
【1】模擬電路
模擬信號(hào)的值可以連續(xù)變化,其時(shí)間和幅度的分辨率都沒(méi)有限制。9V電池就是一種模擬器件,因?yàn)樗妮敵鲭妷翰⒉痪_地等于9V,而是隨時(shí)間發(fā)生變化,并可取任何實(shí)數(shù)值。
模擬電壓和電流可直接用來(lái)進(jìn)行控制,如對(duì)汽車收音機(jī)的音量進(jìn)行控制。在簡(jiǎn)單的模擬收音機(jī)中,音量旋鈕被連接到一個(gè)可變電阻。擰動(dòng)旋鈕時(shí),電阻值變大或變?。涣鹘?jīng)這個(gè)電阻的電流也隨之增加或減少,從而改變了驅(qū)動(dòng)揚(yáng)聲器的電流值,使音量相應(yīng)變大或變小。
盡管模擬控制看起來(lái)可能直觀而簡(jiǎn)單,但它并不總是非常經(jīng)濟(jì)或可行的。其中一點(diǎn)就是,模擬電路容易隨時(shí)間漂移,因而難以調(diào)節(jié)。模擬電路還有可能嚴(yán)重發(fā)熱,其功耗相對(duì)于工作元件兩端電壓與電流的乘積成正比。模擬電路還可能對(duì)噪聲很敏感,任何擾動(dòng)或噪聲都肯定會(huì)改變電流值的大小。
【2】數(shù)字電路
通過(guò)以數(shù)字方式控制模擬電路,可以大幅度降低系統(tǒng)的成本和功耗。此外,許多微控制器和DSP已經(jīng)在芯片上包含了PWM控制器,這使數(shù)字控制的實(shí)現(xiàn)變得更加容易了。 簡(jiǎn)而言之,PWM是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。
PWM信號(hào)仍然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流供電要么完全有(ON),要么完全無(wú)(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時(shí)候即是直流供電被加到負(fù)載上的時(shí)候,斷的時(shí)候即是供電被斷開(kāi)的時(shí)候。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼(這里指的是PWM直接控制負(fù)責(zé))。
上圖顯示了三種不同的PWM信號(hào)。a是一個(gè)占空比為10%的PWM輸出,即在信號(hào)周期中,10%的時(shí)間通,其余90%的時(shí)間斷。b和c顯示的分別是占空比為50%和90%的PWM輸出。這三種PWM輸出編碼的分別是強(qiáng)度為滿度值的10%、50%和90%的三種不同模擬信號(hào)值。例如,假設(shè)供電電源為9V,占空比為10%,則對(duì)應(yīng)的是一個(gè)幅度為0.9V的模擬信號(hào)。
3
通訊與控制
PWM 的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無(wú)需進(jìn)行數(shù)模轉(zhuǎn)換。讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強(qiáng)到足以將邏輯1 改變?yōu)檫壿? 或?qū)⑦壿? 改變?yōu)檫壿? 時(shí),也才能對(duì)數(shù)字信號(hào)產(chǎn)生影響。對(duì)噪聲抵抗能力的增強(qiáng)是PWM 相對(duì)于模擬控制的另外一個(gè)優(yōu)點(diǎn),而且這也是在某些時(shí)候?qū)WM 用于通信的主要原因。
作為一個(gè)具體的例子,我們來(lái)考察一種用PWM 控制的制動(dòng)器。簡(jiǎn)單地說(shuō),制動(dòng)器是緊夾住某種東西的一種裝置。許多制動(dòng)器使用模擬輸入信號(hào)來(lái)控制夾緊壓力(或制動(dòng)功率)的大小。加在制動(dòng)器上的電壓或電流越大,制動(dòng)器產(chǎn)生的壓力就越大??梢詫WM 控制器的輸出連接到電源與制動(dòng)器之間的一個(gè)開(kāi)關(guān)。要產(chǎn)生更大的制動(dòng)功率,只需通過(guò)軟件加大PWM 輸出的占空比就可以了。如果要產(chǎn)生一個(gè)特定大小的制動(dòng)壓力,需要通過(guò)測(cè)量來(lái)確定占空比和壓力之間的數(shù)學(xué)關(guān)系(所得的公式或查找表經(jīng)過(guò)變換可用于控制溫度、表面磨損等等)。
4
硬件設(shè)置產(chǎn)生PWM
許多微控制器內(nèi)部都包含有PWM 控制器。例如,Microchip 公司的PIC16C67 內(nèi)含兩個(gè)PWM 控制器,每一個(gè)都可以選擇接通時(shí)間和周期。占空比是接通時(shí)間與周期之比;調(diào)制頻率為周期的倒數(shù)。執(zhí)行PWM 操作之前,這種微處理器要求在軟件中完成以下工作:
- 設(shè)置提供調(diào)制方波的片上定時(shí)器/計(jì)數(shù)器的周期
- 在PWM 控制寄存器中設(shè)置接通時(shí)間
- 設(shè)置PWM 輸出的方向,這個(gè)輸出是一個(gè)通用I/O 管腳
- 啟動(dòng)定時(shí)器
- 使能PWM 控制器
5
軟件編程產(chǎn)生PWM
51單片機(jī)內(nèi)部沒(méi)有PWM控制器,需要通過(guò)軟件編程來(lái)實(shí)現(xiàn),程序如下。
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位定時(shí)器/計(jì)數(shù)器
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
-
電動(dòng)汽車
+關(guān)注
關(guān)注
155文章
11888瀏覽量
229716 -
模擬電路
+關(guān)注
關(guān)注
125文章
1554瀏覽量
102632 -
微處理器
+關(guān)注
關(guān)注
11文章
2245瀏覽量
82273 -
PWM控制器
+關(guān)注
關(guān)注
18文章
461瀏覽量
36023 -
脈寬調(diào)制器
+關(guān)注
關(guān)注
1文章
52瀏覽量
16981
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論