Hướng dẫn sử dụng Kit 89 Bài 14 : PWM điều khiển motor Mụ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.. PWM được sử
Trang 1Hướng dẫn sử dụng Kit 89
Bài 14 : PWM điều khiển motor
Mụ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ác thuậ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 1 giâ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 :
Trang 2Hướng dẫn sử dụng Kit 89
Chu kì : T Total = T On + T Off
Duty Cycle : D = T On /T Off
Volt Output : V = V input 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ều khiể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ích hợ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<<6); // set registry PCA }
Sau khi khởi tạo, mức điện áp ở 5 chân điều xung là 0V Muốn thay đối giá trị điện áp ta chỉ cần thay đối nội dung trong thanh ghi CCAPnH, 0x00 tương ứng với 100% duty cycle, 0xFF tương ứng với 0% duty cyte