|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
23-07-2012, 11:25 PM | #3 |
Đệ tử 4 túi
Tham gia ngày: May 2007
Bài gửi: 81
: |
Góp ý nhỏ một chút, hy vọng giúp đc bạn!
Trường hợp tạo với PWM với tần số (f) thấp. bạn có thể tái tạo từ một PWM tần số cao. Ví dụ T của PWM bạn tạo ra là 1ms (tương ứng f=1kHz) như vậy timer2 sẽ tạo ra ngắt sau mỗi 1ms Trong ngắt timer2 ta sẽ tạo 1 biến đếm: 50Hz -> 20ms vậy cứ 10ms ta sẽ có 1 side 10 x 1ms=10ms + nếu <=10 thì set duty = 100% (high side) + nếu >10 thì set duty = 0% (low side) + nếu >20 thì =0 Một ví dụ điển hình là vậy, nếu bạn chọn tần số của PWM khác thì bạn chọn biến đếm cho phù hợp, sao cho tổng T(out)=T(PWM) x biến đếm. Cá nhân tôi cảm thấy dùng cách này thì xung ra ổn định hơn so với việc dùng timer để đẩy 1 chân bất kỳ nào đó lên hay xuống (dù sao thì nó cũng là hard PWM) và tránh bị các tác vụ khác xen kẽ (với nhưng chương trình dài) làm xung bị sai số. Đó là cách nghĩ của tui (cũng đã từng làm để điều chế RC mà), bạn có thể tham khảo. |
|
|