Go Down

Topic: WS2812 am D1 mit 3,3V betreiben (Read 2372 times) previous topic - next topic

Rentner

Hallo

An den kommenden langen dunklen Winterabenden möchte ich mich gerne mit Licht und dem WS2812 LED Streifen beschäftigen. :) 
Zu dem Thema den mit einer 3,3V Datenleitung aus dem ESP 8266 D1 betreiben zu können gibt es verschiedene Aussagen. Eigendlich gilt Datenblatt 0.7*5V =3,5V als minimum, aber ich hab auch schon gelesen das es wohl gehen soll.

Hat das schon jemand zuverlässig gemacht oder soll ich besser einen Pegelumsetzer gleich mitbestellen. Mit einem Schalttransistor solllte es  ja eigendlich auch gehen, hat das schon mal einer so gemacht ?



Heinz
 

amithlon

Hallo,

Zu dem Thema den mit einer 3,3V Datenleitung aus dem ESP 8266 D1 betreiben zu können gibt es verschiedene Aussagen. Eigendlich gilt Datenblatt 0.7*5V =3,5V als minimum, aber ich hab auch schon gelesen das es wohl gehen soll.
richtig. Meine WS2812B haben ihr Datenblatt nicht gelesen und lassen sich direkt über 390 Ohm vom ESP ansteuern.
Bei meinem Bekannten die Stripes auch, eine Matrix 22x22 mit WS2812B wollte dagegen nicht ohne Pegelanpassung.
Garantieren kann Dir das also keiner.
Pegelwandler entweder ein nichtinvertierendes 74HCT-Gatter, vom HCT08 und beide Eingänge parallel z.B.
Transistor würde gehen mit  Stufen hinereinander wegen der Invertierung. oder die Software kann das Signal invertiert ausgeben, dann reicht einer + Basiswiderstand und PullUp gegen die 5V der WS.

Gruß aus Berlin
Michael

Rentner

oder die Software kann das Signal invertiert ausgeben, dann reicht einer + Basiswiderstand und PullUp gegen die 5V der WS.

Gruß aus Berlin
Michael

das werden  die Standardlib´s  aber sicher nicht können. Ich werd´s mal ohne probieren und wenn´s nicht geht bau ich zwei Transistoren dran.

Das mit zwei Pegelwandlern Stufen paralell ist ja auch irgendwie doof

Danke für die Info

Gruß Heinz

Tommy56

Das mit zwei Pegelwandlern Stufen paralell ist ja auch irgendwie doof
Die angegebenen 74HCT08 sind AND-Gatter und da musst Du beide Eigänge auf HIGH legen, um HIGH raus zu bekommen. Das ist keine Parallelschaltung von Gattern.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

noiasca

Hat das schon jemand zuverlässig gemacht
ja. Ich verwende am ESP/NodeMCU - zwar selten die WS2812 aber häufig die APA106 - als Statusleds direkt mit einem Widerstand am 3.3V GPIO.
how to react on postings:
- post helped: provide your final sketch, say thank you & give karma.
- post not understood: Ask as long as you understand the post
- post is off topic (or you think it is): Stay to your topic. Ask again.
- else: Ask again.

Helmuth

Für Versuchs- und Spielaufbauten auf dem Schreibtisch geht es meistens auch mit 3,3V aber wenn es ausfallsicher und sauber aufgebaut sein soll, dann nimm einen passenden Levelshifter.

Gruß, H.

beeblebrox

Ich habe bisher 3 Methoden benutzt um so einen Stripe bei 3.3V Daten zu betreiben:

1) Den ganzen Stripe gleich nur mit den 3.3V betreiben -> bei mir klappts ist aber Panikbetrieb !


2) Mit einem Widerstand und einer Diode kann man den Datenpin etwas höher ziehen so das HI-Pegel
sicher erreicht wird.

Also so : Schaltung

3) Die 5 V erst bei der zweiten Leuchtdiode des Stripes einspeisen und über eine Diode zurück auf
auf die Erste LED. Damit wird die erste mit ca. 4.3 Volt betrieben - das reicht - und die 3.3V auf
der Datenleitung reichen sicher über die HIGH-Schwelle. Ab der zweiten Diode läuft dann alles in der
Spec.

Methode 2 ist meine Bevorzugte und funktioniert tadellos.

Ulli


amithlon

Hallo,

die Methode mit der Diode nutze ich durchaus mal bei Wandlung 5V->3,3V, z.B. bei einer SD-Card. Das klappt auch noch mit 8MHz SPI-Clock...

Bei 3,3V->5V gibt es damit 2 Probleme: der ESP sieht bei High theoretisch 5V - Uf, also 4,3V über die Diode an seinem GPIO. Praktisch stört das nicht, weil der Strom über die 4,7k niedrig genug bleibt, um die Spannung am ESP nciht wirklich über Ub anzuheben. Wäre meine Methode, wenn es direkt mit dem IO des ESP nicht wirklich stabil läuft und es unwichtig und schon "fertig" ist. Praktisch ist mir das noch nicht passiert, es läuft bei üblichen Zimmertemparaturen dauerhaft stabil. Oder eben von Anfang an nicht...

Gruß aus Berlin
Michael

michael_x

Quote
die Methode mit der Diode nutze ich durchaus mal bei Wandlung 5V->3,3V
Da gehört die Diode aber andersrum:
Code: [Select]
3.3V      --- 4k7 -----+   
                       |
5V Signal --- -|<- ----+----> 3.3 V Signal
Arduino       Diode


Oft haben SD-Kartenmodule den Spannungswandler auf 3.3V und die Widerstände (gern auch 10k) schon drauf.

amithlon

Hallo,

Diode und Widerstand sind sowohl bei Dir als auch bei ihm schon richtig, nur die Spannungsangabe ändert sich in 3,3V statt 5V und aus dem 3,3V ESP wird ein 5V Arduino.
SD-Cardadapter mag ich lieber ohne alles, da bauen mir die Chinesen zuviel gutgemeinte Konstrukte zusammen, die bei reinem 3,3V Betrieb mehr stören als nutzen.
Meine "Diodenlösung" ist auch schon aus der vor-Arduino-Zeit und macht stabil 8MHz SPI-Clock mit, der 4,7k war dann aber 2,2k.

Gruß aus Berlin
Michael

Rentner

#10
Nov 12, 2018, 09:02 pm Last Edit: Nov 12, 2018, 09:04 pm by Rentner
Hallo,

das Mit der Diode ist ne geile Lösung, klar das geht so, 2,2K ist doch kein Problem fliesst doch nix. H Pegel kommt über den Widerstand. L Pegel zieht der ESP dann auf 0.

Dennoch denke ich das sollte so aussehen.

Code: [Select]


                            5V
           +--- 2,2K -------
           |
esp 3,3V   |               WS D in
------->|--+---------------






amithlon

Hallo,

na dann schauen wir mal nach den Spannungspegeln: ESP ist auf Low -> Diode ist gesperrt, Din sieht High vom PullUp.
ESP ist auf High -> Diode ist immernoch gesperrt (Anode knapp 3,3V, Kathode 5V über PullUp, Din sieht High...

Und jetzt wie im Original: ESP ist Low, Diode leitet, Din sieht 0,7V (Flußspannung der Diode), also Low.
ESP ist High -> Diode leitet immernoch, Kathode knapp 3,3V, Anode die 5V über den PullUp.
Din sieht 3,3V + 0,7V (Flußspannung), kanpp 4V -> High.
Unfair ist hier, daß der die 5V über PullUp und Diode versuchen, den IO des ESP auf 4,3V zu bringen. Es passiert nichts wirklich, weil die internen Schutzdioden des ESP die Spannung am IO auf 3,3V + 0,7V (interne Schutzdiode) 4V anheben könnten, der 4,7k den möglichen Strom aber niedrig genug hält.

Nach Espressif scheinen die ESp aber spezielle IO-Schutzschaltungen zu haben, die Schäden bis 5,5V verhindern, vermutlich wird also die Spannung am IO sogar auf die 4,3V steigen ohne reale Nachteile.
Müßte man nachmessen, wäre mir aus obigen günden aber egal, was genau passiert.

Gruß aus Berlin
Michael

Rentner

@Michael ,hast ja Recht, hatte etwas Probleme damit das die 5v von hinten über die Diode in Durchlassrichtung auf den Esp Pin gehen .
Stimmt aber da ist was im Ausgang drin.

Gruß Heinz

amithlon

#13
Nov 12, 2018, 10:39 pm Last Edit: Nov 12, 2018, 10:39 pm by amithlon
Hallo,

@Rentner, das Espressif-Datenblatt ist da etwas ...spartanisch... Sie schreiben, daß die IO bis 5,5V ohne Schaden zu nehmen vertragen, sie garantieren aber zwischen 3,6V und den 5,5V nicht für die richtige Funktion. Das dürfte aber nur als Eingang eine Rolle spielen, ein Ausgang, der angehoben wird, dürfte kaum plötzlich Low ausgeben. Würde mich jedenfalls stark verwirren.

Gruß aus Berlin
Michael

Go Up