Kỹ thuật điều xung PWM
MCU P89V51RD2 Có 5 kênh diêu xung (PWM) t P1.3 - P1.7. S# d%ng
rât d(n gi)n và linh ho.t cho viec diêu xung. Nêu m.ch công suât dư7c thiêt kê
d.ng m.ch câu H thì ta diêu khien dư7c 2 dong c(. Tuy nhiên ta có the diêu
xung dư7c cho 5 dong c( nêu m.ch công suât dư7c thiêt kê bao gôm 1 FET và
1 R(le. Trong bài này chúng tôi lây 1 ví d% là chư(ng trình diêu khien van tôc
dong c( tang dân và gi)m dân . Các diêu kien dư7c khai báo K dâu chư(ng trình
là bat buoc,...
Tài li u k thu t
BKpro – http://www.bkpro.info
K THU T I U XUNG PWM
MCU P89V51RD2 Có 5 kênh i u xung (PWM) t P1.3 - P1.7. S d ng
r t ơn gi n và linh ho t cho vi c i u xung. N u m ch công su t ư c thi t k
d ng m ch c u H thì ta i u khi n ư c 2 ng cơ. Tuy nhiên ta có th iu
xung ư c cho 5 ng cơ n u m ch công su t ư c thi t k bao g m 1 FET và
1 Rơle. Trong bài này chúng tôi l y 1 ví d là chương trình i u khi n v n t c
ng cơ tăng d n và gi m d n . Các i u ki n ư c khai báo u chương trình
là b t bu c, nên c trư c Datasheets hi u rõ hơn. Chúc các b n thành công.
Ví d :
$mod51fx ;include : nh nghĩa các bi n
thanh ghi (CCAP0H,CCAP1H,...)
;================ DEFINE BIT =================
;-------- MOTOR
MOTOR1 DATA CCAP0H ; P1.3
MOTOR2 DATA CCAP1H ; P1.4
MOTOR3 DATA CCAP2H ; P1.5
MOTOR4 DATA CCAP3H ; P1.6
MOTOR5 DATA CCAP4H ; P1.7
;-------- START
BIT_START BIT P2.0 ; Nút nh n start
;-------- GIÁ TR I U XUNG
PWM_COUNT BIT 50H ; 0 - 255
;=================== MAIN ====================
ORG 0000H
MAIN
; Cho phép i u xung 5 kênh P1.3 - P1.7
MOV CMOD,#0 ;Ch 6 chu kì xung nh p = 1/2 chu kì
máy
SETB CR ;Cho phép PCA (programing counter array)
ho t ng
Tài li u k thu t t Bkpro
Trang - 1 -
Tài li u k thu t
BKpro – http://www.bkpro.info
MOV CCAPM0,#01000010B ; P1.3 PCA ho t ng ch
PWM 8 bits
MOV CCAPM1,#01000010B ; P1.4
MOV CCAPM2,#01000010B ; P1.5
MOV CCAPM3,#01000010B ; P1.6
MOV CCAPM4,#01000010B ; P1.7
; * Chương trình i u khi n v n t c ng cơ
;t 0 - max và t max - 0 trên kênh P1.3
;*Vntc ng cơ t 0 - max ng v i
; PWM_COUNT t 0 - 255 và ngư c l i
MOV PWM_COUNT,#0 ; ng cơ d ng
JB BIT_START,$ ; Cho phép ng cơ ch y
RUN_UP: ; 0 - max
INC PWM_COUNT
MOV MOTOR1,PWM_COUNT
LCALL DELAY200MS
MOV A,PWM_COUNT
CJNE A,#255,RUN_UP
RUN_DOWN: ; max - 0
DEC PWM_COUNT
MOV MOTOR1,PWM_COUNT
LCALL DELAY200MS
MOV A, PWM_COUNT
CJNE A,#0,RUN_DOWN
JMP RUN_UP
SJMP $
Tài li u k thu t t Bkpro
Trang - 2 -
Tài li u k thu t
BKpro – http://www.bkpro.info
;-------- DELAY 200MS
DELAY200MS:
MOV R2,#2
LOOP200_1:
MOV R0,#200
LOOP200_2:
MOV R1,#250
DJNZ R1,$
DJNZ R0,LOOP200_2
DJNZ R2,LOOP200_1
RET
;--------
END
M ch i n :
Chúng tôi thay ng cơ b ng led minh ho . Các b n có th quan sát th y
led tu n t sáng d n và t i d n sau khi nh n nút start.
Tài li u k thu t t Bkpro
Trang - 3 -
Tài li u k thu t
BKpro – http://www.bkpro.info
Tài li u k thu t t Bkpro
Trang - 4 -