Es muss wie gesagt nicht unbedingt ein Bustreiber sein. Du kannst auch einfache Logikgatter nehmen. UND oder ODER mit beiden Eingängen zusammengeschaltet. Oder wie auch gesagt einfach zwei NANDs hintereinander. Oder wenn es nur invertierende Bustreiber gibt, dann wieder zwei Gatter hintereinander.
Wichtig ist eben HCT und nicht HC. HC ist normales HighSpeed CMOS. Das erkennt High erst ab 2/3 Vcc, was nicht zuverlässig geht. HCT ist Ausgangsseitig CMOS, aber erkennt TTL-Pegel an den Eingängen.
nix_mehr_frei:
Ganz viel Low ist fast schon ein kleines Bisschen High
[nonsens an]0,8 Volt werden bei den HCT ja "noch" sicher als Low erkannt ... was passiert jetzt, wenn man ein 4fach-OR Gatter hat und alle mit so einem LOW versorgt? Dann liegen ja 4 x 0,8 Volt an ... ist das dann 1 x HIGH und das OR somit erfüllt????[nonsens aus]
Serenifly:
Wichtig ist eben HCT und nicht HC. HC ist normales HighSpeed CMOS. Das erkennt High erst ab 2/3 Vcc, was nicht zuverlässig geht. HCT ist Ausgangsseitig CMOS, aber erkennt TTL-Pegel an den Eingängen.
Richtig. Weswegen man für HCT in der verlinkten Tabelle bei den Eingängen bei TTL schauen müsste. Aber das hat sich ja mittlerweile geklärt.
Wenn man mit 3,3 V Boards arbeitet, ist der erwähnte 74HCT125 übrigens ein recht nützliches Teil. Die Ausgangspins sind bis 20 mA belastbar. Man kann damit Lasten schalten, ähnlich wie mit den normalen Ausgängen der 5V Controller.
dafür muss es übrigens nicht unbedingt ein Bustreiber sein. Auch ein "einfaches" Logik-Gatter wie der 74HCT08 liefert zum Beispiel ein "Output Current" von max. 25 mA . Zumindest lt. NXP Datenblatt ... das kann von Hersteller zu Hersteller ein wenig variieren.
Das ist richtig. Aber der andere limitierende Faktor ist die maximale Belastbarkeit von GND und VCC. Die ist bei den Logik-Gatter-IC meist 50mA. Beim 125er sind es 70mA, genausoviel wie beim 245er, wo aber acht Ausgänge was haben wollen.
Der 125er hat sich bei mir u.a. am Beaglebone und am Arduino Due bewährt.
Ja, als LED Treiber habe ich die auch schon missbraucht
Wegen dem hier übrigens:
In diesem Falle könnte man beim 74HCH125 auch die unbenutzten OE auf High legen, dann schalten sie die unbenutzen Ausgänge hochohmig, da kann denen nichts passieren.
Würde ich auch so machen
Bei solchen ICs mit getrennten Gattern kann man unbenutzte Gatter zwar offen lassen und es funktioniert noch alles, aber die ziehen dann auch u.U. mehr Strom als wenn sie beschaltet sind. Und wenn man schon einen Tristate Treiber mit Enable Pins für jedes einzelne Gatter hat kann man sie auch nutzten.
EDIT:
Wobei das genau genommen für CMOS-Eingänge gilt. Ich nehme mal an HCT verhält sich genauso. Schadet aber so oder so nichts.
Effekt:
Wenn der 3.3V Output HIGH ist, wird der 5V Input vom PullUp-Widerstand auch auf HIGH gezogen. Konket auf 5V abzüglich 3.3V zuzüglich des Spannungsabfalls an D1 von ca. 0,7V, d.h. HIGH= ca. 4,3V 4.0V.
Wenn der 3.3V Output LOW ist, wird der 5V Input auf LOW gezogen, abzüglich des Spannungsabfalls an der Diode D2 von ca. 0,7V, d.h. LOW= ca. 0,7V.
Falls also die WS2812 mit LOW=0,7V und HIGH=4,0V laufen ==> Problem gelöst.
Diode z.B. 1N4148, PullUp z.B. 4,7K oder 10K.
Risiken und Nebenwirkungen:
Der 5V PullUp versucht, die 3.3V Spannung auf HIGH aufzuladen, d.h. es fließt durch den Pullup-Widerstand immer ein kleiner Strom in die 3.3V Spannungsversorgung hinein. An der 3.3V Spannung muss daher stetes mindestens so viel Strom von anderen Teilen der Schaltung (zum Beispiel dem Mikrocontroller selbst) verbraucht werden wie durch den Pullup hinein fließt, damit der Stromfluss nicht zu einem Spannungsanstieg an der 3.3V Spannung führt.
Da hat einer ein TFT Display an den Arduino angeschlossen und das ging nur mit Widerständen in den Datenleitungen. Wenn man nicht an eventuell vorhandene Schutzdioden denkt erscheint das seltsam.
könnte funktionieren. Wobei das sehr verwirrend beschrieben ist. Mußte das mehrfach lesen. Zudem in der Schaltung Input mit Output laut meiner Meinung nach vertauscht ist, was die Betrachtung nicht leichter macht. Man gibt ja 3,3V rein und möchte 5V raus haben. Ich würde dennoch das mit den Logikgatter vorziehen, ich selbst würde den OPV Komparator aufbauen, aber egal. Die 0,7V der Diode für Low sind knapp an den max. 0,8V für Low. Auch wenn die Diode praktisch gesehen nur 0,5 - 0,6V hat. Der verbotene Logikpegel Bereich ist da nah dran. Muß nicht sein wenn man es vermeiden kann. Meine Meinung.
die einfache Schaltung läßt mir keine Ruhe. Die werden sich schon dabei was gedacht haben. Nur wofür 3,3V Ub und D1 gut sein sollen weis ich dennoch nicht. Die kann man doch auch weglassen. Und um einen noch niedrigeren LOW Pegel zubekommen, könnte man eine Schottkydiode verwenden. Hat so ca. 0,4V.
Wenn der 3.3V Output HIGH ist, wird der 5V Input vom PullUp-Widerstand auch auf HIGH gezogen. Konket auf 5V abzüglich des Spannungsabfalls an D1 von ca. 0,7V, d.h. HIGH= ca. 4,3V.
Das sehe ich ein wenig anders:
Der 5V Eingang wird, über 5V - R - + - D - 3.3V (High), auf ca. 3.3V + 0.7V an + angehoben.
So habe ich auch die Tips'n'Tricks Erläuterung im Link verstanden.
4V sollte als high reichen, eine Schottky Diode zu verwenden ist allerdings eher kontraproduktiv.
die einfache Schaltung läßt mir keine Ruhe. smiley Die werden sich schon dabei was gedacht haben. Nur wofür 3,3V Ub und D1 gut sein sollen weis ich dennoch nicht.
So richtig verstehe ich das auch nicht.
Wenn der Contollerpin High ist, wird der 5V High Pegel quasi mit einem Spannungsteiler erzeugt. Evtl. ist das sauberer.
Ich hätte Bauschmerzen weil bei dieser Lösung der Controller Pin (3,3 Volt Logic) auf 5 Volt gezogen wird.
Jurs sagt das macht nicht, ich glaube jurs fast alles.
Bei meinem Nucleo verwende ich die CD4504 Ic's. Das funktioniert einwandfrei und ich belaste den Pin nicht.
Wenn der 3.3V Output HIGH ist, wird der 5V Input vom PullUp-Widerstand auch auf HIGH gezogen. Konket auf 5V abzüglich des Spannungsabfalls an D1 von ca. 0,7V, d.h. HIGH= ca. 4,3V.
Das sehe ich ein wenig anders:
Der 5V Eingang wird, über 5V - R - + - D - 3.3V (High), auf ca. 3.3V + 0.7V an + angehoben.
So habe ich auch die Tips'n'Tricks Erläuterung im Link verstanden.
Stimmt, Du hast Recht!
Ich habe meinen Beitrag in Reply #29 entsprechend angepasst/korrigiert.
michael_x:
eine Schottky Diode zu verwenden ist allerdings eher kontraproduktiv.
Ganz genau!
Und der Anschluß über Diode an 3.3V Betriebsspannung ist von den Schaltungsmachern offenbar deshalb vorgesehen worden, weil sie davon ausgehen, dass eine 3.3V Spannungsversorgung wohl den Strom locker aufnehmen kann, der über den PullUp ständig nach 3.3V fließt, OHNE dass dabei die Spannung Richtung 5V hochgezogen wird und dabei möglicherweise Schäden auftreten. Etwas, das der Schaltungsdesigner einem gewöhnlichen 3.3V Output-Pin wohl nicht zutraut.
... eine Schottky Diode zu verwenden ist allerdings eher kontraproduktiv.
Warum das denn?
Nur ob der Spannungsteiler
5V Ub --- R1 --- Diode D1 --- 3,3V Ub
nun parallel dran hängt oder nicht, ist in meinem Augen nutzlos. Es werden 2 Spannungsquellen kurzgeschlossen und der R1 begrenzt den Kurzschlusstrom.
Der Strom fließt dennoch
5V Ub --- R1 --- Diode D2 --- 3,3V µC Pin
Wenn der µC Pin auf Masse liegt, ratet mal wo der Strom am liebsten hin will ....
R1 muß genau dimensioniert werden. Genau wie in dem "Trick pdf" beschrieben. Pauschale Empfehlungen kann man da nicht geben.
Ich sag mal so. Nette Idee, wirklich, die Schaltung, kann man mal probieren wenn man Zeit hat. Für Helmuth ist das aber bestimmt nichts. Wir können aber gerne noch weiter darüber reden.
Nette Idee, wirklich, die Schaltung, kann man mal probieren wenn man Zeit hat. Für Helmuth ist das aber bestimmt nichts.
Sehe ich auch so.
Helmuth ist mit einem einzelnen IC sicher besser bedient, auch wenn der ein paar Cent teurer kommt, größer ist, und zu 3/4 unbenutzt ist.
ratet mal wo der Strom am liebsten hin will
Das ist schon klar: Er fliesst in den Output Pin und muss daher durch den Widerstand begrenzt werden.
Der Widerstand sollte auch nicht so klein sein, dass sich ein erheblicher Spannungsteiler-Effekt ergibt. Sowohl Low ( 0V )
als auch High (3.3V) sollten am 5V Eingang entsprechend erkannt werden.
Doc_Arduino:
... eine Schottky Diode zu verwenden ist allerdings eher kontraproduktiv.
Warum das denn?
Eine normale Diode erzeugt in beiden Fällen einen Offset von ca. 0.7 V (bei einem kleinen Strom evtl. weniger), so dass
0.7V immer noch Low und 4.0V sicher High ist.
Mit einer Schottky-Diode hätte man 0.3V (Low) bzw. 3.6V (High), was bei High etwas knapp ist (auf jeden Fall nicht so gut).
Im umgekehrten Fall 5V -> 3.3V ist eine Schottky Diode sicher sinnvoller:
+-- 10k --- 3.3V Vcc
|
5V Signal -- |< --+---------> 3.3V Signal
Output Input
GND ------------------------- GND
Pin Symbol verbinden mit
20 Vcc +5V
10 GND GND von Teensy und WS2812B
2 A0 Output Pin vom Teensy
18 B0 Din vom WS2812B
19 OE GND ("activate LOW")
1 DIR +5V (?)
Ist das so korrekt? Bin unsicher mit DIR - da steht im Datenblatt (wenn ich das richtig verstehe) "High: A=input B=A".