Hi zusammen,
ich hab bereits im Forum gesucht, aber nix gefunden das mich
zufriedenstellt...
Bevor ich mit meinem Eigentlichen Problem loslege, will ich euch erstmal
erzählen, wie ich zu meiner Frage und meinem Problem Komme:
Ich helfe einem Freund von mir seine Treppe mit Ledstreifen zu
beleuchten. Er hat auf YouTube ein Video gesehen, wo jede Stufe einzeln
aufleuchtet und wieder aus geht. Wollte er nachbauen, hat aber leider
keine Ahnung von Elektronik...
Ich scheine ein bisschen zu lieb zu sein, denn ich hab mich
breitschlagen lasse nicht nur den Code zu schreiben, sondern auch die
Lücken bei der Treiberbelektronik zu füllen...
Am Anfang wollte er einen Arduino Mega und 2 8xRelais-Module benutzen,
aber dann hab ich ihm Geraten lieber N-Kanal Mosfets zu benutzen, weil
vollkommen ausreichend und weniger anfällig weil die Treppe oft benutzt
wird...
Jetzt benutzen wie auch 2 74hc595 Schieberegister, weil ich die grad
rumliegen hatte und man dann keinen unmöglich großen Arduino braucht.
Dann hat der übliche Feature creep zugeschlagen und er wollte gerne über
wlan Helligkeit einstellen und die Einschaltezeit und
laufgeschwindigkeit anpassen können, also hat sich der Arduino nano in
einen Wemos d1 mini verwandelt....
Jetzt brauch ich aber Pegelwandler, denn meine Exemplare vom 74hc595
wollen nicht zuverlässig mit den 3.3V Ausgängen...
Jetzt bin ich mit meiner Geduld weit genug am ende, dass ich mir sag,
dass ich entweder das Projekt an die wand werfe, oder es direkt richtig
mache und Pegelwandler einbaue.
Kurzer Blick in meine Transistor Schublade:
Power Mosfets - check
Power Npns - check
Power pnps - check
kleine mosfets - leer
kleine npns - leer
Aber ich hab eine Tüte mit bc557 gefunden und suche jetzt nach einer
Pegelwandlerschaltung die nur pnp transistoren und widerstände braucht.
Da ich einige signale sowieso invertiren muss, am besten zusätzlich noch
einen der invertiertiert.
Ich finde Leistungstransistoren für so kleine logik signale ein bisschen
übertrieben, außerdem ist platz auf der Platine auch kanpp...
Und das Beste an allem ist: selbst, wenn ich jetzt noch npn Transistoren
bestelle, dann sind die nicht da, bis wir das in Betrieb haben müssen,
denn seine Trau kommt Samstag heim und das soll eine Überraschung
werden.
Zur not benutze ich einfach noch ein paar irfz44n die wir zum schalten
der Leds benutzen.
Das Projekt mit Code und Schaltplan kommt auf github falls und wenn es
eingebaut ist. Ich kann das aber gerne schon jetzt machen, damit ihr
schauen könnt.
Vielen Dank im Voraus und noch einen schönen Abend an alle :-D
Vorausgesetzt ich verstehe dein Problem richtig:
Ja, das geht. E an +5V, C an einen R und den dann an GND.
Die Basis miss man jetzt mit einem Teiler an +5V und den μC-Ausgang
legen und den so auslegen, dass bei 3.3V die Basis eben nicht mehr als
0.3-0.5V sieht, bei 0V am μC jedoch der Transistor zu leiten beginnt.
Ist das ungefähr so gemeint?
(Widerstandwerte passen nicht)
Und wie mach ich das bei denen die invertieren sollen?
Hab jetzt mal so überschlägig gerechnet, eigentlich sollte der
Basiswiderstand mit 1kOhm vollkommen ausreichend sein, oder war ich
schon wieder zu müde?
Und für den anderen Widerstand hab ich mir 10kOhm ausgesucht weil ich
davon viele hab.
Stefan S. schrieb:> Ist das ungefähr so gemeint?> (Widerstandwerte passen nicht)
Nicht ganz. Es fehlt ein Widerstand zwischen B und E.
Der muss zusammen mit dem Basiswiderstand einen Teiler bilden, so dass
er bei HIGH am Ausgang des μC den Transistor auch abschaltet. In deiner
Schaltung ist der PNP dauernd leitend, weil zwischen E und vor dem R_B
5V-3.3V=1.7V liegen. Dieser Wert muss auf <0.5V kommen.
> Und wie mach ich das bei denen die invertieren sollen?
Die Schaltung invertiert schon. Das passt man doch mit der SW an.
Es gibt auch noch weitere Varianten:
siehe https://www.mikrocontroller.net/articles/Pegelwandler
oder
NPN, B über R an 3.3V, E an μC-Ausgang, C über Widerstand an +5V.
Ich glaub das wird mir alles langsam ein bisschen zu kompliziert....
Dann sind die ifz44 halt overkill, aber wenigstens kann ich da nix
falsch machen...
Wahrscheinlich liegen die pnp Transistoren nur weil nich die nicht mag.
Ich hab schon länger nichts mehr mit Bipolar Transistoren gemacht und
müsste mich da erstmal wieder einlesen...
Könnte auch einen hex schmitt-trigger benutzen für den invertierenden,
aber ich muss nur einen einzigen invertieren...
Die anderen drei könnte ich mit puffern machen, fand ich aber auch
übertrieben
HildeK schrieb:> Nicht ganz. Es fehlt ein Widerstand zwischen B und E.> Der muss zusammen mit dem Basiswiderstand einen Teiler bilden, so dass> er bei HIGH am Ausgang des μC den Transistor auch abschaltet. In deiner> Schaltung ist der PNP dauernd leitend, weil zwischen E und vor dem R_B> 5V-3.3V=1.7V liegen. Dieser Wert muss auf <0.5V kommen.>>> Und wie mach ich das bei denen die invertieren sollen?> Die Schaltung invertiert schon. Das passt man doch mit der SW an.
Ich hab meine Schaltung grad ausprobiert und die funktioniert ganz gut,
dafür, dass sie nach deiner Aussage nicht funktionieren kann. zumndest
der invertierende ist jetzt geklärt, fehlen nur noch die die das nicht
tun sollen
Nimm für R1 und R2 je einen 10k Widerstand. Für den Widerstand zwischen
B und E (Vorschlag von HildeK) kannst du zwei 10k Widerstände parallel
schalten, wenn du so viele davon hast.
Für die nichtinvertieremde Stufe kannst du noch eine gleiche zweite
Stufe hinter der ersten Stufe schalten.
StefanSchmelz schrieb:> denn seine Trau kommt Samstag heim
Uiuiui, sorry, aber das reicht NIE bis dann! Ich würde sie einfach mal
leuchten lassen und froh sein, dass das wenigstens geht...
Gruss Chregu
StefanSchmelz schrieb:> Jetzt brauch ich aber Pegelwandler, denn meine Exemplare vom 74hc595> wollen nicht zuverlässig mit den 3.3V Ausgängen...
Da glaube ich eher dem Datenblatt, d.h. der HC595 läuft an 2..6V. Der
Fehler liegt also woanders.
Wogegen die HC595 empfindlich sind, sind Reflexionen auf langen
Leitungen. Robuster sind die langsamen Hochvolt-CMOS (3..18V), z.B.
CD4094.
Sag doch erstmal, was überhaupt die LEDs brauchen (V, A).
Es gibt fertige LED-Treiber ICs, die haben für jeden Ausgang ein eigenes
PWM-Register. Damit kann man also ohne zusätzliche Schaltungsaufwand die
LEDs einzeln dimmen.
Stefan S. schrieb:> Ich hab meine Schaltung grad ausprobiert und die funktioniert ganz gut,> dafür, dass sie nach deiner Aussage nicht funktionieren kann.
Wenn dein Logiksignal 3.3V beträgt, dann liegt die Basis über 1k an 3.3V
und der Emitter an 5V. Damit leitet der Transistor.
Wenn dein Logiksignal 0V hat (LOW), dann liegen 0V über 1k an der Basis
und der Transistor leitet auch.
Wenn das bei dir nicht so ist, dann hast du was anderes aufgebaut als
gezeichnet.
Es müsste in etwa so beschaltet werden wie im Anhang.
StefanSchmelz schrieb:> Jetzt brauch ich aber Pegelwandler, denn meine Exemplare vom 74hc595> wollen nicht zuverlässig mit den 3.3V Ausgängen
Mit einem PNP kann man aus keinem 0V/3.3V Ausgang ein 0V/5V
Ansteuersignal machen.
Aber ein 74HCT595 (HCT statt HC) liesse sich direkt steuern.
Und nicht jeder MOSFET kann mit 5V aus einem 74HC(T)595 richtig
durchgesteuert werden, die geeigneten Typen heissen LogicLevel.
Ein TPIC5B595 könnte die LEDs direkt steuern.
Und eine Treppe die das Tempo vorgibt in der ich sie besteigen soll ist
dämlich schwachsinnig.
Als Pegelwandler 3,3V->5V geht auch ein beliebiges HCT-IC, z.B. 74HCT04.
Eine Notlösung wäre auch, den 3,3V Ausgang als Open-Drain zu
konfigurieren mit nem externen Pullup nach 5V. Dann kommt High auf etwa
3,9V.
Peter D. schrieb:> Eine Notlösung wäre auch, den 3,3V Ausgang als Open-Drain zu> konfigurieren
Wenn das IC an den Pins 5V tolerant ist und keine Schutzdiode nach VCC
hat.
Also in 99% der Fälle geht das nicht.
MaWin schrieb:> Mit einem PNP kann man aus keinem 0V/3.3V Ausgang ein 0V/5V> Ansteuersignal machen.
Aber einen Ausgang mit 5V/0V (invertierend eben) - siehe
Beitrag "Re: Ein pnp transistor Pegelwandler"
Wenn der Eingang von einem µC kommt (Arduino), dann ist das in SW
anpassbar und damit ebenbürtig.
MaWin schrieb:> Wenn das IC an den Pins 5V tolerant ist und keine Schutzdiode nach VCC> hat.
Für die Schutzdiode habe ich +0,6V angesetzt, daher die 3,9V.
Eine Profilösung ist das natürlich nicht.
Die 74HC595 laufen an 5V, der esp8266 gibt maximal 3.3 Volt aus. Ich hab
die Schaltung hier auf einem Steckboard vor mir und mit einem Arduino
funktionierte sie.
Die Leds brauchen 12V 15A (Alle zusammen) und es sind 16 Stufen mit
ungefähr 110-160cm breite.
Und zu den Vorschlägen zu ersatz chips:
Ich kenne die Chips selbst alle, aber die hab ich leider grade nicht da
und bestellen wird nichts mehr bis morgen...
Die idee Mit open Drain ist sehr gut, aber die esp Pins mögen es laut
datenblatt nicht mit mehr als 3.6 Volt belegt zu werden.
Ich hab leider nur npn Transistoren die richtig Leistung ab können, die
sind mir zu teuer und zu groß dafür. Ebenso die NFets die ich noch
habe....
Wenn ich bis nach Weihnachten zeit hätte, wäre das kein Problem, dann
würde ich ein paar pca9685 bestelen.
Und die Pegel vom Schieberegister funktionieren zumindest mit den
Streifenlängen ganz gut, auch wenn die nicht direkt logic level
transistoren sind.
Ich würde gern invertierende und nichtinvertierende Pegelwandler
benutzen, weil ich dann gegebenenfalls pwm mit output enable machen
kann, ohne das duty cycle umrechnen zu müssen. (OE ist active low)
Im zweifel nehm ich jetzt 2 Inverter hintereinander...
ANsonsten hat die Diskussion wahrscheinlich nicht mehr viel sinn
Stefan S. schrieb:> ohne das duty cycle umrechnen zu müssen. (OE ist active low)
PWMs lassen sich in der Regel auch invertierend konfigurieren.
X = -X; ist aber auch kein riesiger Rechenaufwand.
Wenn du die HC595 auch aus den 3,3V speist, kannst du am Ausgang die von
HildeK beschriebene Schaltung mit dem PNP benutzen. Du musst aber immer
noch beachten, das ein IRFZ44 kein Logiklevel MOSFet ist, also deutlich
mehr als 3,3V oder 5V am Gate benötigt, um voll durchzuschalten.
Am einfachsten wird die Schaltung mit IRLZ44 direkt an dem 5V Ausgang
von HildeK.
Das mit den IRFZ44N weiß ich, aber danke für den Hinweis (-:
Ich wollte aus Platzgründen lieber die wandler am Eingang vom
Schieberegister haben, damit ich nicht 16 Pegelwandler bauen muss. Platz
ist luxus da woder controller sitzen kann.
Ich würde IRFZ44 benutzen, wenn ich welche da hätte...
Wie oben schon erwähnt kann ich bis morgen nicht mehr bestellen. Wenn
das Ganze Projekt nicht ein spontaner Schnellschuss und ein drei Tage
projekt wäre, würde das alles ganz anders aussehen.
Wenn ich noch welche gehabt hätte, hätte ich auch mosfet Treiber und
einen pca9685 gekauft. Außerdem hätte ich die software Seite anders
gemacht...