Tài liệu hướng dẫn thực tập Vi điều khiển MSC-51 - Bài 6: Điều khiển Motor - Relay

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

- Nắm nguyên tắc cấu tạo và hoạt động của motor DC;

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

và quay nghịch.

- Hiểu và viết được chương trình điều khiển on/off Relay dùng trong điều khiển

công suất.

pdf6 trang | Chuyên mục: Vi Xử Lý – Vi Điều Khiển | Chia sẻ: dkS00TYs | Lượt xem: 1649 | Lượt tải: 1download
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 6: Điều khiển Motor - Relay, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Bài 6: ðiều khiển Motor DC 
 Trang VI-1 
BÀI 6: 
ðIỀU KHIỂN MOTOR - RELAY 
 
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 cấu tạo và hoạt ñộng của motor DC; 
- Hiểu và viết ñược chương trình ñiều khiển motor DC: ñóng ngắt, quay thuận, 
và quay nghịch. 
- Hiểu và viết ñược chương trình ñiều khiển on/off Relay dùng trong ñiều khiển 
công suất. 
II. Cơ sở lý thuyết 
a. Sơ lược Motor DC 
Motor DC ñược sử dụng rộng rãi trên thị trường do có ñặc ñiểm: giá rẻ, momen lớn. 
Do tốc ñộ quay tương ñối lớn nên khi sử dụng, cần có bộ phận giảm tốc, cũng là ñể 
tăng lực kéo cho motor. 
Khi dòng ñiện DC chạy qua cuộn dây, lực từ tác dụng lên cuộn dây làm quay rotor. 
ðể thay ñổi chiều quay, ta phải ñảo chiều dòng ñiện cấp vào motor. 
ðiều chỉnh ñộ rộng xung kích, ta có thể ñiều chỉnh ñược tốc ñộ, hay công suất hoạt 
ñộng của motor. Thông thường người ta ñiều khiển tốc ñộ Motor DC theo phương 
thức biến ñiệu ñộ rộng xung PWM, chính sự thay ñổi ñộ rộng xung này sẽ làm cho 
thay ñổi tốc ñộng cung như công suất của motor DC. 
Bài 6: ðiều khiển Motor DC 
 Trang VI-2 
b. Sơ lược về Relay 
Relay hoạt ñộng như một công tắc ñiện tử bao gồm một chân thường ñóng (NC – 
Normally Closed: chân 5) và một chân thường mở (NO - Normal Open: chân 4). Khi 
có dòng ñiện ñi qua cuộn dây (1-2) của Relay, vị trí của công tắc sẽ thay ñổi từ NC 
sang NO. Như vậy, khi không có dòng ñiện qua cuộn dây thì chân 3 nối với chân 5 và 
2 
1 
Hình 1 
Bài 6: ðiều khiển Motor DC 
 Trang VI-3 
khi có dòng ñiện thì chân 3 nối với chân 4. Dạng của Relay và sơ ñồ mạch cho như 
hình vẽ. 
c. ðiều khiển hoạt ñộng: 
ðể motor quay thuận hoặc nghịch, ta sẽ lập trình ñiều khiển trạng thái logic của các 
chân P0 và P1 như Bảng 1. 
Bảng 1: Các trạng thái ñiều khiển Motor 
Px.0 Px.1 Trạng thái Motor 
0 0 Dừng 
0 1 Quay thuận 
1 0 Quay nghịch 
1 1 Dừng 
III. Phần thực hành 
Thiết bị thực hành: 
- Bộ thí nghiệm ET-LAB3A MCS51 (board thí nghiệm, bộ nguồn và các 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. 
- Sinh viên nhìn vào chương trình ñể xác ñịnh PORT nào ñược sử dụng trong vi 
ñiều khiển. Dùng dây bus kết nối các PORT của vi ñiều khiển với các module 
ñiều khiển. Ví dụ sử dụng Port 2 của vi ñiều khiển (học viên có thể chọn Port 
0, Port 1 hoặc Port 3). 
- Bật SW trong sơ ñồ nguyên lý hình 1 sang vị trí 2. 
1. ðiều khiển ñóng ngắt Relay. 
Viết chương trình ñiều khiển Relay on/off mỗi khi ấn công tắc SW1 
a. Chương trình mẫu gợi ý. 
ORG 0000H 
JMP MAIN 
MAIN: 
SETB P3.2 ; set P3.2 là ngõ vào của SW1 – công tắc 
Bài 6: ðiều khiển Motor DC 
 Trang VI-1 
BEGIN: JB P3.2, $ ; ðợi SW1 ấn 
CALL DELAY 
CPL P2.4 ; Kết nối với Relay 
JMP BEGIN 
DELAY: 
MOV R7,#255 
DELAY1: 
MOV R6,#255 
DJNZ R6,$ 
DJNZ R7,DELAY1 
RET 
END 
b. Yêu cầu: 
- Chú ý: SW1 = Px.2 và SW = Px.3; Px.4 dùng ñể kết nối ñiều khiển Relay 
- Cho thực thi chương trình ñể kiểm chứng. 
- Sửa ñổi ñổi chương trình sao cho mỗi khi SW1 ñược ấn thì thời gian ON của 
RELAY sẽ lâu hơn. 
- Sửa ñổi chương trình sao cho mỗi khi ấn SW1 một lần thì Relay sẽ on/off 10 
lần. 
- Thêm vào một nút nhấn tại P3.3 kết nối SW2, viết chương trình ñiều khiển ñể 
khi nhấn SW1 thì ñóng Relay, nhấn SW2 thì ngắt Relay. 
- Sửa lại chương trình sao cho khi ấn SW1 thi Relay ON 1 phút, khi ñó trong lúc 
này SW2 bị vô hiệu hoá và chỉ khi hết thời gian ON của Relay thì SW1 mới có 
tác dụng. Khi ñó nếu SW2 ñược ấn thì Relay sẽ ON/OFF ở tần số 1Hz. 
- Sửa lại chương trình dùng SW1 và SW2 ñể ñiều khiển Relay theo nguyên tắc 
của cổng EX-OR (khi SW1 và SW2 cùng trạng thái thì Relay OFF, khi SW1 và 
SW2 khác trạng thái thì Relay ON) 
2. Chương trình ñiều khiển motor DC. 
Bài 1: ðể motor quay, ta viết chương trình xuất dữ liệu ñiều khiển các chân P0 và 
P1 (chú ý P0 và P1 là các ñường ñiều khiển ngõ vào, không phải là PORT0 và PORT1 
của vi ñiều khiển) như ñã mô tả trong Bảng 1. 
a. Chương trình mẫu gợi ý. 
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 
LOOP: MOV P3, #0FEH ;cho motor quay 
 JMP $ 
END 
b. Yêu cầu: 
- Chạy chương trình quan sát kết quả trên motor. 
- Sửa ñổi chương trình cho motor quay thuận 1 phút rồi dùng lại. 
Bài 6: ðiều khiển Motor DC 
 Trang VI-5 
- Sửa lại ñoạn chương trình trên ñể motor cứ quay 30s thì dừng 30s và lặp lại? 
- Sửa chương trình cho motor quay theo chiều ngược lại. 
- Sửa lại chương trình cho motor quay thuận 30s sau ñó quay ngược 30s. Chu 
trình này ñược lặp lại. 
- Sửa lại chương trình khi thêm vào 2 nút nhấn SW1, SW2 (SW1 = Px.2 và 
SW = Px.3). Viết chương trình ñiều khiển ñể khi nhấn SW1 thì Motor quay 
theo chiều thuận, khi ấn SW2 thì motor quay theo chiều ngược lại. 
- Sửa lại chương trình dùng SW1 = Px.2 và SW = Px.3 ñể ñiều khiển motor 
theo nguyên tắc của cổng EX-OR (khi SW1 và SW2 cùng trạng thái thì 
motor OFF, khi SW1 và SW2 khác trạng thái thì motor quay thuận hoặc 
nghịch) 
Bài 2: Dựa vào các chương trình con sẵn có, hãy viết chương trình ñiều khiển sao 
cho motor quay thuận trong 5s, sau ñó ñảo chiều quay. 
a. Chương trình mẫu gợi ý. 
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 
 MOV P3, #0FEH ;bật cho motor quay 
 MOV R2, #20 ;canh thời gian 5s 
LOOP: CALL DELAY250 ;delay 0.25s 
 DJNZ R2, LOOP 
 MOV P3, #0FDH ;ñảo chiều 
DELAY250: 
 END 
b. Yêu cầu: 
- Chạy chương trình quan sát kết quả ñể kiểm chứng. 
- Sửa lại ñoạn chương trình trên ñể motor quay thuận 5s, sau ñó ñảo chiều và 
quay 5s rồi dừng. 
- Sửa lại ñoạn chương trình trên ñể motor cứ quay thuận 3s, thì quay nghịch 
6s và lặp lại. 
- Sửa lại chương trình khi thêm vào 2 nút nhấn SW1, SW2. Viết chương trình 
ñiều khiển ñể khi nhấn SW1 thì Motor quay theo chiều thuận 10s, khi ấn 
SW2 thì motor quay theo chiều ngược lại 20s. Sau ñó dừng lại 
Bài 3: Dựa vào các chương trình con sẵn có, hãy viết chương trình ñiều khiển sao 
cho motor quay ở ¼ tốc ñộ bình thường. 
Bài 6: ðiều khiển Motor DC 
 Trang VI-6 
ðể giảm tốc ñộ quay của motor, ta sử dụng phương pháp PWM. Chính sự thay ñổi ñộ 
rộng của xung cấp cho P0 hoặc P1 sẽ làm cho motor quay hết công suất hay không. 
a. Chương trình mẫu gợi ý. 
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 
LOOP: MOV P3, #0FEH ;bật motor quay 5ms 
 CALL DELAY5 ;delay 5ms 
 MOV P3, #0FFH ;dừng motor 15ms 
 CALL DELAY5 
 CALL DELAY5 
 CALL DELAY5 
 JMP LOOP 
DELAY5: 
 END 
b. Yêu cầu: 
- Chạy chương trình và quan sát kết quả. 
- Sửa chương trình ñể thay ñổi thời gian delay hay ñể thay ñổi ñội rộng xung. 
Chay chương trình và quan sát kết quả. Có nhận xét gì khi thay ñổi thời gian 
dẫn của motor. 
- Sửa lại chương trình ñể motor quay ở tốc ñộ bằng ½ tốc ñộ bình thường. 
- Sửa lại chương trình ñể motor quay ở tốc ñộ bằng ¾ tốc ñộ bình thường 
(Gợi ý: thay ñổi thời gian quay bằng 15ms và thời gian dừng là 5ms). 
- Sửa lại chương trình ñể motor chỉ quay trong khoảng thời gian 30 giây rồi 
dừng trong khoảng 30 giây và sau ñó lặp lại quá trình này. 
- Sửa lại chương trình ñể motor quay theo chu trình như sau: chiều thuận 
(quay phải) 10 giây  dừng 5 giây  quay theo chiều nghịch (quay trái) 10 
giây. Sau ñó lặp lại quá trình này. 
- Sửa chương trình ñiều khiển motor bằng tay. Nếu ấn SW1 thì motor quay 
theo tốc ñộ 1, còn nếu ấn SW2 thì motor quay tốc ñộ 2. Dĩ nhiên tốc ñộ 1 sẽ 
nhỏ hơn tốc ñộ hai. 
-----------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 6 Điều khiển Motor - Relay.pdf