Einfache Schaltung 3,3V->5V (Teensy 3.1+WS2812B+MSGEQ7)

Hi,

long Story short: Ich bin mit dem Rechenpower und RAM vom ATMega2560 am Limit. Bin gerade in Bratislava, habe also keinen Zugang zu meinen Octoboard und Spielsachen daheim. Aber einen Teensy 3.1 habe ich zum Glueck mitgenommen. Den WS2812B sind die 3,3V bekanntermassen zu wenig. Ich suche jetzt eine einfache Moeglichkeit, den Output auf 5V zu verstaerken. Gepulste Gleichspannung mit 800kHz.

Es gibt hier einen schoenen Old School Elektronikladen mit tausenden kleinen Schubladen und einem Typen hinterm Tresen, der einem Comic entsprungen sein koennte. Man bekommt da alle Standard Elektronikbauteile, aber keine aktuellen Entwicklungen, wie z.B. LED Controller.

Suche also eine einfache Schaltung, die mit Brot und Butter Bauelementen oder einem gebraeuchlichem IC aufgebaut werden kann.

Vorschlaege?

Danke,

Helmuth

http://www.mikrocontroller.net/articles/Pegelwandler#3.2C3_V_.E2.87.92_5_V

Am besten ist irgendein Bustreiber IC aus der HCT Familie, da deren Eingänge TTL-kompatibel sind

Ich weiss nicht genau, was du mit gepulster Gleichspannung meinst. Aber vielleicht liesse sich mit einer Spannungspumpe aus Dioden und Kondensatoren was machen, zusammen mit einem 5V Spannungsregler.

Hm, es gibt ja so schöne kleine Briefmarkengroße Platinen vom freundlichen Chinesen mit StepUp Wandlern. Ansonsten hätte ich 2 Strategien: den ICL7660 http://www.intersil.com/content/dam/Intersil/documents/icl7/icl7660.pdf
Guck dir mal die verlinkte Aplication Note an. Eigentlich erzeugt der negative Hilfsspannungen für OV’s u.ä., man kann ihn aber auch zur Spannungsverdopplung überrreden. Eventuell muß da noch ein low drop 5V Spannungsregler dahinter, der aus den 6V dann 5V macht. Eine 5,1 oder 5,6V Zenerdiode machts natürlich auch, wenn du nur ein paar mA brauchst.
Oder du nimmst einen LM2577adj. Eine Wald- und Wiesen Shottkydiode und eine kleine 100µH Drossel dazu (mal nach der App. Note googeln) und fertig ist der StepUp Wandler.

Moment. Reden wird hier über die Versorgungsspannung oder nur die Datenleitungen? Ich hatte letzteres verstanden…

Hallo,

ich verstehe das auch so, dass er nur das Datensignal von 3,3V auf 5V anheben möchte, weil der WS2812B wohl mit 3,3V Signalpegel nicht zurecht kommt. Da wäre folgende Schaltung möglich mit ganz normalen Bauteilen. Berechnung der Widerstände kommt auf die Transistortypen drauf an.

Den 2. NPN (der rechte) kann man auch weglassen und das Signal zwischen R3 und ersten NPN abgreifen. Nur ist dann das Signal negiert. Könnte man in der Software korrigieren. Ansonsten mit 2x NPN, dann ist vorn “1” rein und hinten kommt “1” raus bzw. “0” / “0”.

Der WS2812B bekommt aber woanders her 5V Betriebsspannung? Du hast also 3,3V, weil der Teeny nur mit 3,3V läuft, so verstehe ich Dich. Und der Rest hat 5V?

Edit:
eigentlich braucht man da gar nicht rechnen. Wenn Du gängige BC337-40 oder BC547B oder BC547C bekommst, nimmste alles 1 kOhm Widerstände. Fertig. Bevorzugen würde ich den BC337-40. Ist dafür aber auch egal.

ich würde auch einen 74HCT.... nehmen. Ein 74HCT08 hat zum Beispiel 4 AND-Gatter in einem Chip, die die 3,3 Volt sicher als High erkennen und am Ausgang 5 Volt-Signale zur Verfügung stellen. Bei einer Transition Time von max. 15 Nano-Sekunden gemäß Datenblatt sollten die auch locker schnell genug sein, um mit 800 kHz zurecht zu kommen wenn ich mich nicht verrechne :-)

Du brauchst dafür aber natürlich eine 5 Volt Versorgungsspannung.

Hallo,

noch eine Idee. Mit OPV. Typ LM393. Der funktioniert mit 5V an Ub.

Am positiven Eingang kommt Dein µC Ausgang ran. Der Ausgang vom OPV geht zum WS2812B. Mit dem Poti stellste den Umschaltpunkt des Komparators ein. Meinetwegen auf 1V bis 2V.

Das mit dem Logikgatter sollte auch funktionieren. Da ein High-Pegel ab 2V definiert ist.

Such Dir was raus …

Danke schonmal fuer alle Antworten

Es geht nur um die Pegelwandlung der Datenleitung vom Teensy 3,3V bei HIGH auf 5V. Die WS2812B haben eine externe 5V Versorgung. Ich suche keinen StepUp Wandler fuer die Betriebsspannung.

Stellt Euch bei Euren Erklaerungen bitte vor, ich haette von Schaltungsdesign soviel Ahnung wie Eure Mutter. Ausserdem keine Messtechnik zur Hand, um Schaltschwellen einzustellen.

Ich suche eine einfache Schaltung mit wenigen Bauelementen, welche nach dem Zusammenloeten sofort benutzbar ist.

Ich habe mir die Datenblaetter von den HCTs angesehen, aber darin leider keine Beispielschaltungen fuer die konkrete Anwendung gesehen. Ich nehme an, ich will das Signal nicht invertieren, richtig? Also waere es wohl konkret der 74HCT244? Wozu brauche ich Enable Pins? Es soll einfach durchgehend und immer das Singal gepegelwandelt werden...

In allen von mir gesichteten Threads im Mikrocontroller Forum, wurde grosszuegig mit Stichworten umhergeworfen, was man alles kann und womit das noch gehen wuerde, aber ich habe keine einzige vollstaendige Schaltung plus Dimensionierung aller Bauteile gesehen. Ist wohl ein triviales Problem fuer Elektroniker, fuer mich allerding gerade ein grosses...

Irgendein Link, wo alle fuer einen Anfaenger noetigen Infos drinstehen?

Beste Gruesse

Helmuth

Hallo,

Helmuth: Irgendein Link, wo alle fuer einen Anfaenger noetigen Infos drinstehen?

http://www.mikrocontroller.net/articles/Pegelwandler#3.2C3_V_.E2.87.92_5_V

3,3-V-Pegel werden bei TTL kompatiblen Eingängen richtig erkannt (Schaltschwelle 1,4 V). Es ist kein Pegelwandler erforderlich. Direkte Verbindung. Einer der großen Vorteile klassischer TTL-Technik!

Du kannst also alles nehmen, was TTL-Pegel akzeptiert, also die "echten" alten TTL-Chips, wie 74LS..., falls der Old School Laden das noch hat, oder eben in CMOS die 74HCT..., die brauchen weniger Strom. [Edit:] Da du ja Ausgangsseitig vermutlich 5V CMOS Pegel brauchst, scheidet 74LS dann wieder aus, also doch nur 74HCT... (das "T" ist wichtig).

Welches IC du nimmst, ist dann eigentlich egal, schau was es an Logik oder Bustreibern gibt. Bustreiber haben meist noch diverse Steuereingänge, die kann man aber fest auf Low oder High verdrahten.

Praktischer Hinweis aus dem obigen Link

74HCT125: OE Pins auf Masse und dann das Signal einfach anschließen.

Also nur das IC an GND und 5V, die vier OE-Pins auch auf GND, dann hast du vier Wandler für 3,3 V auf 5 V pro IC.

Ich kaufe also eine 74HTC125 und beschalte ihn so:

1A zum Ausgang vom Teensy 1Y zu Din von der ersten LED 1OE auf GND GND auf GND VCC auf +5V von den LEDs

Datenblatt hier: http://html.alldatasheet.com/html-pdf/15532/PHILIPS/74HCT125/751/3/74HCT125.html

Alle anderen Beinchen bleiben unbenutzt/offen. Das ist alles?

Helmuth

im Prinzip ja. Wie ich oben auch schon geschrieben habe, geht das grundsätzlich mit jedem 74HCT… Baustein. Also einfach nehmen was er hat :-). Am einfachsten ist es natürlich mit den “simplen” Logik-Gattern wie AND oder OR … aber auch so ein Bus-Treiber geht grundsätzlich. Abhängig davon was Du bekommst musst Du die Eingänge halt so beschalten, dass Ausgang = Eingang ist. Bei einem AND beide Eingänge und bei einem XOR zum Beispiel nur einen der beiden Eingänge mit dem Signal und das andere auf GND usw.

Wie gesagt: hängt davon ab, was Dein Altertums-Laden hat :slight_smile: … wichtig ist nur 74HCT und nicht 74HC

Aha und danke! Mal schauen, welchen 74HCTxxx ich morgen bekomme.

Helmuth: Alle anderen Beinchen bleiben unbenutzt/offen. Das ist alles?

Unbenutzte Eingänge legt man normalerweise auf GND.

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.

Hallo,

warum nur 74HCT funktionieren sollen verstehe ich nicht. 74LS gehen auch. Der Standardtyp mit dem alles begann wäre NAND.
Also 74HCT00 oder 74LS00. Die muß jeder Laden haben. Da die negieren, schaltest Du 2 komplette Logikgatter hintereinander. Dann stimmt die Logik wieder.

Schaltplan kommt noch … den versteht auch Deine Mutter … :slight_smile:
Ub und Masse ran. Sollte Pin 14 und 7 sein. jeweils diagonal gegenüber. Aber da guck ich auch immer nochmal ins Datenblatt.

Doc_Arduino: 74LS gehen auch.

Eingangsseitig ja. Aber er will ja offenbar zu was weiter, was 5V CMOS Pegel verlangt. Sonst würden ja die 3,3 V auch so reichen.

Und für TTL-Ausgänge gilt, laut Wikipedia, High ist größer gleich 2,4 V. Ein 5V CMOS Eingang erkennt ein High aber erst ab 3,5 V. http://de.wikipedia.org/wiki/Logikpegel

Deswegen habe ich meinen Beitrag oben noch mal editiert.

Hallo,

überleg nochmal. Es geht darum einen 3,3V Pegel als Logik High erkennen zu lassen. Da kannste laut der Tabelle gar keinen CMOS (HCT) nehmen. Da mußt Du sogar LS nehmen. Weil der HCT die 3,3V nie als High erkennen würde, laut Spezifikation. Erst ab 3,5V darf er High erkennen. Das bliebe immer LOW. Also 74LSxx und das funktioniert.

Und wegen Ausgang. Das ist völlig Wurst. Der Ausgang schaltet gegen Ub. Also 5V. An dem Ausgang hängen ja keine 100 weitere Logikgatter dran die die Spannung runterziehen würden.

Weil ein 74LS00 laut Datenblatt nur eine "Output Voltage" von 3,4 Volt hat! Das wird zwar von anderen LS74 wieder sicher als HIGH erkannt, hilft aber in diesem Fall nicht als Pegelwandler!

Edit: Und dass der 74HCT keine 3,3 Volt als HIGH erkennt ist schlicht falsch! Ein Blick ins Datenblatt verrät, dass für HIGH >= 2,0 Volt reichen! Gerade das macht die HCT ja aus im Gegensatz zu den HC. Ich weiß zwar nicht, welche Spezifikation Du da zu rate gezogen hast ... das Datenblatt eines HCT's kann's jedenfalls nicht gewesen sein ;). Wie gesagt: Du darfst den 74HCT nicht mit den 74HC verwechseln! Ich nutze den 74HCT04 hier selbst als Pegelwandler für meinen DigiX, der auch nur mit 3,3 Volt läuft ... geht super!

Hallo,

ich hatte in Deine verlinkte Tabelle geschaut. Mehr nicht. Da wird aber nur von reinem CMOS mit 5V die Rede sein. Nicht die HCT's. Alles wird gut.

ich hab keine Tabelle verlinkt ;) ... können wir uns also darauf einigen, dass ein 74HCTxx funktioniert? Wie gesagt: bei den 74LS hätte ich laut Datenblatt meine Zweifel und 74HCxx (ohne das T am Ende) gehen defitiv nicht!