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
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.
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.
HildeK , das glaube ich dir. Wir beide haben schon oft fast gleichzeitig die gleich Antwort gegeben.
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
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.
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 ?
Jap, auf dem Ausgang. Kollektorwiderstand ist 20k, wie im ersten Beitrag geschrieben.. Gruß, Paul
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.
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
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.
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?
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..
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.
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?
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
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.
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.
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
Wenn es nicht 100% exakt sein muss mittels 2er Dioden in reihe.
Den Fußpunkt des Netzwerkes über zwei Dioden nach GND oder wie? Und diese dann mit einem Transistor überbrückbar machen? Gruß, Paul
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
Bevor ich jetzt hier endlos rumrate mach einmal eine Zeichnung von dem was du hast .
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.