Hallo,
ich stehe gerade auf dem Schlauch.
Ich würde gerne mehrer LED Stripes per PWM über einen MAX7313 dimmen.
Die Ausgansleistung der Open-Drain-Ausgänge reicht für die Anwendung
nicht aus, weshalb ich die Stripes über mehrere FETs steuern möchte.
Nun möchte ich aber das im LOW Zustand des MAX7313 (open drain out) der
FET ebenfalls LOW ist. Ein P-Kanal kommt nicht in Frage, da die
Versorgungs-Spannung der LEDs über der Versorgungs-Spannung des MAX
liegt.
Ein N-Kanal wäre ja im LOW Zustand des MAX7313 mit Pull-Up Widerstand
vor dem Gate HIGH. Meine Idee wäre vor dem N-FET einen PNP-Transistor zu
setzen, wie im angehängten Bild.
Funktioniert das so bzw. gibt es einen elegantere Lösung? Da ich meherer
Stripes dimmen möchte gibt es für so etwas fertige ICs/Arrays?
Gruß,
no_resistance
no_resistance schrieb:> Nun möchte ich aber das im LOW Zustand des MAX7313 (open drain out) der> FET ebenfalls LOW ist.
Möchtest du nicht einfach nur, dass die LEDs leuchten, wenn der MAX low
ist? Ob da irgendwelche FETs low oder high sind, ist dabei doch egal.
> Ein P-Kanal kommt nicht in Frage, da die Versorgungs-Spannung der LEDs> über der Versorgungs-Spannung des MAX liegt.
Warum schließt das eine das andere aus? Wenn die LED-Versorgung konstant
ist, dann kann man da auch was mit Z-Dioden machen.
> Ein N-Kanal wäre ja im LOW Zustand des MAX7313 mit Pull-Up Widerstand> vor dem Gate HIGH.
Kommt jetzt ganz drauf an, wie "low" und "high" definiert sind und wie
der Mosfet verschaltet ist. Du solltest in analogen Schaltungen nicht
mehr mit "low" und "high" denken, sondern in Potentialen zwischen Pins.
BTW: warum drehst du deine Logik nicht einfach um? Und sagst: wenn der
Open-Drain offen und durch den Pullup damit auf 5V ist, sind die LEDs
hell. Dann müsstest du "nur" die Helligkeitswerte für die PWM in deinem
µC "invertieren".
Weitgehend.
Der MAX7313 wird mit max. 3.6V versorgt, kann aber am OD-Ausgang bis
5.5V einen Pullup haben. Der sollte imho noch drin sein.
Die Frage ist, ob du nicht einfach direkt den nMOS ansteuern kannst,
ohne den Transistor. Wenn der mit 5V am Gate zufrieden ist, dann einfach
einen PU nach 5V und den MAX-Ausgang aufs Gate.
Klar, die PWM läuft dann umgekehrt, aber das ist doch nur eine Sache der
Software, die ja sowieso benötigt wird für die I2C-Ansteuerung.
Hi,
Danke für die Antworten. Mir ging es hauptsächlich darum, dass bei
Ausfall des µCs oder MAX7313 die Stripes nicht leuchten.
Aber um das zu gewährleisten könnte ich ja auch die V+ der Pull-Up
Widerstände potentialfrei legen oder? Wie im angehängten Bild?
Ist der Pull-Down Widerstand ( >R1 ) notwendig/zulässig wenn am
Open-Drain-Ausgang des MAX ein Pull-Up Widerstand ist? Ich habe gelesen
das bei FETs Pull-Down Widerstände üblich sind um das Gate zu entladen.
Gruß
no_resistance schrieb:> Mir ging es hauptsächlich darum, dass bei> Ausfall des µCs oder MAX7313 die Stripes nicht leuchten.
Was meinst du mit 'Ausfall'? Definiere mal die zu betrachtenden
Fehlerfälle.
Was für ein Signal hast du dann in diesem Fall, mit dem du irgendwas
bewirken kannst?
Da gibt es doch unzählige Möglichkeiten, was man alles als Ausfall
bezeichnen könnte.
Wenn der µC stehen bleibt oder keine Versorgung mehr hat, dann würde der
MAX den alten Registerinhalt weiterhin an die LEDs weitergeben -
zumindest so mein Verständnis beim Überfliegen des Datenblattes. Das
wird nur verschwinden, wenn du in dem erkannten Fehlerfall das Gate von
Q2 nach Masse kurzschließt oder die Versorgung der LEDs unterbrichst.
In deiner Zeichnung ist unklar, womit der Q3 angesteuert wird.
R2 wird nur wirken können, wenn du Q3 abschaltest - mit 5V am Gate.
Aber wo kommen diese dann im Fehlerfall her?
Wenn du in dem Fehlerfall die 5V hast, dann ginge, wie erwähnt, auch das
nach GND kurzschließen des Q2-Gates mit einem kleinen nMOS.
Oder auch über einen NPN + pMOS das Abschalten von VCC für die LEDs.
no_resistance schrieb:> Funktioniert das so
Eine LED ohne Vorwiderstand ? Sicher nicht, aber die steht wohl
symbolisch für einen 12V LED Strip.
Ca 4.5V an einem MOSFET-Gate ? Es muss dazu ein LogicLevel MOSFET sein.
Typennummer hast du NATÜRLICH nicht drangeschrieben.
5V am Emitter des PNP ? Wenn der MAX7313 ausschaltet, zieht niemand die
Basis auf 5V. Es müsste noch ein Widerstand zwischen Emitter und Basis,
sagen wir 10k.
HildeK schrieb:> Was meinst du mit 'Ausfall'? Definiere mal die zu betrachtenden> Fehlerfälle.
Die Stripes werden mit 12V versorgt, die Elektronik geregelt mit 5V oder
3.3V. Bei Ausfall/Zuschalten der 5V/3.3V oder einem Reset des µC wäre es
schön wenn die Stripes aus bleiben bis alle Werte gesetzt sind.
- Bei Ausfall der 5V/3.3V würden die n-FETs nicht mehr durchschalten. ->
Kein Problem.
- Bei Zuschalten/Reset könnte ich die Pull-Up Versorgung mit einem Pin
des µCs + n-FET nach erstmaligem Werte setzen des MAX zuschalten. ->
kein Aufblitzen der Stripes bei Einschalten/Neustart.
- Bei einem stehen bleiben des µCs kann ich nicht viel machen oder?
> Was für ein Signal hast du dann in diesem Fall, mit dem du irgendwas> bewirken kannst?
Keines, der µC soll stand-alone betrieben werden.
> Wenn der µC stehen bleibt oder keine Versorgung mehr hat, dann würde der> MAX den alten Registerinhalt weiterhin an die LEDs weitergeben -> zumindest so mein Verständnis beim Überfliegen des Datenblattes. Das> wird nur verschwinden, wenn du in dem erkannten Fehlerfall das Gate von> Q2 nach Masse kurzschließt oder die Versorgung der LEDs unterbrichst.
Verstehe. Gibt es eine Möglichkeit ein stehen bleiben des µCs zu
erkennen?
> R2 wird nur wirken können, wenn du Q3 abschaltest - mit 5V am Gate.
Mein Denkfehler, hier ging es um den "normal" Betrieb, der MAX zieht ja
mit dem Open-Drain-Ausgang das Gate auf GND, somit wäre R2 unnötig.
MaWin schrieb:> Eine LED ohne Vorwiderstand ? Sicher nicht, aber die steht wohl> symbolisch für einen 12V LED Strip.
Ja.
> Ca 4.5V an einem MOSFET-Gate ? Es muss dazu ein LogicLevel MOSFET sein.> Typennummer hast du NATÜRLICH nicht drangeschrieben.
Ja soll ein LogicLevel MOSFET werden. Welcher ist noch nicht festgelegt.
Denkbar wäre z.B.
https://www.mouser.de/datasheet/2/308/NTF3055L108-D-1814038.pdf je nach
Länge/Leistung des Stripes.
> 5V am Emitter des PNP ? Wenn der MAX7313 ausschaltet, zieht niemand die> Basis auf 5V. Es müsste noch ein Widerstand zwischen Emitter und Basis,> sagen wir 10k.
Stimmt, den habe ich vergessen.
no_resistance schrieb:> - Bei Ausfall der 5V/3.3V würden die n-FETs nicht mehr durchschalten. ->> Kein Problem.
Ja, das passt.
> - Bei Zuschalten/Reset könnte ich die Pull-Up Versorgung mit einem Pin> des µCs + n-FET nach erstmaligem Werte setzen des MAX zuschalten. ->> kein Aufblitzen der Stripes bei Einschalten/Neustart.
Ja, wenn in dem Zustand (Reset oder bevor ein Pin konfiguriert ist) der
Schaltpin noch hochohmig ist, dann kannst du den Q3 mit einem Widerstand
zwischen G und S ruhigstellen. Dann wirkt R2, der im Bereich 50-100k
liegen kann.
> - Bei einem stehen bleiben des µCs kann ich nicht viel machen oder?
Du könntest einen Pin toggeln und das extern feststellen. Wenn das
Toggeln ausfällt, ein Abschaltsignal generieren. Oder den µC halt mit
dem internen WD wiederbeleben.
>> Was für ein Signal hast du dann in diesem Fall, mit dem du irgendwas>> bewirken kannst?> Keines, der µC soll stand-alone betrieben werden.
Mir ging es um die Frage, womit das Gate von Q3 bedient wird.
>> R2 wird nur wirken können, wenn du Q3 abschaltest - mit 5V am Gate.> Mein Denkfehler, hier ging es um den "normal" Betrieb, der MAX zieht ja> mit dem Open-Drain-Ausgang das Gate auf GND, somit wäre R2 unnötig.
Im Normalbetrieb ist R2 überflüssig, ja. Da ist R1 derjenige, der für
schnelles Einschalten bei PWM sorgen muss. Er ist halt wichtig, wenn Q3
aus ist, sonst floatet das Gate von Q2.
no_resistance schrieb:> Mir ging es hauptsächlich darum, dass bei Ausfall des µCs oder MAX7313> die Stripes nicht leuchten.
Definiere "Ausfall".
> Wie im angehängten Bild?
Je aufwändiger so eine Schaltung wird, um so seltsamer wird sie sich in
der Realität verhalten. Und diese Schaltung ist schon ziemlich
aufwändig...
no_resistance schrieb:> Die Stripes werden mit 12V versorgt, die Elektronik geregelt mit 5V oder> 3.3V. Bei Ausfall/Zuschalten der 5V/3.3V
Bei derart unbahängig schaltbaren Versorgungen musst du sowieso gut
aufpassen, dass du dir da nicht irgendeinen parasitären Versorgungspfad
einfängst.
> oder einem Reset des µC wäre es> schön wenn die Stripes aus bleiben bis alle Werte gesetzt sind.
Wie soll der MAX einen Reset des µC mitbekommen? Oder einen
Watchdog-Reset?
> Gibt es eine Möglichkeit ein stehen bleiben des µCs zu erkennen?
Kommt darauf an, wie "stehen bleiben" definiert ist. Was, wenn der µC
zwar weiterläuft, aber ständig falsche und wirre Werte oder ständig die
gleichen Werte sendet?
no_resistance schrieb:>> 5V am Emitter des PNP ? Wenn der MAX7313 ausschaltet, zieht niemand die>> Basis auf 5V. Es müsste noch ein Widerstand zwischen Emitter und Basis,>> sagen wir 10k.> Stimmt, den habe ich vergessen.
Ja, da brauchst du also einen Pulldown. Blöd nur, dass du ja für die
normale Funktion dank Open-Drain einen Pullup brauchst. Jetzt wirds aber
langsam spannend... ;-)