1
PWM是什么
脈寬調制(Pulse Width Modulation)是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。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文章
11950瀏覽量
230579 -
模擬電路
+關注
關注
125文章
1555瀏覽量
102685 -
微處理器
+關注
關注
11文章
2247瀏覽量
82331 -
PWM控制器
+關注
關注
18文章
461瀏覽量
36057 -
脈寬調制器
+關注
關注
1文章
52瀏覽量
16993
發布評論請先 登錄
相關推薦
評論