Moin, ich sitze hier gerade an einer einfachen Ausgangssufe, die je nach Konfiguration PushPull und OpenDrain können soll. Die Schaltung ist mit zwei komplementären MosFETs aufgebaut und für Spannungen von max. 30V für OpenDrain bzw. 24V für PushPull sowie Strömen bis max. 1A ausgelegt. Die Stufe soll von einem Mikrocontroller mit 3,3V angesteuert werden. Dabei soll die Schaltfrequenz bei <100Hz liegen. In der Realität wird dies vermutlich bei <<10Hz liegen. Die Bilder _1.. und _2.. zeigen die beiden Zustände im PushPull-Betrieb mit der internen 24V-Versorgung. Die Schalter Switch1 und Switch2 stehen symbolisch für zwei Portpins des uCs. Diese müssen je nach Schaltzustand immer identisch geschaltet werden. Die Bilder _3.. und _4.. zeigen die beiden Zustände im OpenDrain-Betrieb mit einer externen Schaltspannung von 30V. Für diese Variante muss der Switch1 permanent auf 0V liegen. Switch2 schaltet dann ausschließlich den LowSide-MosFET. Um Vgs von max. +-12V einzuhalten ist die Z-Diode D3 vorgesehen. Damit bei OpenDrain die 30V nicht rückwärts über X1 laufen, hängt am Drain von X1 die Diode D4. Exemplarisch habe ich in der Simulation die MosFETs Sia400 und Sia421 verwendet, die zumindest von der Schaltleistung überdimensioniert sind. In der Simulation funktioniert die Schaltung. Allerdings bin ich mir unsicher, ob die Umsetzung auch praxistauglich sein wird. Von daher bin ich über jeden kritischen Kommentar dankbar. Vielen Dank (für jede ernst gemeinte Antwort)
Ralph T. schrieb: > Die Schalter Switch1 und Switch2 stehen > symbolisch für zwei Portpins des uCs. Diese müssen je nach Schaltzustand > immer identisch geschaltet werden Das lässt sich per Software nicht ausreichend sicherstellen, vielmehr ist das eine Anleitung zum Harakiri der Ausgangsstufe. Es muss unabhängig vom Prozessor sichergestellt werden, dass die beiden Leistungstransistoren NIEMALS gleichzeitig leiten können. Georg
Georg schrieb: > Es muss > unabhängig vom Prozessor sichergestellt werden, dass die beiden > Leistungstransistoren NIEMALS gleichzeitig leiten können. Würde ich auch so sehen. (Es sei denn, eine Selbstzerstörungsfunktion soll ausdrücklich ermöglicht sein.)
Georg schrieb: > Das lässt sich per Software nicht ausreichend sicherstellen, vielmehr > ist das eine Anleitung zum Harakiri der Ausgangsstufe. Es muss > unabhängig vom Prozessor sichergestellt werden, dass die beiden > Leistungstransistoren NIEMALS gleichzeitig leiten können. Also muss sichergestellt werden, dass die Trennung immer vor dem Schließen erfolgt. Das geht eigentlich ganz gut in Software. Etliche STM32 haben sogar Timer, die genau für diesen Zweck ausgestattet sind.
Georg schrieb: > Es muss unabhängig vom Prozessor sichergestellt werden, dass die beiden > Leistungstransistoren NIEMALS gleichzeitig leiten können. Das kann man prima mit einer Verriegelungslogik aus NOR-Gattern (CD4001) noch vor den Transistoren Q1 und Q2 realisieren.
Walter T. schrieb: > Also muss sichergestellt werden, dass die Trennung immer vor dem > Schließen erfolgt. Das geht eigentlich ganz gut in Software. Genau so lange, bis die Software abkoffert oder irgendein Dingenskirchen beim Programming / Debugging wirr läuft und alles in Schutt und Asche legt. Dafür gibt es kombinierte high / Lowside Mosfet Treiber mit Verriegelung, wenn man das nicht selber bauen will.
foobar schrieb: > R9? aus einem vorherigen Ansatz übriggeblieben und natürlich überflüssig Georg schrieb: > eine Anleitung zum Harakiri der Ausgangsstufe ja, ich gebe dir und allen anderen Recht. Ich kann leider nicht sichherstellen, dass die Programmierer die Pins immer korrekt bedienen. Von daher kommt dieses wirklich einem Selbstzerstörungsmechanismus gleich Walter T. schrieb: > Etliche STM32 haben sogar Timer der uC ist dafür leider nicht ausgelegt. Aber danke für den Tipp, habe ich nicht gewusst Michael M. schrieb: > Verriegelungslogik aus NOR-Gattern darauf wird es wohl hinauslaufen müssen Prokrastinator schrieb: > kombinierte high / Lowside Mosfet Treiber mit Verriegelung das war mein erster Ansatz. Ich habe nur keine mit getrennten Enable gefunden, um nur den HighSide-Schalter zu deaktivieren. Gibt es sowas überhaupt? Gibt es ansonsten etwas am Grundprinzip der Um- und Verschaltung PushPull/OpenDrain auszusetzen?
Man sollte darauf achten, daß beide Ausgänge inaktiv sind, solange die CPU im Reset oder Bootloader hängt, d.h. nicht aktiv treiben kann.
Ralph T. schrieb: > Gibt es ansonsten etwas am Grundprinzip der Um- und Verschaltung > PushPull/OpenDrain auszusetzen? Der Mosfet X1 wird von knapp 8V Ugs durch 10k ausgeräumt, der X2 aber über 1k mit 3V3 eingeschaltet. PMOS haben etwa die 4-fachen Kapazitäten gegenüber vergleichbaren NMOS. Das Ausschalten des PMOS dauert also etwa 40-mal solange wie das Einschalten des NMOS. Wenn der Ausgang hart umgeschaltet wird, hilft dir auch die Verriegelungslogik nicht.
Sind die 30V am Ausgang wirklich notwendige Option? Die Diode frißt Leistung.
Ralph T. schrieb: > Ich habe nur keine mit getrennten Enable gefunden, um nur den > HighSide-Schalter zu deaktivieren. Gibt es sowas überhaupt? SN754410? LG, Sebastian
Sebastian schrieb: > Ralph T. schrieb: >> Ich habe nur keine mit getrennten Enable gefunden, um nur den >> HighSide-Schalter zu deaktivieren. Gibt es sowas überhaupt? > > SN754410? > > LG, Sebastian So etwas hätte ich jetzt auch in der Art genommen. Neben der Eigensicherung hat man ja oft auch noch den Anspruch, dass der Ausgang nach außen möglichst unkaputtbar sein soll. Einfach eine Kombination aus intelligentem High- und Low-Side nehmen, z.B. BSP78 und BSP452. Sind jeweils sicher gegen verschiedene Formen der Misshandlung. Verriegeln muss man da auch nichts, im schlimmsten Fall fließt mal etwas Maximalstrom und dann schaltet sich das von alleine ab.
Sebastian schrieb: > SN754410? erinnert stark an den klassischen L293, mit dem ich zu Jugendzeiten (letztes Jahrtausend!) gespielt habe. An die H-Brückcne hatte ich noch gar nicht gedacht Harald A. schrieb: > eine Kombination aus > intelligentem High- und Low-Side nehmen, z.B. BSP78 und BSP452 diese Lösung ist sexy! Vielen, vielen Dank für eure tollen und hilfreichen Kommentare!
Prokrastinator schrieb: > Walter T. schrieb: >> Also muss sichergestellt werden, dass die Trennung immer vor dem >> Schließen erfolgt. Das geht eigentlich ganz gut in Software. > > Genau so lange, bis die Software abkoffert oder irgendein Dingenskirchen > beim Programming / Debugging wirr läuft und alles in Schutt und Asche > legt. Ich kann mir kein glaubwürdiges Fehlerszenario, bei dem die Operationen "Pin0 trennen" und "Pin1 setzen" plötzlich vertauscht sind, vorstellen. Ich kann mir Szenarien vorstellen, bei denen die zweite Operation massiv verzögert wird, aber das ist für den Treiber erst einmal kein Fehler mit schlimmen Auswirkungen. Aber ich lerne gerne dazu. Btw. die Funktionionalität der Timer wird bei den STM32 auch genau für diesen Zweck beworben (Motor driver applications).
Walter T. schrieb: > Aber ich lerne gerne dazu. Das wichtigste was du noch lernen musst: Software macht manchmal/oft nicht das was sich der Programmierer gedacht hat, und auch wenn der als seltene Ausnahme mal keine Fehler gemacht hat kann der Ablauf durch einen Störimpuls durcheinandergebracht werden. Fehlerfreie Software existiert in der Praxis nicht, nicht bei mehr als hundert Zeilen Code. Poster hier im Forum natürlich ausgenommen, die arbeiten alle 100%ig fehlerfrei. Georg
Georg schrieb: > Fehlerfreie Software existiert in der Praxis nicht, Das war auch nicht die Frage. Aber welcher Fehler in einem µC kommt real mit einer deutlich größeren Häufigkeit als vagabundierende Elementarteilchen vor, der dafür sorgen kann, dass das öffnen/schließen der Push- und Pull-Stufe vertauscht wird, so dass beide gleichzeitig leiten? Softwareseitig handelt es sich schließlich um eine Funktionalität, die sich hervorragend kapseln und testen lässt. Oder sogar häufiger als andere Fehler, die eine Push-Pull-Stufe grillen können?
:
Bearbeitet durch User
Sicherung oder PTC kann nicht schaden. Man steckt nicht komplett in der MCU drin. Vieles ist gar nicht voll dokumentiert.
:
Bearbeitet durch User
Abdul K. schrieb: > Vieles ist gar nicht voll dokumentiert. Ein Modellbauforum hatte einige dieser Features in einer Übersicht über alle Varianten der BLDC-Ansteuerungen aufgeführt. Wegen vieler Anfeindungen haben diese diese Seite vom offenen Zugangsteil entfernt und kann man als pdf auf Wunsch noch bekommen. Da war zum Beispiel die innere Verriegelung der Ausgänge über interne Logiken aufgeführt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.