Cách sử dụng Xung PWM trong chương trình arduino
Kiến thức cần nắm về xung:
Xung là các trạng thái cao / thấp về mức điện áp được lặp đi lặp lại. Đại lượng đặc trưng cho 1 xung PWM (Pulse Width Modulation) bao gồm tần số (frequency) và chu kì xung (duty cycle).
Vậy tần số tần số là gì???
Tần số là số lần lặp lại trong 1 đơn vị thời gian. Đơn vị tần số là Hz, tức là số lần lặp lại dao động trong 1 giây.
Lấy ví dụ, 1Hz = 1 dao động trong 1 giây. 1KHz = 1000 dao động trong 1 giây. 16MHz = 16 triệu dao động trong 1 giây.
Cách xác định 1 dao động như thế nào? Đa phần các bạn mới nghiên cứu điện tử thường mắc sai lầm ở việc xác định 1 dao động. Dao động được xác định từ trạng thái bắt đầu và kết thúc ngay trước khi trạng thái bắt đầu được lặp lại.
Khoảng cách giữa hai vạch đỏ là 1 dao động
Như vậy thông thường, 1 dao động sẽ bao gồm 2 trạng thái điện: mức cao (x giây) và mức thấp (y giây). Tỉ lệ phần trăm thời gian giữa 2 trạng thái điện này chính là chu kì xung.
Với x/y = 0% ta có xung chứa toàn bộ điện áp thấp.
Với x/y = 50% thì 50% thời gian đầu, xung có điện áp cao, 50% sau xung có điện áp thấp.
Với x/y=100% ta có xung chứa toàn bộ điện áp cao.
Tóm lại, với 1 xung ta có:
+ Tần số: để tính toán ra được thời gian của 1 xung
+ Chu kì xung: bao nhiêu thời gian xung có mức áp cao, bao nhiêu thời gian xung có mức áp thấp.
Và trong arduino khái niệm xung PWM ta hiểu như thế nào??
Hàm analogWrite() trong Arduino giúp việc tạo 1 xung dễ dàng hơn. Hàm này truyền vào tham số cho phép thay đổi chu kì xung. Tần số xung được Arduino thiết lập mặc định.
Đối với board Arduino Uno, xung trên các chân 3,9,10,11 có tần số là 490Hz, xung trên chân 5,6 có tần số 980Hz.
Xung được sử dụng với hàm analogWrite trong Arduino