Tài liệu hướng dẫn thực tập Vi điều khiển MSC-51 - Bài 7: Lập trình điều khiển Motor bước

Bài thực hành nhằm giúp học viên:

- Nắm nguyên tắc hoạt động của motor bước.

- Hiểu và viết được chương trình điều khiển motor bước: đóng ngắt, quay thuận,

và quay nghịch.

pdf5 trang | Chuyên mục: Vi Xử Lý – Vi Điều Khiển | Chia sẻ: dkS00TYs | Lượt xem: 1782 | Lượt tải: 4download
Tóm tắt nội dung Tài liệu hướng dẫn thực tập Vi điều khiển MSC-51 - Bài 7: Lập trình điều khiển Motor bước, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Bài 7: ðiều khiển Motor bước 
 Trang VII-1 
BÀI 7: 
 LẬP TRÌNH ðIỀU KHIỂN MOTOR BƯỚC 
 
I. Mục ñích bài thí nghiệm 
Bài thực hành nhằm giúp học viên: 
- Nắm nguyên tắc hoạt ñộng của motor bước. 
- Hiểu và viết ñược chương trình ñiều khiển motor bước: ñóng ngắt, quay thuận, 
và quay nghịch. 
II. Cơ sở lý thuyết 
Motor bước ñược dùng nhiều trong các ứng dụng ñơn giản nhưng cần góc quay có ñộ 
chính xác cao như: Bàn ñịnh vị, máy in, ngoại vi máy tính, thiết bị y tế,… 
a. Sơ lược cấu tạo motor bước 
ðộng cơ bước là ñộng cơ cho phép dịch chuyển mỗi 
lần một bước hay nửa bước tuỳ theo xung ñiều khiển. 
Góc quay của mỗi bước tuỳ theo loại ñộng cơ, thường 
là 1.80/bước hay 7.20/bước. 
ðộng cơ bước gồm 4 cuộn dây: 1-2, 2-3, 4-5 và 5-6 
như sơ ñồ hình 1: 
Hình 1- ðộng cơ bước 
Mạch ñiều khiển thông thường như hình 2: 
Hình 2 – Sơ ñồ ñiều khiển ñộng cơ bước 
Bài 7: ðiều khiển Motor bước 
 Trang VII-2 
b. Một số chế ñộ vận hành của motor bước 
Hình 1: Sơ ñồ ngõ ra dây ñiều khiển motor bước 
Các chế ñộ vận hành của Motor bước 
a. ðiều khiển một bước 
Bảng 1- ðiều khiển một bước quay thuận và ngược 
b. ðiều khiển nửa bước 
Bảng 1- ðiều khiển nửa bước quay thuận và ngược 
Bài 7: ðiều khiển Motor bước 
 Trang VII-3 
III. Phần thực hành 
Motor sử dụng trong bài thực hành là M42SP-5, ñiện thế sử dụng 5V, góc bước 7.5o. 
Thiết bị thực hành: 
- Bộ thí nghiệm ET-LAB3A MCS51 (board thí nghiệm, bộ nguồn và 3 dây bus 
ñể kết nối các port của vi ñiều khiển với các mạch ñiều khiển motor; 
- Một máy tính ñể soạn chương trình, biên dịch và nạp chương trình xuống 
board thí nghiệm; 
- Dây kết nối với máy tính. 
- Bật SW trong sơ ñồ sang vị trí 5V. 
- Các bit Px.0, Px.1, Px.2 và Px.3 dùng ñiều khiển motor bước. 
a. ðiều khiển motor bước theo kiểu một bước: 
Viết chương trình ñiều khiển motor bước quay theo kiểu một bước. 
Dựa vào bảng 1, học viên soạn thảo trên máy tính ñoạn chương trình như bên dưới rồi 
biên dịch và nạp xuống board thí nghiệm: 
ORG 0000H 
JMP Main ;không sử dụng ngắt nên không cần 
 ;ñể dành 30H bytes ñầu 
Main: Mov Sp, #256-32 ;define stack 32 bytes 
 Clr Ea ;cấm tất cả các ngắt 
LOOP1: MOV R2, #4 
 MOV DPTR, #TAB 
LOOP: MOV A, #0 
 MOVC A, @A+DPTR 
 MOV P0, A 
 CALL DELAY250 
 INC DPTR 
 DJNZ R2, LOOP 
 JMP LOOP1 
DELAY250: 
TAB: DB 01H, 02H, 04H, 08H ;Bảng ñiều khiển motor theo. 
END 
Yêu cầu: 
a) Chạy chương trình, quan sát qui luật sáng tắt của các led và hoạt ñộng của 
motor ñể hiểu nguyên tắc ñiều khiển motor bước. 
b) Sửa lại chương trình ñiều khiển motor mà không cần dùng bảng TAB. 
c) Sửa lại ñoạn chương trình trên ñể ñiều khiển motor sao cho thời gian trì hoãn 
giữa các bước là 0.5s. 
Bài 7: ðiều khiển Motor bước 
 Trang VII-4 
d) Sửa lại chương trình ñể cho motor quay tốc ñộ lớn hơn (thời gian trì hoãn ngắn 
hơn). Quan sát và cho nhận xét về phương thức ñiều khiển này có ưu khuyết 
ñiểm gì ? 
e) Sửa lại ñoạn chương trình trên ñể motor quay theo chiều ngược lại ? 
f) Sửa ñoạn chương trình trên ñể motor quay thuận 4 bước, sau ñó dừng 0.25s và 
rồi quay nghịch 4 bước. 
g) Viết chương trình ñiều khiển motor bước quay theo chiều thuận với số bước 
quay thuận ñược nhập từ bàn phím HEX. 
h) Viết chương trình ñiều khiển motor bước quay theo chiều thuận với số bước 
quay thuận ñược nhập từ bàn phím HEX. 
i) Viết chương trình ñiều khiển motor bước quay theo chiều thuận ↔ chiều ngược 
với số vòng quay ñược nhập từ bàn phím HEX 
b. ðiều khiển theo mode Half stepping: 
Viết chương trình ñiều khiển motor bước quay kiểu nửa bước. 
Dựa vào Bảng 2, học viên soạn thảo trên máy tính ñoạn chương trình như bên dưới rồi 
biên dịch và nạp xuống board thí nghiệm: 
ORG 0000H 
JMP MAIN 
MAIN: MOV SP, #256-32 ;define stack 32 bytes 
 CLR EA ;cấm tất cả các ngắt 
LOOP1: MOV R2, #8 
 MOV DPTR, #TAB 
LOOP: MOV A, #0 
 PUSH ACC 
 MOVC A, @A+DPTR 
 MOV P0, A 
 POP ACC 
 CALL DELAY250 
 INC A 
 DJNZ R2, LOOP 
 JMP LOOP1 
DELAY250: ;chương trình delay 0.25s 
TAB: DB 01H, 03H, 02H, 06H, 04H, 0CH, 08H, 09H 
 END 
Yêu cầu: 
a. Chạy chương trình, quan sát qui luật sáng tắt của các led và hoạt ñộng của 
motor ñể hiểu nguyên tắc ñiều khiển motor bước. 
Bài 7: ðiều khiển Motor bước 
 Trang VII-5 
b. Sửa lại chương trình ñể cho motor quay tốc ñộ lớn hơn (thời gian trì hoãn ngắn 
hơn). Quan sát và cho nhận xét về phương thức ñiều khiển này có ưu khuyết 
ñiểm gì ? 
c. So sánh phương thức ñiều khiển motor bước theo kiểu một bước và nửa bước 
ñể cho biết ưu ñiểm và khuyết ñiểm của mỗi phương thức 
d. Sửa lại chương trình ñể motor chỉ quay 12 bước rồi dừng? 
e. Sửa lại ñoạn chương trình trên ñể motor quay theo chiều ngược lại? 
f. Sửa ñoạn chương trình trên ñể motor quay thuận 8 bước, sau ñó dừng 0.25s và 
rồi quay nghịch 8 bước 
g. Viết chương trình ñiều khiển motor bước quay theo chiều thuận với số bước 
quay thuận ñược nhập từ bàn phím HEX. 
h. Viết chương trình ñiều khiển motor bước quay theo chiều thuận với số bước 
quay thuận ñược nhập từ bàn phím HEX. 
i. Viết chương trình ñiều khiển motor bước quay theo chiều thuận ↔ chiều ngược 
với số vòng quay ñược nhập từ bàn phím HEX. 
-----------Hết----------- 

File đính kèm:

  • pdfTài liệu hướng dẫn thực tập Vi điều khiển MSC-51 - Bài 7 Lập trình điều khiển Motor bước.pdf