You are on page 1of 4

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ể điều
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 <mod51fx> : Đị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

; * Vận tốc độ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 -

You might also like