Thông tin tài liệu:
Hướng dẫn sử dụng Kit 89Bài 14 : PWM điều khiển motorMục đích: Nắm vững kĩ thuật điều xung PWM. Yêu cầu: Viết ứng dụng điều khiển motor chạy ở nhiều tốc độ khác nhau.14.1 Khái niệm PWMPWM viết tắt của từ Pulse Width Modulation. PWM được sử dụng nhiều trong hệ thống điều khiển tự động ngày nay. Nó được ứng dụng trong điều khiển tốc độ động cơ, độ sáng tối của led, màn hình LCD, pha màu cho bang quang báo, sử dụng trong các thuật toán điều khiển vận tốc cho Robot như PI, PD, PID...
Nội dung trích xuất từ tài liệu:
Hướng dẫn sử dụng Kit 89 - Bài 14 Hướng dẫn sử dụng Kit 89Bài 14 : PWM điều khiển motorMục đích: Nắm vững kĩ thuật điều xung PWM.Yêu cầu: Viết ứng dụng điều khiển motor chạy ở nhiều tốc độ khác nhau.14.1 Khái niệm PWM PWM viết tắt của từ Pulse Width Modulation. PWM được sử dụng nhiều trong hệthống điều khiển tự động ngày nay. Nó được ứng dụng trong điều khiển tốc độ động cơ,độ sáng tối của led, màn hình LCD, pha màu cho bang quang báo, sử dụng trong cácthuật toán điều khiển vận tốc cho Robot như PI, PD, PID … Hiểu đơn giản PWM hoạt động như một công tác đóng mở rất nhiều lần trong 1giây. Nếu tần số đóng mở càng nhanh thì điện áp cấp trung bình càng lớn. Một số khái niệm cơ bản của PWM : Tần số (Hz, Khz…). Chu kỳ T, thời gian xung mức cao TH + thời gian xung mức thấp TL. Duty Cycle: tỉ lệ thời gian xung mức và thời gian xung mức thấp. Như hình trên ta có Duty Cycle lần lượt là 0%, 25%, 50%, 75%, 100%. Một số công thức :BKIT HARDWARE CLUB – www.bkit4u.com 73 Hướng dẫn sử dụng Kit 89 Chu kì : TTotal = TOn + TOff Duty Cycle : D = TOn/TOff Volt Output : V = Vinput x D Khi đó nếu TOn = 0 thì VoltOutput = 0 (V) còn TOn = TTotal thì VoltOutput = VoltInput . Trong thực tế ta có IC chuyên dụng để dùng cho việc điều xung và có các vi điềukhiển có tích hợp sẵn PWM bên trong. Vi điều khiển 89V51 hỗ 5 kênh điều xung (P1.3 –P1.7) được sử dụng khá linh hoạt cho việc điều xung, người dùng chỉ cần ghi giá trị thíchhợp vào các thanh ghi để có được tín hiện PWM mong muốn.14.2 Lập trình PWM trên 89V51 Khởi tạo 5 kênh điều xung như sau: void initPWM() { CCAPM0 = 0x42; //set P1.3 pwm mode CCAPM1 = 0x42; //set P1.4 pwm mode CCAPM2 = 0x42; //set P1.5 pwm mode CCAPM3 = 0x42; //set P1.6 pwm mode CCAPM4 = 0x42; //set P1.7 pwm mode CMOD = 0x00; // setup to devide frequency by 6 CCAP0H = 0xff; CCAP1H = 0xff; CCAP2H = 0xff; CCAP3H = 0xff; CCAP4H = 0xff; CCON |= (1