NodeMCU PWM với Arduino IDE

Giới thiệu PWM

Pulse Width Modulation (PWM) là một kỹ thuật mà chiều rộng của xung được thay đổi trong khi vẫn giữ nguyên tần số sóng.

Tìm hiểu Pulse Width Modulation (PWM)

Một khoảng thời gian xung bao gồm chu trình ON (VCC) và chu kỳ OFF (GND). Phần mà tín hiệu được BẬT trong một khoảng thời gian được gọi là chu kỳ nhiệm vụ .

Ví dụ: Một xung với khoảng thời gian 10ms sẽ bật ON (cao) trong 2ms.Trước đó, chu kỳ nhiệm vụ sẽ là

D = 2ms / 10ms = 20%

Thông qua kỹ thuật PWM, chúng ta có thể điều khiển công suất được cung cấp cho tải bằng cách sử dụng tín hiệu ON-OFF. Các tín hiệu PWM có thể được sử dụng để điều khiển tốc độ của động cơ DC và thay đổi cường độ của đèn LED. Hơn nữa, nó cũng có thể được sử dụng để tạo ra tín hiệu sin. Các tín hiệu có Pulse Width với chu kỳ nhiệm vụ khác nhau được hiển thị bên dưới.

Các tín hiệu có Pulse Width với chu kỳ nhiệm vụ

NodeMCU dựa trên ESP8266 có chức năng PWM thông qua lập trình phần mềm. Nó đạt được bằng phương pháp ngắt timer. Dải tần số PWM cho ESP8266 có thể điều chỉnh lên tới 1KHz.

Chân PWM trên Kit NodeMCU

NodeMCU PWM với Arduino IDE

Arduino Function cho PWM NodeMCU

analogWrite(pin, dutycycle): Kích hoạt PWM trên pin được chỉ định. Chu kỳ nhiệm vụ trong khoảng từ 0 đến PWMRANGE, tức là 1023 theo mặc định.

analogWrite(pin, 0): Tắt PWM trên pin được chỉ định.

analogWriteRange(new_range): Function này được sử dụng để thay đổi phạm vi PWM (chu kỳ nhiệm vụ).

analogWriteFreq(new_frequency): Tần số PWM là 1kHz theo mặc định. Gọi Function này để thay đổi tần số mặc định với tần số mới. PWM tần số nằm trong khoảng 1 – 1000Khz.

Ví dụ

Viết chương trình Arduino sử dụng chân PWM D6 trên Kit NodeMCU và thay đổi chu kỳ nhiệm vụ của nó bằng biến trở được kết nối với chân ADC. Kết nối Led với chân D6 để thay đổi độ sáng của Led thông qua thay đổi PWM.

Chương trình Arduino cho PWM

Download File

Source Code

Bài viết các bạn có thể tham khảo:

Nguồn tham khảo: electronicwings.com

Viết một bình luận

This site uses Akismet to reduce spam. Learn how your comment data is processed.