Một ví dụ đơn giản qua đó bạn có thể hiểu được các chức năng ADC và PWM được sử dụng rất nhiều. Mình dùng 16F876A và code viết bằng Hi-Tech PIC.
Đặt vấn đề: Ổn định cường độ sáng của LED khi ngưồn ngoài bị sụt thế. Khi nguồn cung cấp cho đèn của bạn là 10V hay 12V thì LED vẫn sáng với cùng cường độ.
Giải quyết vấn đề: Tôi dùng ADC để đo điện áp của nguồn đương nhiên là phải dùng trở để chia thế đưa vào ADC khoảng 3->5 V. Sau đó dùng chức năng điều chế độ rộng xung để điều chỉnh độ mở của trasistor. Giả sử có một chuỗi xung có chu kì T biên độ A và thời gian ở mức cao là t thì khi biến đổi fourier ta thu được thành phần 1 chiều là At/T. Khi sụt thế thì ta sẽ tăng dòng qua LED sao cho P = UI là không đổi. -> phải tăng t (Duty Cycle) bạn có thể dễ dàng thực hiện bằng cách điều chế độ rộng xung PWM. Chú ý đôi khi chỉ cần dùng timer trong khoảng thời gian t (duty cycle) đặt ở mức cao và (T-t) thì đặt ở mức thấp.
Đây là một ví dụ đơn giản về điều khiển phản hồi vòng kín. Dùng ADC để kiểm tra nguồn một cách đều đặn, sau đó hiệu chính lại các thông số PWM.
Đặt vấn đề: Ổn định cường độ sáng của LED khi ngưồn ngoài bị sụt thế. Khi nguồn cung cấp cho đèn của bạn là 10V hay 12V thì LED vẫn sáng với cùng cường độ.
Giải quyết vấn đề: Tôi dùng ADC để đo điện áp của nguồn đương nhiên là phải dùng trở để chia thế đưa vào ADC khoảng 3->5 V. Sau đó dùng chức năng điều chế độ rộng xung để điều chỉnh độ mở của trasistor. Giả sử có một chuỗi xung có chu kì T biên độ A và thời gian ở mức cao là t thì khi biến đổi fourier ta thu được thành phần 1 chiều là At/T. Khi sụt thế thì ta sẽ tăng dòng qua LED sao cho P = UI là không đổi. -> phải tăng t (Duty Cycle) bạn có thể dễ dàng thực hiện bằng cách điều chế độ rộng xung PWM. Chú ý đôi khi chỉ cần dùng timer trong khoảng thời gian t (duty cycle) đặt ở mức cao và (T-t) thì đặt ở mức thấp.
Đây là một ví dụ đơn giản về điều khiển phản hồi vòng kín. Dùng ADC để kiểm tra nguồn một cách đều đặn, sau đó hiệu chính lại các thông số PWM.
Comment