Tải bản đầy đủ (.pdf) (9 trang)

Vi Mạch MCS 51 - Ứng Dụng Thực Tế (Phần 2) part 4 ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (623.9 KB, 9 trang )

H. HỆ THỐNG ĐIỀU KHIỂN RELAY.
Bài tập: Chương trình điều khiển RELAY1 và RELAY2 đóng ngắt tuần tự và liên tục. Thời gian giữa hai lần
đóng ngắt là 1s (RELAY1 và RELAY2 được nối với P1.0 và P1.1).
Giáo trình thực hành vi xử lý. 199 Biên soạn: Phạm Quang Trí
2 Bài tập:
• Bài 1: Hãy viết chương trình điều khiển RELAY2 đóng ngắt liên tục. Thời gian giữa hai lần đóng ngắt là
3s. Tự lựa chọn phương pháp kết nối relay.
• Bài 2: Hãy viết chương trình điều khiển RELAY1 đóng ngắt liên tục sau mỗi 1 giây đồng thời với
RELAY2 đóng ngắt sau mỗi 2 giây. Tự lựa chọn phương pháp kết nối relay.
• Bài 3: Hãy viết chương trình điều khiển sao cho khi ta nhấn:
 Nhấn nút nhấn KEY1 thì LED 7 đoạn hiển thị số 1 và RELAY1 đóng.
 Nhấn nút nhấn KEY2 thì LED 7 đoạn hiển thị số 1 và RELAY2 đóng.
 Nhấn nút nhấn KEY0 thì LED 7 đoạn hiển thị số 0 và cả hai relay đều ngắt.
Tự lựa chọn phương pháp kết nối relay, nút nhấn và LED 7 đoạn.
• Bài 4: Hãy viết chương trình điều khiển sao cho khi ta nhấn:
 Nhấn phím số “1” thì LED ma trận hiển thị số 1 và RELAY1 đóng.
 Nhấn phím số “2” thì LED ma trận hiển thị số 1 và RELAY2 đóng.
 Nhấn phím “ESC” thì LED ma trận hiển thị số 0 và cả hai relay đều ngắt.
Tự lựa chọn phương pháp kết nối relay, bàn phím và LED ma trận.
• Bài 5: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.




TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP




T


T
À
À
I
I


L
L
I
I


U
U


H
H
Ư
Ư


N
N
G
G


D

D


N
N


T
T
H
H
Í
Í


N
N
G
G
H
H
I
I


M
M


-

-


T
T
H
H


C
C


H
H
À
À
N
N
H
H




















I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC.
Giáo trình thực hành vi xử lý. 201 Biên soạn: Phạm Quang Trí

A. MỤC ĐÍCH:

• Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô
hình thí nghiệm để kiểm chứng.
• Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển.
• Tìm hiểu nguyên lý hoạt động của các loại động cơ bước công suất nhỏ.
• Tìm hiểu nguyên lý điều khiển động cơ bước bằng vi điều khiển và ứng dụng lập trình để điều khiển hoạt
động cho các động cơ bước này.

B. YÊU CẦU:

• Nắm vững tập lệnh của vi điều khiển MCS-51.
• Biết cách viết các chương trình điều khiển động cơ bước quay thuận/ngược, quayliên tục/từng bước, ….
• Nắm được sơ đồ và nguyên lý hoạt động của khối động cơ bước trên mô hình thí nghiệm.
• Nắm được nguyên lý hoạt động và nguyên lý điều khiển động cơ bước.
• Biết cách viết các chương trình ứng dụng điều khiển động cơ bước hoạt động theo các chế độ khác nhau.




I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC.
Bài 1: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ (CTRL MOTOR được nối với Port0).
Giáo trình thực hành vi xử lý. 202 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Tắt nguồn cấp cho mô hình thí nghiệm.
• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J31 (CONTROL MOTOR) ở khối
motor bước.
• Dùng dây bus 4 nối J30 (MOTOR 1) ở khối motor bước với các dây điều khiển của motor bước (sử dụng
loại motor bước có 5 dây (4 điều khiển +1 nguồn) hoặc loại 6 dây (2 điều khiển + 1 nguồn và 2 điều khiển
+ 1 nguồn).
• Dùng dây bus 3 nối J105 (POWER) ở khối motor bước với nguồn +5V ở khối nguồn.
• Dùng dây bus 1 nối các dây nguồn của motor bước với nguồn +5V ở khối nguồn.

1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
;***************************************************
;CHUONG TRINH DIEU KHIEN DONG CO BUOC (MOTOR 1) QUAY LIEN TUC
;***************************************************
;KET NOI: MOTOR CONTROL -> PORT0 (ACT = 0)
;***************************************************
ORG 00H
MAIN:
MOV P0,#00000001B ;XUAT PORT DIEU KHIEN MOTOR - BUOC 1
ACALL DELAY
MOV P0,#00000010B ;XUAT PORT DIEU KHIEN MOTOR - BUOC 2
ACALL DELAY
MOV P0,#00000100B ;XUAT PORT DIEU KHIEN MOTOR - BUOC 3
ACALL DELAY

MOV P0,#00001000B ;XUAT PORT DIEU KHIEN MOTOR - BUOC 4
ACALL DELAY
SJMP MAIN ;QUAY LAI
;****************************************************
DELAY: ;CHUONG TRINH CON TAO THOI GIAN TRE 1S
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
LOOP2:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
END
1.3 Lưu chương trình và biên dịch chương trình.
1.4 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có.
I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC.
Bài 1: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ (CTRL MOTOR được nối với Port0).
Giáo trình thực hành vi xử lý. 203 Biên soạn: Phạm Quang Trí
1.5 Gắn chip vi điều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip
hoạt động.
1.6 Nạp chương trình vào vi điều khiển.
1.7 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển.
1.8 Bật nguồn cho mô hình thí nghiệm. Quan sát kết quả hoạt động, nếu kết quả hoạt động không đúng yêu
cầu của đề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ

bước 3 đến bước 9.
2 Bài tập:
(xem thêm trong phần hướng dẫn và phần bài tập của Bài 3)


I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC.
Bài 2: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ một vòng rồi dừng lại (CTRL
MOTOR được nối với Port0).
Giáo trình thực hành vi xử lý. 204 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
;***************************************************
;CHUONG TRINH DIEU KHIEN DONG CO BUOC (MOTOR 1) QUAY 1 VONG
;***************************************************
;KET NOI: MOTOR CONTROL -> PORT0 (ACT = 0), 1.8 DEG/STEP (200 STEP/ROUND)
;***************************************************
ORG 00H
MAIN:
MOV P0,#00H ;DUA MOTOR VE TRANG THAI TINH
MOV R0,#0 ;BIEN DEM SO BUOC
MOV A,#00000001B ;TRANG THAI BAN DAU (BUOC 1)
STEPNEXT:
MOV P0,A ;XUAT XUNG DIEU KHIEN MOTOR
ACALL DELAY
RL A ;CHUYEN DICH SANG TRANG THAI XUNG DIEU KHIEN KE TIEP
INC R0 ;DEM SO BUOC QUAY
CJNE A,#00010000B,NEXT ;KIEM TRA TRANG THAI XUNG DIEU KHIEN (4 BUOC ?) - Y: CHUA DU
MOV A,#00000001B ;DUA XUNG DIEU KHIEN VE TRANG THAI BAN DAU (BUOC 1)

NEXT:
CJNE R0,#200,STEPNEXT ;KIEM TRA MOTOR DA QUAY DU 1 VONG - 200 BUOC
SJMP $ ;DUNG KHI DA DU 1 VONG
;****************************************************
DELAY: ;CHUONG TRINH CON TAO THOI GIAN TRE 1S
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
LOOP2:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
(xem thêm trong phần hướng dẫn và phần bài tập của Bài 3)


I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC.
Bài 3: Chương trình điều khiển STEPPER1 quay bằng cách nhấn nút KEY0: quay thuận, KEY1: quay ngược,
KEY2: dừng (CTRL MOTOR được nối với Port0, MOMENTARY SW: được nối với Port1).
Giáo trình thực hành vi xử lý. 205 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.

• Tắt nguồn cấp cho mô hình thí nghiệm.
• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J31 (CONTROL MOTOR) ở khối
motor bước.
• Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J76 (MOMENTARY SW) ở khối nút nhấn.
• Dùng dây bus 4 nối J30 (MOTOR 1) ở khối motor bước với các dây điều khiển của motor bước (sử dụng
loại motor bước có 5 dây (4 điều khiển +1 nguồn) hoặc loại 6 dây (2 điều khiển + 1 nguồn và 2 điều khiển
+ 1 nguồn).
• Dùng hai dây bus 3 nối J105 (POWER) ở khối motor bước và J114 (POWER) ở khối nút nhấn với nguồn
+5V ở khối nguồn.
• Dùng dây bus 1 nối các dây nguồn của motor bước với nguồn +5V ở khối nguồn.

1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
;***************************************************
;CHUONG TRINH DIEU KHIEN DONG CO BUOC (MOTOR 1) QUAY THUAN/NGHICH KHI NHAN NUT NHAN
;***************************************************
;KET NOI: MOTOR CONTROL -> PORT0 (ACT = 0) MOMENTARY SW -> PORT1 (ACT = 0)
;***************************************************
ORG 00H
MAIN:
MOV A,#01H ;XUNG KHIEN BUOC 1
MOV P0,A ;XUAT XUNG KHIEN
MOV R0,#0 ;BIEN NHAN GIA TRI CUA NUT DUOC NHAN (KEY0 = 0)
TESTKEY:
JB P1.0,NEXTKEY1 ;Y: KEY0 KHONG DUOC NHAN
MOV R0,#0 ;NAP GIA TRI CUA NUT -> KEY0 NHAN
NEXTKEY1:
JB P1.1,NEXTKEY2 ;Y: KEY1 KHONG DUOC NHAN
MOV R0,#1 ;NAP GIA TRI CUA NUT -> KEY1 NHAN
NEXTKEY2:
JB P1.2,COMPARE ;Y: KEY2 KHONG DUOC NHAN

MOV R0,#2 ;NAP GIA TRI CUA NUT -> KEY2 NHAN
COMPARE:
CJNE R0,#1,NEXT_COM1 ;Y: NUT NHAN KHONG PHAI LA KEY1
RL A ;NUT NHAN LA KEY1 -> QUAY THUAN 1 BUOC
ACALL ROTATE
NEXT_COM1:

CJNE R0,#2,NEXT_COM2 ;Y: NUT NHAN KHONG PHAI LA KEY2
RR A ;NUT NHAN LA KEY2 -> QUAY NGHICH 1 BUOC
ACALL ROTATE
I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC.
Bài 3: Chương trình điều khiển STEPPER1 quay bằng cách nhấn nút KEY0: quay thuận, KEY1: quay ngược,
KEY2: dừng (CTRL MOTOR được nối với Port0, MOMENTARY SW: được nối với Port1).
Giáo trình thực hành vi xử lý. 206 Biên soạn: Phạm Quang Trí
NEXT_COM2:
SJMP TESTKEY ;QUAY TRO VE
;****************************************************
ROTATE: ;CTC DIEU KHIEN QUAY MOTOR
CJNE A,#10H,BIT4_BIT0 ;KIEM TRA TRANG THAI XUNG
MOV A,#01H ;DIEU CHING TRANG THAI XUNG VE BUOC 1
BIT4_BIT0:
CJNE A,#80H,BIT7_BIT3 ;KIEM TRA TRANG THAI XUNG
MOV A,#08H ;DIEU CHING TRANG THAI XUNG VE BUOC 4
BIT7_BIT3:
MOV P0,A ;XUAT XUNG KHIEN
ACALL DELAY
RET
;****************************************************
DELAY: ;CHUONG TRINH CON TAO THOI GIAN TRE 1S
PUSH 00H

MOV R0,#100
MOV TMOD,#01H
LOOP2:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1: Hãy viết chương trình điều khiển STEPPER2 quay ngược chiều kim đồng hồ.
• Bài 2: Hãy viết chương trình điều khiển STEPPER1 và 2 quay cùng chiều kim đồng hồ.
• Bài 3: Hãy viết chương trình điều khiển STEPPER1 quay ngược chiều kim đồng hồ và STEPPER2 quay
cùng chiều kim đồng hồ. Tự lựa chọn phương pháp kết nối motor bước.
• Bài 4: Hãy viết chương trình điều khiển STEPPER1 hoạt động khi ta nhấn phím trên bàn phím:
 Nhấn phím “1”: STEPPER1 quay cùng chiều kim đồng hồ.
 Nhấn phím “2”: STEPPER1 quay ngược chiều kim đồng hồ.
 Nhấn phím “ESC”: STEPPER1 dừng.
• Bài 5: Hãy viết chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ khi ta nhấn phím trên
bàn phím:
 Nhấn phím “1”: STEPPER1 tăng dần tốc độ quay.
 Nhấn phím “2”: STEPPER1 giãm dần tốc độ quay.
 Nhấn phím “ESC”: STEPPER1 dừng.
• Bài 6: Hãy viết chương trình điều khiển STEPPER1 hoạt động khi ta nhấn nut nhấn:
 Nhấn nút KEY0: STEPPER1 quay cùng chiều kim đồng hồ.

 Nhấn nút KEY1: STEPPER1 quay ngược chiều kim đồng hồ.
 Nhấn nút KEY2: STEPPER1 tăng dần tốc độ quay.
 Nhấn nút KEY3: STEPPER1 giãm dần tốc độ quay.
 Nhấn nút KEY4: STEPPER1 dừng.
• Bài 7: Hãy viết chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ, motor sẽ quay khi ta
nhập từ bàn phím số bước cần quay (0 đến 200) và nhấn phím “ENTER”, motor sẽ dừng bất cứ lúc nào khi
ta nhấn phím “ESC”. Số bước motor nhập vào và số bước motor quay sẽ được hiển thị lên ba LED 7 đoạn.
• Bài 8: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.



TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP




T
T
À
À
I
I


L
L
I
I



U
U


H
H
Ư
Ư


N
N
G
G


D
D


N
N


T
T
H
H
Í

Í


N
N
G
G
H
H
I
I


M
M


-
-


T
T
H
H


C
C



H
H
À
À
N
N
H
H



















×