Forum: Mikrocontroller und Digitale Elektronik Ansteuerung Push-Pull (Gegentakt)


von Tobi T. (freitagvormittag)


Angehängte Dateien:

Lesenswert?

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
von Peter D. (peda)


Lesenswert?

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.

von Utschitelnitza (Gast)


Lesenswert?

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.

von Tobi T. (freitagvormittag)


Angehängte Dateien:

Lesenswert?

Hallo,

ja ich war etwas sparsam beim Zeichnen.
Die Schaltung sieht wie folgt aus:

von spontan (Gast)


Lesenswert?

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ß.

von Johnny B. (johnnyb)


Lesenswert?

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
von Falk B. (falk)


Lesenswert?

@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.

von Tobi T. (freitagvormittag)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@ 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.

von Tobi T. (freitagvormittag)


Lesenswert?

@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?

von Utschitelnitza (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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.

von Tobi T. (freitagvormittag)


Lesenswert?

@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
Noch kein Account? Hier anmelden.