Ansteuerung Push-Pull (Gegentakt)

OP #3540535
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
Angehängte Dateien:
Gast
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.
Gast
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. ;-)
@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.
OP
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.
Gast
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.
OP
@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...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.