Forum: Analoge Elektronik und Schaltungstechnik Open-Drain-Ausgang mit N-Kanal FET


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von no_resistance (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

: Verschoben durch Moderator
von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
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".

: Bearbeitet durch Moderator
von HildeK (Gast)


Bewertung
1 lesenswert
nicht lesenswert
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.

von no_resistance (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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ß

von HildeK (Gast)


Bewertung
1 lesenswert
nicht lesenswert
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.

von MaWin (Gast)


Bewertung
1 lesenswert
nicht lesenswert
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.

von no_resistance (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von no_resistance (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von HildeK (Gast)


Bewertung
1 lesenswert
nicht lesenswert
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.

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
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... ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.