Forum: Analoge Elektronik und Schaltungstechnik Transistorbeschaltung bei höheren Frequenzen


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 Paul W. (mosfetkiller)


Lesenswert?

Hallo,

ein ATmega32 generiert an einem Pin 1µs lange Pulse (mit mehreren µs 
Pause dazwischen). Dieser ist über 10k an die Basis eines BC550C in 
Emitterschaltung (20k nach VCC=5V) angeschlossen.

Leider offenbart sich auf dem Oszi, dass die Pulslänge nicht wie 
erwartet 1µs, sondern fast das dreifache davon beträgt.
Der AVR-Pin liefert ein einwandfreies Signal, habe ich gemessen (genau 
1µs lang).

Nun meine Frage als "Analogtechnik-Anfänger" an euch: Wie kann ich die 
Beschaltung des Transistors ändern, um die Schaltzeit zu optimieren?

Ich gebe ja zu, dass die 10k Vorwiderstand nur ein Pauschalwert sind. 
Habe mehrere Werte im Bereich 1-100k ausprobiert, aber optimal war es in 
keinem Fall.

Gruß,
Paul

von Helmut L. (helmi1)


Lesenswert?

Paul Wilhelm schrieb:
> Dieser ist über 10k an die Basis eines BC550C in
> Emitterschaltung (20k nach VCC=5V) angeschlossen.

Die 20 Kohm sind zu hochohmig für 1 uS Impulse. Auch ist die 
Basisansteuerung nicht Optimal. Du must um den Transistor nicht in die 
Sättigung zu bringen eine Schottkydiode zwischen Basis und Kollektor 
schalten.  Kathode an Kollektor. Dann kannst du den Basiswiderstand noch 
mit einem kleinen C von ca. 100pF überbrücken. Damit sollte es besser 
klappen.

von HildeK (Gast)


Lesenswert?

Insgesamt ist die Beschaltung zu hochohmig, Faktor 10!
Dann darf für schnelles Schalten der Transistor nicht in die Sättigung 
geraten: Schottky-Diode zwischen B und C.
Ggf noch ein kleines C (100pF + x) über den Basisvorwiderstand, damit 
wird die Basis schneller ausgeräumt.
Basisvorwiderstand ev. als Spannungsteiler ausführen, dann wird der 
Quellwiderstand auch kleiner bei erträglicher Belastung des ATMega.

von HildeK (Gast)


Lesenswert?

Helmut, ich habe nicht von dir abgeschrieben! :-)

von Helmut L. (helmi1)


Lesenswert?

HildeK , das glaube ich dir. Wir beide haben schon oft fast gleichzeitig 
die gleich Antwort gegeben.

von Paul W. (mosfetkiller)


Lesenswert?

Hallo,

danke für eure schnellen Antworten!

Ich habe eure Tipps beherzigt, die Diode hat die Impulsdauer jetzt auf 
2µs verkürzt. Leider komm ich nicht weiter runter. :-/
Der C parallel zu Rb erzeugt mir wie erwartet nur einen hässlichen Spike 
von bis zu -4V.

Auch mit anderen Kleinsignaltransis der BC-Reihe will es nicht besser 
werden.
Jetzt muss ich das ganze mal mit einem Logic Level-MOSFET 
probieren..dieser ist für mein Vorhaben maßlos überdimensioniert, aber 
es hilft ja nichts.

Gruß,
Paul

von Paul W. (mosfetkiller)


Lesenswert?

Man verzeihe mir den Doppelpost - aber mit dem Logic Level FET geht es 
schon garnicht, da bräuchte ich noch einen Treiberbaustein.

Es kann ja nicht so schwer sein, mit 500kHz eine kleine Last nach GND zu 
schalten...oder?

Was für alternativen habe ich?

Hätte noch einen CMOS-Analogschalter im sehr klobigen Gehäuse. Der 
dürfte das doch sicherlich schaffen, oder nicht?

Gruß,
Paul

EDIT: Oben vergessen zu sagen, den Rb habe ich auf 1k verkürzt.

von Helmut L. (helmi1)


Lesenswert?

Paul Wilhelm schrieb:
> Der C parallel zu Rb erzeugt mir wie erwartet nur einen hässlichen Spike
> von bis zu -4V.

Wo erzeugt er den Spike. Auf dem Ausgang etwa ?
Wie gross ist jetzt dein Kollektorwiderstand ?

von Paul W. (mosfetkiller)


Lesenswert?

Jap, auf dem Ausgang.
Kollektorwiderstand ist 20k, wie im ersten Beitrag geschrieben..

Gruß,
Paul

von HildeK (Gast)



Lesenswert?

Wenn der negative Puls stört, mach den C deutlich kleiner oder lasse ihn 
ganz weg. Mit niederohmiger Beschaltung und Diode ist vermutlich soviel 
zu erreichen.

Die Schottkydiode sollte schon eine schnelle, kapazitätsarme sein (z.B. 
BAT54). Auch der Transistor kann was ausmachen, i.A. aber eignen sich 
die BC-Typen noch ganz gut.
Ich damit früher mal irgendwas von 5...10 MHz von 1.8V Level auf 3.3V 
gebracht.
Aber wesentlich sind auch die niederohmige Beschaltung. 2k statt 20k am 
C und der Serienwiderstand an der Basis 1k sowie einen BE-Widerstand von 
500 Ohm ... 1k. Damit gehen garantiert 1MHz ohne Probleme.

Schau dir mal die Simulation an.
Der Serienwiderstand zur Diode verbessert den LOW-Pegel am Ausgang.

von Marko B. (glagnar)


Lesenswert?

Brauchst Du die Spannungsverstaerkung der Emitterschaltung? Anscheinend 
nicht, denn Du hast den Transistor ja an 5V haengen. Daher solltest Du 
die Kollektorschaltung verwenden, damit wird der Transistor nicht 
uebersteuert, die Ausgangsimpedanz ist minimal und es sind viel hoehere 
Bandbreiten moeglich.

Beispiel im Anhang: Anstiegszeit ca. 3ns

von Marko B. (glagnar)


Angehängte Dateien:

Lesenswert?

Hat irgendwie nicht geklappt mit dem Anhang ...

von Helmut L. (helmi1)


Lesenswert?

Paul Wilhelm schrieb:
> Kollektorwiderstand ist 20k, wie im ersten Beitrag geschrieben..

Wie HildeK und ich dir schon gesagt haben ist der Widerstand viel zu 
hochohmig um die parasitären Kapazitäten umladen zu können.

Die Kapazität die sich bei 1MHz und 20 K ergibt darf maximal 8pF gross 
sein.
Und die ist schnell erreicht.

Mach dem mal kleiner so um die 2k.

von Eddy C. (chrisi)


Lesenswert?

Langsam frage ich mich, was der Author eigentlich bezweckt. Die Idee mit 
dem MOSFET war ja nicht schlecht. Er hätte halt einen BSS138 testen 
sollen, die Mutter unter den 
Low-Cost-SMD-Kleinsignal-Logic-Level-N-Kanal-MOSFETs. Oder einen 
Single-Gate-Inverter. Aber wozu das Ganze?

von Paul W. (mosfetkiller)


Lesenswert?

Danke für eure Hilfe! Mit 220R nach GND (ganz schön wenig, ich weiß) 
sieht das schon marginal anders aus; ich habe jetzt nach dem Puls einen 
negativen Spike (die fallende Flanke ist sehr steil), danach die langsam 
(auch so ca. 1µs) steigende Flanke des Signals.

Ich habe eine BAV21 verwendet, schnellere habe ich leider momentan 
nicht.

Kollektorwiderstand verringern bzw. Kollektorschaltung geht leider 
nicht; der Kollektorwiderstand ist eigentlich ein (zum Schaltzeitpunkt 
ausgeschaltetes) 4-bit R2R-Netzwerk mit R=10k.

Dieses Netzwerk hat einen Virtual Ground von 1,5V. Mit dem Transistor 
möchte ich diese Spannung nach GND ziehen.

Das ganze soll eine BAS-Signalgenerierung werden. Den Trick mit dem 
Virtual Ground mache ich, weil ich keine schnellen Video-Opamps zur Hand 
habe, aber einen Offset von 1,5V (0,3*5V = Austastpegel) brauche. Das 
funktioniert auch soweit, nur das Umschalten von 1,5V auf 0V 
funktioniert noch nicht so toll.
(Für alle, die sich wundern: Das 5V-Signal wird natürlich am Ende für 
den TV noch auf 1V runterskaliert.)

So wie es gerade aussieht, muss ich wohl doch schwereres Geschütz 
auffahren (Stichwort kleiner MOSFET-Treiber im SOIC-8, der den Mist 
einfach nach GND zieht); das ungenaue Timing und die todeslahme 
steigende Flanke sind gerade vollkommen unbrauchbar..

EDIT: @Eddy Current: Das ist ein weiteres Problem, dass ich in meiner 
Stadt nicht an Bauteile rankomme und nur für dieses Projekt nichts 
bestellen will. Das ganze muss aus dem Zeug aufgebaut werden, was hier 
gerade rumfliegt. Daher ja auch die ganze geschichte mit dem Virtual 
Ground, s.O..

von Helmut L. (helmi1)


Lesenswert?

Paul Wilhelm schrieb:
> Kollektorwiderstand verringern bzw. Kollektorschaltung geht leider
> nicht; der Kollektorwiderstand ist eigentlich ein (zum Schaltzeitpunkt
> ausgeschaltetes) 4-bit R2R-Netzwerk mit R=10k.

Was du vorhast geht mit 20K Kollektorwiderstand nicht. Egal ob du da 
jetzt einen Mosfet oder sonstwas einbaust. Die 20K koennen die 
parasitaeren Kapazitaeten ganz einfach nicht in 1uS umladen. Rechne doch 
ganz einfach mal nach.

Angnommen du hast rund 5 .. 10pF paraitaere Kapazitaeten in deiner 
Schaltung.
das ergibt dann mit 20K eine obere Grenzfrequenz von:

fg = 1/(2*pi*R*C) = 795KHz .. 1.59MHz

Du siehst dein R von 20K kann den gar nicht in so kurzer Zeit umladen. 
Und du wirst auch keine Bauteile finden die das dann trotzdem koennen.

Wie schon mehrfach dir gesagt wurde du must diese Widerstaende kleiner 
machen oder das ganze vergessen. Video DAC mit 20 K funktioniert nicht. 
Wer sowas macht hat an dieser Stelle wesentlich kleinere Werte drin.

von Amperemeter (Gast)


Lesenswert?

Wozu überhaupt der Aufwand mit dem Transistor? Du hast schon einen 
schnellen Ausgang am Mikrocontroller. Warum den mit einem schimmligen 
Bipolartransistor in Emitterschaltung noch extra lahm machen?

von Paul W. (mosfetkiller)


Lesenswert?

Danke Helmut für das Rechenbeispiel. Ich glaube dir/euch. ;-)
Das R2R-Netzwerk habe ich so hochohmig gemacht, da der Opamp, der den 
Virtual Ground erzeugt, nicht so leistungsstark ist.
Der Ausgang des Netzwerkes kommt natürlich nicht direkt an den TV, da 
kommt noch ein Nachbrenner hinter.

@Amperemeter: Ich versprach mir davon ein besseres Schaltverhalten. 
Nachdem nun klar ist, dass das nicht so leicht/mit meinem Aufbau 
unmöglich ist, werde ich jetzt auch den CMOS-Ausgang des µCs verwenden, 
ja. Da stimmt wenigstens das Timing, auch wenn aus oben genannten 
Gründen die steigende Flanke nicht so schön ist.

Ich habe wieder mal was gelernt und danke euch dafür. Nächstes mal mache 
ich es besser! :-)
Ich bin dennoch zuversichtlich, dass mein Aufbau trotz der kleinen Macke 
funktionieren wird.

Gruß und noch einen schönen Tag,
Paul

von Helmut L. (helmi1)


Lesenswert?

Wenn du ein R2R Netzwerk treiben willst brauchst doch ohnehin einen 
Gegentaktausgang. Nur Ein / Hochohmig funktioniert da nicht. Du must 
zwischen +5V und GND schalten.

von ulrich (Gast)


Lesenswert?

die R2R Schaltung lieber direkt an den Portpins betreiben, und dann 
etwas niederohmiger, z.B. 2 K und 4 K. Den Pegel und die Gleichspannung 
kann man dann passiv durch Widerstände nach GND oder VCC anpassen.

von Paul W. (mosfetkiller)


Lesenswert?

ulrich schrieb:
> die R2R Schaltung lieber direkt an den Portpins betreiben, und dann
> etwas niederohmiger, z.B. 2 K und 4 K. Den Pegel und die Gleichspannung
> kann man dann passiv durch Widerstände nach GND oder VCC anpassen.

Hallo, das R2R-Netzwerk hängt direkt an den Ausgängen eines 74HC541. 
Dieser und das Netzwerk sind auf 1,5V angehoben.

Wie kann ich denn passiv ohne OpAmp die gesamte Ausgangsspannung des 
R2R-Netzwerkes (wahlweise!) um 1,5V anheben?

Gruß,
Paul

von Helmut L. (helmi1)


Lesenswert?

Wenn es nicht 100% exakt sein muss mittels 2er Dioden in reihe.

von Paul W. (mosfetkiller)


Lesenswert?

Den Fußpunkt des Netzwerkes über zwei Dioden nach GND oder wie?
Und diese dann mit einem Transistor überbrückbar machen?

Gruß,
Paul

von Peter R. (gelb)


Lesenswert?

Paul Wilhelm schrieb:

> Ich habe eine BAV21 verwendet, schnellere habe ich leider momentan
> nicht.

Das ist keine Schottky-Diode. Damit geht es nicht. Besorge dir BAT43, 
BAT54 o.ä.

Grüße, Peter

von Helmut L. (helmi1)


Lesenswert?

Bevor ich jetzt hier endlos rumrate mach einmal eine Zeichnung von dem 
was du hast .

von Jens G. (jensig)


Lesenswert?

Da bei einer Emitterschaltung immer die interne Miller-Kapazität 
mitwirkt, würde ich es vielleicht mal mit einer Basisschaltung 
versuchen. Basis auf rund 0,7-1V hochohmig klemmen, abgeblockt mit C 
gegen Masse, und ansonsten den µC-Ausgang auf den Emitter. Solange die 
Gesamtschaltung nur mit max 5V arbeitet, stört es nicht, wenn die B-E 
Strecke dabei negative Spanungen sieht (je nach µC-Pegel).
Allerdings haste dabei keine Invertierung wie bei der Emitterschaltung, 
ist aber mit der entsprechenden µC-Programmierung kein Problem.

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.