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
Trang 1BÀ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
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
Trang 2b 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
Trang 3khi 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
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
Trang 4BEGIN: 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 ý
;ñể dành 30H bytes ñầu
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
Trang 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 ý
;ñể dành 30H bytes ñầu
DJNZ R2, LOOP
DELAY250: <sinh viên tự viết>
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
Trang 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 ý
;ñể dành 30H bytes ñầu
CALL DELAY5 CALL DELAY5 CALL DELAY5
DELAY5: <sinh viên tự viết>
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 -