Forum: Mikrocontroller und Digitale Elektronik WS2812B + ESP8266 + RaspberryPi


von Paul Felz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich habe ein Problem mit meinem kleinen Bastelprojekt. Und zwar möchte 
ich einen WS2812B Strip per WLAN steuern und verwende dazu einen 
RaspperryPi um einen ESP8266 mit nodemcu custom zu flashen, der dann die 
ws2812B mit einem entsprechenden PWM Signal befeuert und zum leuchten 
bringen soll.
Ich habe die Schaltung bereits aufgebaut, das ESP geflasht und kann am 
GPI02 des ESP bereits 0 und 3.3V messen, wenn kein WS2812B drinsteckt 
(LO und HIGH, je nachdem wie ich es gerade programmiert habe). 
Kommunikation per serieller Schnittstelle klappt bisher auch wunderbar. 
Die WS2812B Library scheint auch zu funktionieren, ein ws2812.writeRGB() 
Aufruf bringt zumindest irgendeine Pegeländerung am GPI02.

Jetzt komme ich allerdings nicht weiter, der WS2812er leuchtet nicht 
wenn ich ihn anschliesse, ich glaube es liegt an des Diskrepanz zwischen 
3,3V (ESP) und 5V (WS2812B) Logik und einem eventuellen Masseproblem 
oder auch einfach nur meiner Unkenntnis der Elektronik gegenüber.

Hier mal mein laienhafter Schaltplan im Anhang, ich hoffe man erkennt 
was.


Man verzeihe mir meine elektrotechnischen Unfähigkeit, ich bin nur 
Informatiker und beschäftige mich erst seit kurzem mit Elektronik.

Wenn ich nun den Pegel am Data-in (also GPIO2) des WS2812B messe, habe 
ich 1.7V, vermutlich genau die Differenz zwischen 5V und 3.3V.

Der Data-in des WS2812B braucht aber 0.7*VCC, also 0.7*5V=3,5V für ein 
High Signal. Brauche ich jetzt einen Level-Converter? Leuchtet es 
vielleicht deshalb nicht?

Wenn ich den WS2812B abmache und dann den High Pegel am GPIO2 messe, 
habe ich zumindest die erwarteten 3,3V

Liegt es daran, dass der 5V Stromkreis und der 3.3V Stromkreis die 
gleiche Masse verwenden? Wie muss ich es sonst schalten?
Wenn ich den ESP Neustarte, während ich die WS2812b wie oben schalte, 
dann hängt er in einer boot-schleife und gibt nur bullshit am Ausgang 
aus.

Oder liegt es vielleicht daran, dass mir hier und da noch ein Widerstand 
oder Kondensator fehlt? Ich sehe hier und da in Schaltungen 
Kondensatoren vor dem WS2812B um Spannungseinbrüche abzudämpfen … liegt 
es vielleicht daran?

Irgendwas ist faul, wer kann mir helfen?

GPI00 und RST habe ich bewusst weggelassen, wird nur zum flashen und 
neustarten gegen Masse geschalten.

Vielen Dank schonmal

von Noch einer (Gast)


Lesenswert?

> habe ich 1.7V

Sieht gut aus.

Dein Messgerät zeigt nur einen Durchschnittswert. Da werden permanent 
Daten übertragen. Ca. die Hälfte der Zeit 0Volt die andere Hälfte der 
Zeit 3,3Volt.

> Der Data-in des WS2812B braucht aber 0.7*VCC, also 0.7*5V=3,5V

Ein Hobbybastler sagt: mit 3,3 Volt sollte es eigentlich trotzdem 
funktionieren.

Bleibt dir wohl nichts anderes übrig als ausprobieren. Du kannst den 
WS2812B auch mit geringerer Versorgungsspannung betreiben.

Schaltplan sieht gut aus. Stützkondensatoren für die Versorgungsspannung 
direkt an den Bauteilen können nicht schaden. Es sollte aber gut genug 
sein, wenn die Kabel für Masse und Versorgungsspannung nur wenige cm 
lang sind. Wenn du 20 cm dünne Kabel benutzt, mal ausprobieren, ob es 
mit kurzen klappt.

von Paul Felz (Gast)


Lesenswert?

Hui :)

Da bin ich ja beruhigt, dass ich im Elektrotechnik-Kurs an der Uni nicht 
total versagt habe :)

Vielen Dank für dein Feedback, da muss ich wohl noch mal probieren woran 
es liegt.

Grüße

von Paul Felz (Gast)


Lesenswert?

Heyho,

ich habe meinen Fehler gefunden!!!
Man sollte natürlich schauen, dass man versucht am DIN und nicht am DOUT 
Daten reinzuschieben, dann klappts auch mit den Nachbarn xD
Meine augenscheinliche Annahme, der Ws2812b Strip hätte auf beiden 
Seiten die gleich Anschlüsse war somit falsch ;)
Jetzt muss ich nur noch schauen, warum der ESP8266 ständig neustartet 
... ich schätze, das ist nun wirklich ein Strom/Spannungsproblem.

Meint ihr, ein Raspberry+ESP8266+10LED WS2812B (bei der nur eine LED 
leuchtet) sind zuviel für ein 2000mA-USB-Netzteil?

Grüße

von Paul Felz (Gast)


Lesenswert?

Hui, da ist gleich meine nächste Frage ... wie dimensioniert man 
eigentlich so einen Kondensator? Mal angenommen, es sollen später viel 
mehr LEDs mit einer externen Stromversorgung dran. Da fließen dann schon 
ein paar Ampere bei 5V ... vermutlich sollte ich den Strip extra mit 
einem Kondensator und später den Linear-Spannungswandler von 5V->3.3 je 
davor und danach gegen Masse stützen ... ich frage mich nur, mit welchen 
Kondensatoren?
Elkos? Kerkos? Welche Spannung? Welche Kapazität?

Bitte um Hilfe :)

von Peniz (Gast)


Lesenswert?

Wie lang is dein led strip? wie viele leds sind drauf? der ESP brauch 
schonmal einige mA (max so 300 meine ich gelesen zu haben)... und zu 
guterletzte is ein pi halt kein netzteil.
Ich weiss garnicht was der bei bei 3,3 v liefert.

von Paul Felz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo nochmal,

ich habe meine obige Schaltung soeben modifiziert (siehe Anhang). Ich 
habe ein 5V USB Ladegerät mit 2A genommen, an die 5V direkt den WS2812B 
Strip gehangen.

Dann habe ich mir mit Hilfe eines MCP1825S einen 3.3V Zweig erstellt und 
ihn mit jeweils einem 1uF Keramik-Cap an Ein-und Ausgang gestützt. Jetzt 
kann ich das ganze Ding direkt über den USB vom Raspberry steuern. Das 
Zwangs-Neustarten des ESP ist ebenfalls verschwunden, ich schätze mal, 
da der Raspberry jetzt extern versorgt wird.

Zur Frage: Es sollen später eventuell über 100 LED betrieben werden. Ich 
habe mal ausgerechnet, bei ca 60mA im worst case sollte man bei 100 LED 
schon 6A einplanen. Kann man mit 100 LED einen kleines 10qm Räumchen gut 
indirekt beleuchten? So als Stimmungslicht? ODer sind 100 LED zu wenig? 
Ich glaube viel mehr LED wären nicht möglich.. irgendwann kommt sicher 
auch der FI-Schalter oder?

Könnte ich mein 2A USB Netzteil bequem durch ein 10A 5V Schaltnetzteil 
ersetzen? Oder gibt es da Probleme, weil eventuell zu hohe Ströme an den 
3.3V Abteil fließen? Was muss ich noch beachten?

Ach ja und zu guter letzt: In dem laienhaften Schaltplan von mir ist ein 
blauer Cap eingezeichnet, den würde ich gern noch ergänzen, gerade wenn 
Ströme bei schnellen Sequenzen variieren, bricht sicher gern mal die 
Spannung weg ... kann mir jemand sagen, wie groß ich den wählen muss? 
Kann ich nicht einfach den größten nehmen, den ich finde? Ich hätte hier 
einen 10V 3900uF Elko rumliegen xD ist gar nicht mal soooo wahnsinnig 
groß von den Abmessungen ...

Danke

von Paul Felz (Gast)


Lesenswert?

Sorry, ich vergaß ... das war der ws2801er den ich vorher hatte, da ging 
es noch per PWM.
Ich möchte den Raspberry später abklemmen und eine Standalone WLAN 
fähige Beleuchtung erschaffen. Da wäre ein Raspberry ein wenig overkill. 
Ein WLAn-Modul als SoC wie es dasteht kostet einen Witz und man kann 
damit die ganze Wohnung zupflastern, alles wenn man möchte mit Batterien 
laufen lassen.
Das geht mit einem RPi leider nicht so wirklich.

von Faul Pelz (Gast)


Lesenswert?

Paul Felz = Faulpelz ?

Wenn man bei www.gidf.de ESP8266+WS2812 eingibt findet man haufenweise 
Leute, die das in allen möglichen Varianten schon am Laufen haben.

von Tobi D. (fanti)


Lesenswert?

Mit Batterien wird es nicht Laufen, außer du hast eine Autobatterie^^
Der ESP8266 zieht im aktiv Modus mehr Strom als man denkt.

Ein großes Netzteil kannst du nehmen, aber dann solltest du die 5V 
Spannung an mehreren Punkten einspeisen, sonst fließt über den LED-Strip 
zu viel Strom und der Spannungsabfall wäre zu groß, dann leuchten die 
hinteren Leds nicht mehr so hell. Bei 100 Leds würde ich glaube ich 
vorne, hinten und in der Mitte einspeisen.

Den 3,3V Strang betrifft das 5V Netzteil nicht, du hast ja ein 
Spannungsregler dazwischen.
Den Kondensator kannst du einbauen, schadet bestimmt nicht, aber ob er 
viel bringt bezweifel ich ezwas bei 6A Stromfluss.
Ich würde eher die Spannungsversorgung des ESP Chips noch mit ~200µF 
abblocken, dass er eine stabile Versorgung hat.

von Paul Felz (Gast)


Lesenswert?

Faul Pelz schrieb:
> Paul Felz = Faulpelz ?
>
> Wenn man bei www.gidf.de ESP8266+WS2812 eingibt findet man haufenweise
> Leute, die das in allen möglichen Varianten schon am Laufen haben.

Hihi ... erwischt^^


Tobi D. schrieb:
> Mit Batterien wird es nicht Laufen, außer du hast eine Autobatterie^^
> Der ESP8266 zieht im aktiv Modus mehr Strom als man denkt.

Ich meine irgendwo schonmal gelesen zu haben, des ESP schlafen zu legen 
und nur bei Bedarf aufzuwecken. Dann soll das ganze teilweise bis zu 
einem Jahr durchhalten, sofern wirklich oft die "sleep" Phasen genutzt 
werden.

Für mich wäre sowas denkbar zum Beispiel als eine Art Alarmanlage, die 
nur bei Bewegung aufwacht oder so ähnlich. Kann mich aber auch täuschen.

Tobi D. schrieb:
> Ein großes Netzteil kannst du nehmen, aber dann solltest du die 5V
> Spannung an mehreren Punkten einspeisen, sonst fließt über den LED-Strip
> zu viel Strom und der Spannungsabfall wäre zu groß, dann leuchten die
> hinteren Leds nicht mehr so hell. Bei 100 Leds würde ich glaube ich
> vorne, hinten und in der Mitte einspeisen.

Das klingt nach einem Plan, werde ich bedenken! Kannst du eine 
Empfehlung geben, welches Netzteil noch praktikabel ist von der 
Dimensionierung? Ich glaube zu wissen, dass die Sicherung der 
Wohnzimmersteckdosen mit 16A abgesichert ist. Ich habe hier ausser 
Fernseher (inkl Receiver usw.) und ab und zu mal den Beamer keine 
Großgeräe wie Elektroheizungen oder Herde oder sowas laufen. Wenn ich 
ein 10A Netzteil nehme, könnte ich 166 LED betreiben, wenn sie voll 
weiss strahlen. Zieht man noch einen Puffer ab um das Netzteil nicht an 
die Grenze zu jagen, ist man bei 150 LED. Ein weiterer Puffer sollte 
sein, dass man selten alle LED in voll weisser Farbe aktiv hat, wenn es 
doch ein Stimmungslicht sein soll ...
Ist meine Rechnung einigermaßen okay?

Tobi D. schrieb:
> Den 3,3V Strang betrifft das 5V Netzteil nicht, du hast ja ein
> Spannungsregler dazwischen.
> Den Kondensator kannst du einbauen, schadet bestimmt nicht, aber ob er
> viel bringt bezweifel ich ezwas bei 6A Stromfluss.
> Ich würde eher die Spannungsversorgung des ESP Chips noch mit ~200µF
> abblocken, dass er eine stabile Versorgung hat.

Geht da ein 220µF Elko mit 10V Durchschlagsfestigkeit? Ich glaube 
Kerko's gibts in dieser größe gar nicht oder?

Grüße

von Tobi (Gast)


Lesenswert?

220µF Elko ist gut.

Ja, den ESP kann man schlafen legen, habe ich hier am laufen, dann 
braucht er nur wenige µA Strom. Du hast recht, wenn er nur selten 
aufwacht und dann nur kurz ein Alarmsignal ins Netz sendet kann es 
funktionieren.

Die 16A Sicherung gilt für 230V. Wenn du ein Schaltnetzteil benutzt, 
dann hast du bei 5V die benötigten 10A, aber auf der "Hausleitung" nur 
~300mA (keine Lust zu rechnen). Mach dir darüber also keine Sorgen.

Die Rechnung ist ok, 10A Netzteil und dann 150 Leds klingt vernünftig.
Auch wenn du niemals alle Leds voll weiß an haben wirst, musst du den 
worst case mit einberechnen. Irgendeiner kommt immer mal auf die Idee 
alles voll aufzudrehen und zu schauen wie hell es macht, glaub mir^^

von Chr. M. (snowfly)


Lesenswert?

>> Mit Batterien wird es nicht Laufen, außer du hast eine Autobatterie^^
>> Der ESP8266 zieht im aktiv Modus mehr Strom als man denkt.
konkret habe ich gemessen: 50-70mA und 150mA in Spikes.

> Ich meine irgendwo schonmal gelesen zu haben, des ESP schlafen zu legen
> und nur bei Bedarf aufzuwecken. Dann soll das ganze teilweise bis zu
> einem Jahr durchhalten, sofern wirklich oft die "sleep" Phasen genutzt
> werden.
Mein WLAN Thermometer braucht ca.15mAh am Tag bei Datenübertragung alle 
10min.

von Paul Felz (Gast)


Lesenswert?

Tobi schrieb:

>
> Die 16A Sicherung gilt für 230V. Wenn du ein Schaltnetzteil benutzt,
> dann hast du bei 5V die benötigten 10A, aber auf der "Hausleitung" nur
> ~300mA (keine Lust zu rechnen). Mach dir darüber also keine Sorgen.

Ist das wirklich so?^^Das wäre ja phenomenal, das eröffnet ja eigentlich 
ganz neue Möglichkeiten. Ich dachte schon, mich nach höher-voltigen 
Lösungen umschauen zu müssen. Aber wenn ich ein 5V 20A Netzteil nehmen 
kann und die Sicherung bleibt drin, ist ja alles gut. Oder muss ich auch 
hier wieder andere Dinge beachten? Ich hoffe mal, 5V reichen nicht aus, 
den Widerstand der Haut zu durchdringen ... ansonsten sind 20A wohl ne 
ganz unangenehme Sache, wenn sie durch den Körper fließen ...

>
> Die Rechnung ist ok, 10A Netzteil und dann 150 Leds klingt vernünftig.
> Auch wenn du niemals alle Leds voll weiß an haben wirst, musst du den
> worst case mit einberechnen. Irgendeiner kommt immer mal auf die Idee
> alles voll aufzudrehen und zu schauen wie hell es macht, glaub mir^^

Ja da gebe ich dir recht :D es gibt immer die Sorte Leute "Gib mal her 
ich kann das! ... oh ... kaputt ..."

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.