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

vi xử lý hệ thống điều khiển moto bước

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 (538.12 KB, 11 trang )


KHOA CÔNG NGHỆ Đ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ý. 2 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 THNG IU KHIN MOTOR BC.
Bi 1: Chng trỡnh iu khin STEPPER1 quay cựng chiu kim ng h (CTRL MOTOR c ni vi Port0).
Giỏo trỡnh thc hnh vi x lý. 3 Biờn son: Phm Quang Trớ
1 Trỡnh t tin hnh thớ nghim:
1.1 Kt ni thit b thớ nghim.
Tt ngun cp cho mụ hỡnh thớ nghim.
Dựng dõy bus 8 ni J63 (PORT0 / DATA) khi vi iu khin vi J31 (CONTROL MOTOR) khi
motor bc.
Dựng dõy bus 4 ni J30 (MOTOR 1) khi motor bc vi cỏc dõy iu khin ca motor bc (s dng
loi motor bc cú 5 dõy (4 iu khin +1 ngun) hoc loi 6 dõy (2 iu khin + 1 ngun v 2 iu khin
+ 1 ngun).
Dựng dõy bus 3 ni J105 (POWER) khi motor bc vi ngun +5V khi ngun.
Dựng dõy bus 1 ni cỏc dõy ngun ca motor bc vi ngun +5V khi ngun.

1.2 S nguyờn lý ca h thng:
AD7
AD0
AD0
AD1
AD2
AD3

AD4
AD5
AD6
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
AD1
AD2
AD3
A
B C
D
V+ V+
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9

P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7

P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25

P2.5/A13
26
P2.6/A14
27
U1
AT89C51
C1
33p
C2
33p
X1
12MHz
C3
10uF
R1
10k
+5V
2
3
4
5
6
7
8
9
1
RP1
10K
+5V
MAẽCH ẹIEU KHIEN ẹONG Cễ BệễC (STEPPER MOTOR)

MAẽCH ẹIEU KHIEN ẹONG Cễ BệễC (STEPPER MOTOR)MAẽCH ẹIEU KHIEN ẹONG Cễ BệễC (STEPPER MOTOR)
MAẽCH ẹIEU KHIEN ẹONG Cễ BệễC (STEPPER MOTOR)
+88.8
1B
1
2B
2
3B
3
4B
4
5B
5
6B
6
7B
7
8B
8
1C
18
2C
17
3C
16
4C
15
5C
14
6C

13
7C
12
8C
11
COM
10
U2
ULN2803
+5V +5V

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ý. 4 Biên soạn: Phạm Quang Trí
1.3 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
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ý. 5 Biên soạn: Phạm Quang Trí
1.4 Lưu chương trình và biên dịch chương trình.
1.5 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có.
1.6 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.7 Nạp chương trình vào vi điều khiển.
1.8 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.9 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ý. 6 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 Sơ đồ nguyên lý của hệ thống:
• Sơ đồ nguyên lý của hệ thống tương tự như Bài 1.
1.3 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
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ý. 7 Biên soạn: Phạm Quang Trí
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.4 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 THNG IU KHIN MOTOR BC.
Bi 3: Chng trỡnh iu khin STEPPER1 quay bng cỏch nhn nỳt KEY1: quay thun, KEY2: quay ngc,
KEY0: dng (CTRL MOTOR c ni vi Port0, MOMENTARY SW: c ni vi Port1).
Giỏo trỡnh thc hnh vi x lý. 8 Biờn son: Phm Quang Trớ
1 Trỡnh t tin hnh thớ nghim:
1.1 Kt ni thit b thớ nghim.
Tt ngun cp cho mụ hỡnh thớ nghim.
Dựng dõy bus 8 ni J63 (PORT0 / DATA) khi vi iu khin vi J31 (CONTROL MOTOR) khi
motor bc.
Dựng dõy bus 8 ni J64 (PORT1) khi vi iu khin vi J76 (MOMENTARY SW) khi nỳt nhn.
Dựng dõy bus 4 ni J30 (MOTOR 1) khi motor bc vi cỏc dõy iu khin ca motor bc (s dng
loi motor bc cú 5 dõy (4 iu khin +1 ngun) hoc loi 6 dõy (2 iu khin + 1 ngun v 2 iu khin
+ 1 ngun).
Dựng hai dõy bus 3 ni J105 (POWER) khi motor bc v J114 (POWER) khi nỳt nhn vi ngun
+5V khi ngun.
Dựng dõy bus 1 ni cỏc dõy ngun ca motor bc vi ngun +5V khi ngun.

1.2 S nguyờn lý ca h thng:
AD7
AD0
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7

AD6
AD5
AD4
AD3
AD2
AD1
AD0
AD1
AD2
AD3
A
B C
D
V+ V+
KEY0
KEY0
KEY1
KEY2
KEY1
KEY2
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29

RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6

P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24

P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
C1
33p
C2
33p
X1
12MHz
C3
10uF
R1
10k
+5V
2
3
4
5
6
7
8
9
1
RP1
10K

+5V
MAẽCH ẹIEU KHIEN ẹONG Cễ BệễC (STEPPER MOTOR)
MAẽCH ẹIEU KHIEN ẹONG Cễ BệễC (STEPPER MOTOR)MAẽCH ẹIEU KHIEN ẹONG Cễ BệễC (STEPPER MOTOR)
MAẽCH ẹIEU KHIEN ẹONG Cễ BệễC (STEPPER MOTOR)
+88.8
1B
1
2B
2
3B
3
4B
4
5B
5
6B
6
7B
7
8B
8
1C
18
2C
17
3C
16
4C
15
5C

14
6C
13
7C
12
8C
11
COM
10
U2
ULN2803
+5V +5V
STOP
R2
10k
+5V
FOR
R3
10k
+5V
REW
R4
10k
+5V

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 KEY1: quay thuận, KEY2: quay ngược,
KEY0: 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ý. 9 Biên soạn: Phạm Quang Trí
1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.


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 KEY1: quay thuận, KEY2: quay ngược,
KEY0: 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ý. 10 Biên soạn: Phạm Quang Trí
;***************************************************
;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
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 CHINH TRANG THAI XUNG VE BUOC 1
BIT4_BIT0:
CJNE A,#80H,BIT7_BIT3 ;KIEM TRA TRANG THAI XUNG
MOV A,#08H ;DIEU CHINH 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.4 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ồ.
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 KEY1: quay thuận, KEY2: quay ngược,
KEY0: 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ý. 11 Biên soạn: Phạm Quang Trí
 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.



×