Mục lục:

Bộ điều chỉnh độ sáng PWM LED 12V với ESP8266: 3 bước
Bộ điều chỉnh độ sáng PWM LED 12V với ESP8266: 3 bước

Video: Bộ điều chỉnh độ sáng PWM LED 12V với ESP8266: 3 bước

Video: Bộ điều chỉnh độ sáng PWM LED 12V với ESP8266: 3 bước
Video: Điều chỉnh độ sáng đèn dùng ac light dimmer module và blynk iot - kít wifi nodemcu esp8266 2024, Tháng mười một
Anonim
Bộ điều chỉnh độ sáng PWM LED 12V với ESP8266
Bộ điều chỉnh độ sáng PWM LED 12V với ESP8266

Trong khi cố gắng làm cho hộ gia đình của mình bền vững hơn, tôi đã đổi bóng đèn halogen lấy đèn led. Có rất nhiều lựa chọn thay thế có sẵn để thay thế bất kỳ loại bóng đèn nào. Trong khi làm việc này, tôi đã gặp phải một vấn đề sau: Tôi có một thiết bị chiếu sáng sử dụng 7 bóng đèn halogen 12 vôn, mỗi bóng 10 watt. Ánh sáng này được điều khiển bằng bộ điều chỉnh độ sáng, hoạt động tốt. Khi tôi đổi bóng đèn cho đèn led 12 volt, mỗi bóng 1 Watt, bộ điều chỉnh độ sáng hoạt động không tốt: ánh sáng nhấp nháy, và độ mờ có phần thất thường. Đây là vấn đề với rất nhiều bộ điều chỉnh độ sáng cổ điển: chúng có mức công suất tối thiểu, mà chúng cần để hoạt động.

Vì vậy, dựa trên hệ thống domotics của mình, tôi đã quyết định đổi bộ điều chỉnh độ sáng thủ công này bằng một cái mới, có thêm lợi thế là có thể điều khiển từ xa. Tôi đã chế tạo một bộ điều chỉnh độ sáng bằng cách sử dụng MOSFET kênh N (IRF540), nó hoàn hảo cho loại điều này: nó có thể được điều khiển bằng tín hiệu PWM và nó hầu như không thể phá hủy, với xếp hạng tối đa là 100 vôn và 33 Amps, amply đủ cho mục đích này (kiểm tra nhanh: 7 x 1 Watt = 7 Watts, chia cho 12 volt cho dòng điện tối đa khoảng 0,58 Amps). Tôi muốn sử dụng bộ điều chỉnh độ sáng này cho một vật cố định khác có 12 bóng đèn, mỗi bóng đèn 2 watt, cho tối đa 2 Amps, vì vậy cũng đủ. Điều duy nhất cần chú ý là tần số của tín hiệu PWM, nhưng các giá trị thông thường cho Arduino hoặc ESP8266 (500 Hz hoặc 1kHz) không phải là vấn đề.

Bước 1: Bước 1: Các thành phần

Bước 1: Các thành phần
Bước 1: Các thành phần
  1. Trình điều khiển LED (Bộ chuyển đổi 230 volt AC sang 12 volt DC) Đối với mục đích của tôi, tôi muốn sử dụng tối đa 24 Watts, vì vậy tôi đã bắt đầu với trình điều khiển LED 12 volt và 2 Amps. Tôi đã tìm thấy một cái tại một trang web của nhà phân phối Trung Quốc. Trình điều khiển này được đánh giá 12 volt, 28 Watts, vì vậy nó là đủ để lái xe cố định một mình. Đối với trường hợp của riêng bạn, bạn có thể sử dụng phiên bản nhẹ hơn hoặc nặng hơn, tùy thuộc vào thiết bị của bạn.
  2. IRF540 kênh n MOSFET
  3. Adafruit Huzzah ESP8266 BreakoutBởi vì tôi muốn sử dụng WiFi và tôi hoàn toàn yêu thích các sản phẩm của Adafruit, tôi đã chọn bảng này: nó mang lại cho tôi một chiếc ESP8266 với sơ đồ lập trình thuận tiện, bộ điều chỉnh điện trên bo mạch và kiểu dáng thanh lịch. Nó hơi quá mức cần thiết cho dự án này, nhưng nó làm cho việc kiểm tra và gỡ lỗi dễ dàng hơn nhiều.
  4. Bộ chuyển đổi DC-DC dựa trên LM2596 Để lấy điện cho bảng ESP từ 12 volt, tôi cần một bộ điều chỉnh; những bộ chuyển đổi nhỏ này rất hiệu quả và rất rẻ.
  5. Bộ mã hóa quay với chức năng nút, với đèn led tích hợp:

    www.sparkfun.com/products/10596

    Bất kỳ bộ mã hóa quay nào cũng được, nhưng tôi thích tính năng bổ sung tuyệt vời của đèn LED tích hợp.

  6. Núm nhựa trong

    www.sparkfun.com/products/10597

  7. Điện trở 4k7
  8. Điện trở 1k

Bước 2: Bước 2: Mạch

Bước 2: Mạch
Bước 2: Mạch

Đây là mạch tôi đã sử dụng: Tôi đã sử dụng chân 4 & 5 làm đầu vào cho bộ mã hóa quay và chân 0 cho nút. Chân 0 cũng được kết nối với đèn led màu đỏ trên bo mạch, vì vậy tôi có thể kiểm tra chức năng của nút trên bảng mã bằng cách xem đèn led này.

Chân 16 được sử dụng cho đầu ra PWM và tôi đã kết nối trực tiếp chân này với đèn LED màu xanh lá cây trên bộ mã hóa Sparkfun. ESP8266 là 3, 3 volt, và thậm chí với 100%, tôi chỉ đo được đầu ra 2, 9 volt, vì vậy tôi đã kết nối nó trực tiếp mà không có điện trở nối tiếp. Đầu ra tương tự này đi đến Cổng của MOSFET kênh n, bằng một điện trở 1kOhm. Cổng này được kéo cao đến 12 volt bằng một điện trở 4,7 kOhm.

Tôi đã sử dụng bộ chuyển đổi DC-DC để chuyển đổi 12 volt thành 5,5 volt, điều này được kết nối với đầu vào V + của đột phá Adafruit. Tôi có thể đã sử dụng 3,3 volt và kết nối nó trực tiếp, nhưng điều này an toàn hơn một chút.

Đèn LED 12 V trong mạch là vật cố định của tôi.

Bước 3: Bước 3: Mã

Bước 3: Mã
Bước 3: Mã

Tôi đặt mã trên GitHub:

Phác thảo cho bộ điều chỉnh độ sáng PWM LED PWM của ESP8266

Nó dựa trên một ý tưởng có thể hướng dẫn khác:

www.instructables.com/id/Arduino-PWM-LED-D…

Nhưng đây hoàn toàn là sự kiểm soát cục bộ, vì vậy tôi đã thêm giải pháp domotics dựa trên MQTT của riêng mình. Về cơ bản nó thực hiện điều tương tự, nhưng sự khác biệt chính là:

  • số bước PWM mặc định với Arduino là 255, với ESP8266 là 1023 (như tôi đã phát hiện ra sau đó, toàn bộ cố gắng tìm ra lý do tại sao đèn LED của tôi không tăng hết mức độ sáng 100%…)
  • Tôi đã không sử dụng mạch 'Totempole' với 2 bóng bán dẫn, vì PWM dù sao cũng là DC và hoạt động tốt với IRF 540.
  • Tôi không sử dụng các điện trở kéo lên 10k cho bộ mã hóa, tôi tin tưởng vào các điện trở kéo tích hợp của ESP8266.
  • ESP8266 sử dụng logic 3,3 volt thay vì 5 volt cho Arduino, điều này đã chứng minh không có vấn đề gì đối với IRF540

Phần mềm có các tính năng sau:

  • việc chuyển bộ mã hóa sẽ làm mờ ánh sáng lên (CW) hoặc giảm (CCW), từ 0 đến 100%, trong 1023 bước, với một số bước tăng tốc ở các mức thấp hơn.
  • nhấn nút sẽ bật đèn khi tắt, sử dụng mức độ sáng đã lưu cuối cùng hoặc tắt khi bật.
  • nhấn nút lâu hơn trong khi đèn sáng sẽ lưu độ sáng hiện tại làm mức mặc định.
  • nhấn nút lâu hơn trong khi đèn tắt sẽ bật đèn lên 100% độ sáng mà không thay đổi mức mặc định.
  • Nó sẽ kết nối với cài đặt WiFi được xác định bởi chuỗi 'SECRET_SSID' và 'SECRET_PASS', được lưu trong một tệp riêng biệt trong bản phác thảo của tôi, được gọi là 'secret.h'
  • Nó sẽ kết nối với máy chủ MQTT trong mạng WiFi, sử dụng chuỗi 'MQTTSERVER' và 'MQTTPORT' trong cùng một tệp.
  • Bạn có thể sử dụng chủ đề đến MQTT 'domus / esp / in' để ra lệnh: 'ON' hoặc 'OFF "để bật hoặc tắt đèn hoặc giá trị từ 0 đến 1023 để thay đổi độ sáng.
  • Nó sẽ báo cáo trạng thái trên các chủ đề MQTT 'domus / esp / uit' (trạng thái BẬT hoặc TẮT) và 'domus / esp / uit / độ sáng' (giá trị độ sáng).

Đề xuất: