Inhaltsverzeichnis:
- Schritt 1: Schritt 1: die Komponenten
- Schritt 2: Schritt 2: die Schaltung
- Schritt 3: Schritt 3: der Code
Video: 12V LED PWM Dimmer mit ESP8266 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Als ich versuchte, meinen Haushalt nachhaltiger zu machen, tauschte ich Halogenlampen gegen LED-Leuchten aus. Es gibt viele Alternativen, um jede Art von Glühbirne zu ersetzen. Dabei stieß ich auf folgendes Problem: Ich hatte eine Leuchte mit 7 12-Volt-Halogenlampen mit je 10 Watt. Dieses Licht wurde durch einen Dimmer gesteuert, der gut funktionierte. Als ich die Glühbirnen gegen 12 Volt LED-Leuchten à 1 Watt austauschte, funktionierte der Dimmer schlecht: Das Licht flackerte und das Dimmen etwas unregelmäßig. Dies ist ein Problem bei vielen klassischen Dimmern: Sie haben eine minimale Nennleistung, die sie benötigen, um zu funktionieren.
Aufgrund meines Domotik-Systems habe ich mich daher entschieden, diesen manuellen Dimmer durch einen neuen zu ersetzen, der den zusätzlichen Vorteil hätte, dass er ferngesteuert werden kann. Ich hatte bereits einen Dimmer mit einem N-Kanal-MOSFET (IRF540) gebaut, der perfekt für so etwas ist: Er kann über ein PWM-Signal gesteuert werden und ist mit einer maximalen Nennspannung von 100 Volt und 33 Ampere praktisch unverwüstlich. ausreichend für diesen Zweck (Schnelltest: 7 x 1 Watt = 7 Watt geteilt durch 12 Volt ergibt einen maximalen Strom von ca. 0,58 Ampere). Ich möchte diesen Dimmer für eine andere Leuchte verwenden, die 12 Glühbirnen mit je 2 Watt hat, was maximal 2 Ampere liefert, so dass auch das ausreichend ist. Einzig die Frequenz des PWM-Signals ist darauf zu achten, aber die üblichen Werte für Arduino oder ESP8266 (500 Hz oder 1kHz) sind kein Problem.
Schritt 1: Schritt 1: die Komponenten
- LED-Treiber (230 Volt AC auf 12 Volt DC Wandler) Für meinen Zweck möchte ich maximal 24 Watt verwenden, also habe ich mit einem LED-Treiber von 12 Volt und 2 Ampere angefangen. Ich habe einen bei einem chinesischen Händler gefunden. Dieser Treiber hatte eine Nennleistung von 12 Volt, 28 Watt, so dass er ausreichte, um das Gerät alleine zu betreiben. Für Ihre eigene Situation können Sie je nach Gerät eine leichtere oder schwerere Version verwenden.
- IRF540 n-Kanal-MOSFET
- Adafruit Huzzah ESP8266 BreakoutWeil ich WLAN nutzen wollte und die Produkte von Adafruit absolut liebe, habe ich mich für dieses Board entschieden: Es gibt mir ein ESP8266 mit einer praktischen Programmier-Pinbelegung, einem integrierten Leistungsregler und einem eleganten Formfaktor. Es ist ein wenig übertrieben für dieses Projekt, aber es macht das Testen und Debuggen viel einfacher.
- LM2596-basierter DC-DC-Wandler Um den Strom für die ESP-Platine aus den 12 Volt abzuleiten, brauchte ich einen Regler; diese kleinen Konverter sind sehr effizient und sehr billig.
-
Drehgeber mit Tastenfunktion, mit eingebautem LED-Licht:
www.sparkfun.com/products/10596
Jeder Drehgeber würde ausreichen, aber ich mochte die nette zusätzliche Funktion einer eingebauten LED.
-
Durchsichtiger Kunststoffknopf
www.sparkfun.com/products/10597
- Widerstand 4k7
- Widerstand 1k
Schritt 2: Schritt 2: die Schaltung
Dies ist die Schaltung, die ich verwendet habe: Ich habe die Pins 4 und 5 als Eingänge für den Drehgeber und Pin 0 für die Taste verwendet. Pin 0 ist auch mit der roten LED auf der Platine verbunden, so dass ich die Funktion der Taste auf der Codierung überprüfen kann, indem ich diese LED beobachte.
Pin 16 wird für den PWM-Ausgang verwendet, und ich habe diesen direkt mit der grünen LED am Sparkfun-Encoder verbunden. Der ESP8266 hat 3, 3 Volt und selbst bei 100% habe ich nur 2, 9 Volt Ausgang gemessen, also habe ich ihn direkt ohne Vorwiderstand angeschlossen. Derselbe Ausgang geht über einen 1-kOhm-Widerstand zum Gate des n-Kanal-MOSFET. Dieses Gate wird von einem 4,7-kOhm-Widerstand auf 12 Volt hochgezogen.
Ich habe den DC-DC-Wandler verwendet, um die 12 Volt auf 5,5 Volt umzuwandeln, dieser ist mit dem V+-Eingang des Adafruit-Breakouts verbunden. Ich hätte 3,3 Volt verwenden und direkt anschließen können, aber das ist etwas sicherer.
Die 12-V-LED-Lampe im Stromkreis ist meine Befestigung.
Schritt 3: Schritt 3: der Code
Ich habe den Code auf GitHub gestellt:
Skizze für ESP8266 LED PWM Dimmer
Es basiert auf einer anderen anweisbaren Idee:
www.instructables.com/id/Arduino-PWM-LED-D…
Aber dies war eine reine lokale Kontrolle, also fügte ich meine eigene MQTT-basierte Domotik-Lösung hinzu. Es macht im Grunde dasselbe, aber die Hauptunterschiede sind:
- Die Standardanzahl der PWM-Schritte bei einem Arduino ist 255, beim ESP8266 sind es 1023 (wie ich später herausfand, versuchte ich herauszufinden, warum mein LED-Gerät nicht auf 100% Helligkeit gestiegen ist …)
- Ich habe die 'Totempole' -Schaltung mit den 2 Transistoren nicht verwendet, da die PWM sowieso DC war und mit dem IRF 540 gut funktionierte.
- Ich habe die 10k-Pull-Up-Widerstände für den Encoder nicht verwendet, ich habe den eingebauten Pullups des ESP8266 vertraut.
- Der ESP8266 verwendet eine 3,3-Volt-Logik anstelle von 5 Volt für den Arduino, was sich für den IRF540 als kein Problem erwies
Die Software hat folgende Funktionen:
- Durch Drehen des Encoders wird das Licht in 1023 Schritten von 0 bis 100 % nach oben (CW) oder herunter (CCW) gedimmt, wobei in den unteren Stufen etwas beschleunigt wird.
- Durch Drücken der Taste wird das Licht im ausgeschalteten Zustand mit der zuletzt gespeicherten Helligkeitsstufe eingeschaltet oder ausgeschaltet, wenn es eingeschaltet ist.
- Durch längeres Drücken der Taste bei eingeschaltetem Licht wird die aktuelle Helligkeit als Standardstufe gespeichert.
- Durch längeres Drücken der Taste bei ausgeschaltetem Licht wird das Licht auf 100% Helligkeit eingeschaltet, ohne die Standardstufe zu ändern.
- Es wird eine Verbindung zu den WiFi-Einstellungen hergestellt, die durch die Strings 'SECRET_SSID' und 'SECRET_PASS' definiert sind, die in einer separaten Datei in meiner Skizze namens 'secrets.h' gespeichert sind.
- Es stellt eine Verbindung zu einem MQTT-Server im WLAN-Netzwerk her, wobei die Zeichenfolgen 'MQTTSERVER' und 'MQTTPORT' in derselben Datei verwendet werden.
- Sie können das eingehende MQTT-Thema 'domus/esp/in' verwenden, um Befehle zu erteilen: 'ON' oder 'OFF', um das Licht ein- oder auszuschalten, oder einen Wert von 0 bis 1023, um die Helligkeit zu ändern.
- Es meldet den Zustand zu den MQTT-Themen 'domus/esp/uit' (ON- oder OFF-Status) und 'domus/esp/uit/brightness' (der Helligkeitswert).
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Beginnen Sie mit Light Painting (kein Photoshop): 5 Schritte (mit Bildern)
Beginnend mit Light Painting (kein Photoshop): Ich habe vor kurzem eine neue Kamera gekauft und einige ihrer Funktionen untersucht, als ich im Internet auf Light Painting oder Langzeitbelichtung gestoßen bin. Die meisten von uns werden die Grundform des Lightpaintings mit einem Foto in einer Stadt mit einer Straße gesehen haben