Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
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.5 o . 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: <SINH VIÊN TỤ VIẾT> 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: <sinh viên tự viết> ;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 . 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. 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. 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