Hallo zusammen, ich möchte gerne mit einem STM8L151 und zwei Transistoren eine Push-Pull (Gegentakt) Stufe realisieren. Schaltung siehe Anhang (Version 3). Nun sollten die beiden Pins des Controllers leicht zeitversetzt schalten, um einen Kurzschluss zu vermeiden. Gibt es für sowas eine state-of-the-art Routine? Man muss das Rad ja nicht immer neu erfinden. Als Rahmenbedingungen habe ich: - Softwaretimer vorhanden - Umschaltzeit nicht über Delay möglich - in C / C++ Vielen Dank Der Tobi
:
Bearbeitet durch User
Es gibt MCs mit einstellbarer Totzeit für die PWM (z.B. ATtiny261). Die Schaltung wird aber so nicht funktionieren, Dein MC müßte ja 24V vertragen.
Tobi Tobi schrieb: > ich möchte gerne mit einem STM8L151 und zwei Transistoren > eine Push-Pull (Gegentakt) Stufe realisieren. Schaltung > siehe Anhang Du hast bedacht, dass Pin_X auf über 20V liegen muss, damit Q1 sicher sperrt? (Open collector/Tristate sollte auch gehen.) Einfach zwischen 3.3V und 0V umschalten geht nicht.
Hallo, ja ich war etwas sparsam beim Zeichnen. Die Schaltung sieht wie folgt aus:
Zeitversetzt Schalten ist auf den ersten Blick eine gute Idee. Aber wenn dabei ein Fehler auftritt (sag bitte nicht es gibt keine Fehler), dann ist der Kurzschluß da. Besser ist eine Hardware-Verriegelung gegen Kurzschluß.
spontan schrieb: > Besser ist eine Hardware-Verriegelung gegen Kurzschluß. Würde ich mir heutzutage auf jeden Fall sparen. Was man in Software lösen kann, besser gleich in Software lösen. Die Wartung ist wesentlich effizienter und man hat auch mehr Freiheiten für spätere Optimierungen. Natürlich muss die Qualität der Software auch stimmen. ;-)
:
Bearbeitet durch User
@Tobi Tobi (freitagvormittag) >ich möchte gerne mit einem STM8L151 und zwei Transistoren eine Push-Pull >(Gegentakt) Stufe realisieren. Schaltung siehe Anhang (Version 3). Murks. Nimm einen fertigen MOSFET-Treiber, siehe MOSFET-Übersicht. Die sind kleiner, schneller, billiger und funktionieren.
Falk Brunner schrieb: > @Tobi Tobi (freitagvormittag) > >>ich möchte gerne mit einem STM8L151 und zwei Transistoren eine Push-Pull >>(Gegentakt) Stufe realisieren. Schaltung siehe Anhang (Version 3). > > Murks. Nimm einen fertigen MOSFET-Treiber, siehe MOSFET-Übersicht. > Die sind kleiner, schneller, billiger und funktionieren. Die Hardware ist mit an dieser Stelle vorgegeben. Davon am abgesehen: Der billigste MOSFET den ich finde (für 10..30V, 200mA) liegt bei etwas über 70ct. Ein BC807 wie in meiner Schaltung liegt bei ca. 2ct.
@ Tobi Tobi (freitagvormittag) >Die Hardware ist mit an dieser Stelle vorgegeben. Tja, dann mal viel Spaß damit. >Davon am abgesehen: >Der billigste MOSFET den ich finde (für 10..30V, 200mA) liegt bei etwas >über 70ct. Ein BC807 wie in meiner Schaltung liegt bei ca. 2ct. Wer redet von MOSFETs? Ich rede von vollintegrierten MOSFET-Treibern. Ausserden, was soll die Pfennigfuchserei? Willst du die Schaltung Millionenfach herstellen? Und selbst wenn, muss sie erstmal gut funktionieren. Ein billiger Transistor allein macht noch lange keine gute Schaltung.
@Falk: nicht Millionenfach, aber im Bereich von 20000/Jahr. Aber mal weg von der Hardware. Es gibt Gründe, warum diese so ist wie sie ist, die hier nicht diskutiert werden sollen. Wie würdet ihr das ganze ansteuern?
Johnny B. schrieb: > spontan schrieb: >> Besser ist eine Hardware-Verriegelung gegen Kurzschluß. > > Würde ich mir heutzutage auf jeden Fall sparen. Was man in > Software lösen kann, besser gleich in Software lösen. Die > Wartung ist wesentlich effizienter und man hat auch mehr > Freiheiten für spätere Optimierungen. Und es macht ja auch nichts, wenn immer mal ein paar Patienten sterben. Gibt sowieso viel zu viele... (Stichwort: Therac-25) > Natürlich muss die Qualität der Software auch stimmen. ;-) Das ist kein Humor mehr, das ist blanker Zynismus.
Tobi Tobi schrieb: > Wie würdet ihr das ganze ansteuern? Zuerst muß man wissen, wie groß die Totzeit sein soll und wie oft geschaltet wird. Dann würde ich ins Datenblatt des MC schauen, ob der HW dafür hat. Wenn nicht, dann bleibt eben nur noch Delay.
@Peter: Soviel Totzeit wie nötig, so wenig wie möglich (-: Ich habe keine Erfahrung, wie viel nötig ist, aber ich hätte 1-3µs geschätzt. Geschaltet werden soll mit 0..2000Hz. Meine Idee bisher war, wenn ein Wechsel von z.B. Push auf Pull kommt: 1. PNP off, start timer (3µs) 2. timer expired -> NPN on Wenn ich das jetzt für alle Fälle durchziehe (NPN auf PNP, während der Umschaltzeit kommt es zu einem erneuten Umschaltvorgang,...) wird das alles etwas unübersichtlich. Und hier dachte ich, gibt es vielleicht ein Template...
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.