cmos 4093
Transcription
cmos 4093
Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 1/15 Homepage: http://www.home.hs-karlsruhe.de/~kero0001/ Typische Schaltungen mit Operations-Verstärkern Simulation mit Tephys Motivation Der Operationsverstärker ( abgekürzte Bezeichnung OP ) ist eine sehr wichtige integrierte Schaltung. Mit OP’s kann man in einfacher Weise viele nützliche elektronische Schaltungen aufbauen. Es ist daher sinnvoll, im Rahmen der Ingenieurausbildung schon frühzeitig, beispielsweise schon im ersten Semester, typische Schaltungen mit OP’s zu behandeln. Insbesondere lassen sich mit OP’s physikalische Experimente viel besser (und viel interessanter!!) durchführen als es früher möglich war. Leider werden in den typischen Lehrbüchern über Physikalisches Praktikum nur ganz selten mal OP’s eingesetzt. So behandelt auch das Buch „Das Neue Physikalische Grundpraktikum“ von Eichler, Kronfeldt, Sahm (2. Auflage 2006, Springer) nur ganz wenige Schaltungen mit Operationsverstärkern. Und diese paar wenigen Schaltungen sind eigentlich nur Selbstzweck, nämlich um den OP kennen zu lernen. Dass man mit dem OP viele neuartige physikalische Experimente machen kann, von den man früher nicht mal träumen konnte, wird in diesem Lehrbuch verschwiegen. So müssen die Praktikumsteilnehmer physikalische Experimente noch genau so durchführen, wie vor, sagen wir, hundert Jahren Dass man hingegen die mechanischen Größen Weg, Geschwindigkeit, Beschleunigung, Kraft, Frequenz etc. mit Hilfe geeigneter elektronischer Sensoren messen kann, lernt der Student nicht kennen. Auch elektrische Aktorik kann man mit Hilfe der Elektronik sehr effektiv realisieren. Auch das wird in den Büchern über Physikalischen Praktikum kaum behandelt. Einige Beispiele für Anwendungen von Operationsverstärkern Sensorik u. Aktorik: http://www.home.hs-karlsruhe.de/~kero0001/Sensorik_Aktorik_FedMass.pdf http://www.home.hs-karlsruhe.de/~kero0001/Elektronik/BeispieleElektronik.pdf Kugel an Feder http://www.home.hs-karlsruhe.de/~kero0001/kugelanfeder/KugelAnFeder2.pdf Relaisdynamik: http://www.home.hs-karlsruhe.de/~kero0001/relais/relaisdynamik.html Modalanalyse: http://www.home.hs-karlsruhe.de/~kero0001/Tepmod/ExpModal4Etag_Tephys.pdf Reglerschaltungen: http://www.home.hs-karlsruhe.de/~kero0001/Reglerschaltungen.html: Kugel auf Felgenrad: http://www.home.hs-karlsruhe.de/~kero0001/Felgenrad/FelgenradHS.html Lichstrahlverfolger: http://www.home.hs-karlsruhe.de/~kero0001/Lichtstrahlverfolger.html Sensorik http://www.home.hs-karlsruhe.de/~kero0001/Sensorik/BeispieleSensorik1.pdf Sinusoszillatoren http://www.home.hs-karlsruhe.de/~kero0001/sinus/sinus.html http://www.home.hs-karlsruhe.de/~kero0001/sinosz2/sinosz2.html Ziele des vorliegenden Textes Der vorliegende Text ist gedacht als Einführung in den Umgang mit OP’s. Das Ziel ist, für einige typische OPSchaltungen eine mathematische Beschreibung herzuleiten, also ein mathematisches Modell aufzustellen und dies Modell mit Computer-Simulation durchzurechnen. Wenn man eine geeignete elektronische Ausrüstung zur Verfügung hat, dann wäre sehr zu empfehlen, diese Schaltungen real auszuprobieren und nach Möglichkeit mit den Simulationsergebnissen zu vergleichen. Wenn die Schaltungen „Energiespeicher“ (Kondensatoren und/oder Spulen) enthalten, führt die mathematische Beschreibung auf Differentialgleichungn (DGLn) . Diese sind, wegen des Einflusses der Begrenzungen, meist sog. nichtlineare DGLn, können also i.A.nicht mit analytischen Methoden, also ohne Computer, gelöst werden. Dagegen ist die numerische Lösung der DGLn ist völlig problemlos. Sehr einfach lässt sich die numerische Lösung der DGLn mit dem Simulations-Programm Tephys durchführen. Natürlich kann man die DGLn auch mit Matlab oder Simulink lösen. Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 2/15 Vorteile von Tephys: Es ist leicht zu handhaben, man kann es kostenlos runterladen: http://www.home.hs-karlsruhe.de/~kero0001/Tephys.html (Tephys mit Dosbox) Matlab und Simulink sehr viel mächtiger als Tephys, aber sie sind sehr teuer und schwieriger zu programmieren als Tephys. Der Leser sei aufgefordert, die in diesem Text behandelten Tephys-Dateien in Matlab oder in Simulink zu übersetzen. Einige Beispiele für solche Übersetzung in Matlab bzw. Simulink findet man ebenfalls auf der Homepage: http://www.home.hs-karlsruhe.de/~kero0001/RealOPdiffer/Real_Op_Differenzierer.html http://www.home.hs-karlsruhe.de/~kero0001/pllmo30/PLLMo30.pdf http://www.home.hs-karlsruhe.de/~kero0001/wireg3_5/wireg3_5.html http://www.home.hs-karlsruhe.de/~kero0001/sinosz2/sinosz2.pdf http://www.home.hs-karlsruhe.de/~kero0001/DC_Motor/DcMot_1.pdf Ein Vorschlag zur experimentellen Realisierung Als sehr geeignete experimentelle Ausrüstung möchte ich die „Laborplatine“ meines Kollegen R. Koblitz empfehlen. Infos darüber: http://www.fak-eit.hs-karlsruhe.de/laborplatine/ Über einige mit dieser Laborplatine ausgeführten Experimente und zugehörige Simulationen wird berichtet in: http://www.home.hs-karlsruhe.de/~kero0001/kobmod/kobmod1.html http://www.home.hs-karlsruhe.de/~kero0001/LR_koblitz/LR_koblitz.html http://www.home.hs-karlsruhe.de/~kero0001/vokale/vokale.html Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 3/15 Einfaches Modell eines „idealen“ OP’s uA Umax iN Umax N linearer Bereich uP-uN A iP uN uP uA P Umin 1 mV Umin z.B. Umax=+10V Umin= -10V Bezeichnungen: Punkt N = negativer Eingang oder invertierender Eingang, Punkt P = positiver Eingang oder nichtinvertierender Eingang, Punkt A = Ausgang Modell: Die Ausgangs-Spannung uA des OP ist das V-fache der Differenz uP – uN der Eingangs-Spannungen uP, uN. Dabei ist der Verstärkungsfaktor V sehr groß (z.B. V=10000). Die Ausgangs-Spannung uA wird nach oben begrenzt auf den Wert Umax, nach unten auf den Wert Umin. Typische Werte sind Umax=10V, Umin=10V. Die Eingangs-Ströme IP und iN sind so klein ( bei FET- OP’s typisch ca 100 pA), dass sie in diesem einfachen Modell vernachlässigt werden, also IP= 0, IN= 0. Die Ausgangs-Spannung uA als Funktion der Differenz uP- uN ist in obiger Figur dargestellt. in TEPHYS kann man uA durch folgende Formel darstellen uA= begr (V*(uP- uN), Umax, Umin). . Erläuterung zur TEPHYS-Funktion begr: y = begr(x, max, min): if x < min then y = min else if x > max then y = max else y = x Man erkennt 2 Bereiche: uA ist entweder im Begrenzungsbereich (Umax bzw Umin) oder im „linearen“ Bereich, in dem uA = V*(uP-uN) gilt. Bei V=10000 ist im linearen Bereich die Differenz uP-uN kleiner als +1mV, also sehr klein. Aus diesen Überlegungen ergibt sich folgendes einfache Berechnungsmodell des „idealen“ OP’s mit Begrenzungen: Einfaches Berechnungs-Modell für OP-Schaltungen: 1. Im linearen Bereich ist die Differenz uP-uN so klein, dass sie vernachlässigt werden kann à uN=uP 2. Im Begrenzungsbereich ist uA entweder Umax oder Umin 3. Die Eingangsströme werden vernachlässigt: iP= 0, iN= 0 Im Folgenden werden viele typische Schaltungen mit diesem einfachen Modell berechnet. Man wird erkennen, dass sich viele anwendbare Schaltungen damit behandeln lassen. Hinweis: Im diesem Text wird der OP als sog. „idealer OP“ behandelt. Zwar lassen sich mit diesem einfachen Modell sehr viele OP-Schaltungen berechnen. Aber insbesondere bei höheren Frequenzen findet man beim Vergleich mit dem realen Experiment deutliche Unterschiede zwischen Experiment und Simulation. Aber solche Beobachtungen sind dennoch lehrreich, denn dann hat man (natürlich!) den Wunsch, zu verstehen, wie solche Unterschiede zustande kommen. Dann muss man für den realen OP ein besseres mathematisches Modell aufstellen. Über Simulationen mit Realen Operationsverstärkern findet man einige Beispiele in den folgenden Links: http://www.home.hs-karlsruhe.de/~kero0001/OpReal/Realer%20OP2.pdf http://www.home.hs-karlsruhe.de/~kero0001/RealOPdiffer/Real_Op_Differenzierer.html Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 4/15 Invertierender Verstärker Umax iR2 iR1 R1 R2 N u1 uA Umin Knotensatz für Eingang N: Unter Vernachlässigung des Stromes iN (iN=0, s.o.) gilt Strom durch R1 = Strom durch R2. Strom durch R1 ist iR1 = (u1-uN)/R1, also mit uN=0 (s.o.) iR1 = u1/R1. Strom durch R2 ist iR2=(uN-uA)/R2, also mit uN=0 iR2 = - uA/R2. Also u1/R1 = - uA/R2 oder uA= - u1*R2/R1. Diese Formel gilt aber natürlich nur im „linearen“ Bereich, also für Ua > Umin und uA < Umax. Mit TEPHYS ergibt sich eine einfache Formel: uA = begr( -u1*R2/R1, Umax, Umin) Datei OP1.TXT u1=Ad*drei(fd*t+del) uA=begr(-u1*R2/R1,Umax,Umin) t=t+dt Nicht-invertierender Verstärker Umax uP uA R2 u1 R1 uN Umin Man beachte, dass beim OP die beiden Eingänge vertauscht gezeichnet worden sind. uP= u1. Da der Eingangsstrom iP= 0 ist (s.o.), wird die Signalquelle u1 nicht mit Strom „belastet“. Die Spannung uN ergibt sich aus dem „Spannungsteiler“, der aus R1 und R2 aufgebaut ist: Wegen iN = 0 ist der Strom iR1 durch die Reihenschaltung R1, R2 iR1 = uA /(R1+R2), folglich ist uN = R1*iR1 = R1*uA/(R1+R2) oder uA=uN*(R1+R2)/R1 = uN*(1+R2/R1). Mit uN= uP (im linearen Bereich, s.o.), ist uA=u1*(1+R2/R1). Mit Berücksichtigung der Begrenzungen ergibt sich in TEPHYS uA = begr ( u1 * (1 + R2/R1 ), Umax, Umin) Datei OPNI1.TXT u1=Ad*drei(fd*t+del) uA=begr(u1*(1+R2/R1),Umax,Umin) t=t+dt Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 5/15 Invertierender Schmitt-Trigger uA Umax Umax uA R2 u1 R1 Su So u1 untere Schwelle Su=Umin*R1/(R1+R2) uP Umin obere Schwelle So=Umax*R1/(R1+R2) Umin Diese Schaltung hat (scheinbar) große Ähnlichkeit mit der Schaltung des nicht-invertierenden Verstärkers (s.o). Aber die Eingänge des OP sind „vertauscht“: Jetzt wird der Ausgang zum nicht-invertierendem Eingang (dem „PEingang“) „zurückgeführt“. Diese Art Rückkopplung ist eine „Mitkopplung“. Infolge dieser Mitkopplung gibt es bei dieser Schaltung keinen linearen Bereich, sondern uA ist entweder in der positiven oder in der negativen Begrenzung. Man nennt ein solches Verhalten „Kippverhalten“. Schaltungen, die Kippverhalten haben, werden auch als „TriggerSchaltungen“ bezeichnet, drum der Name „Schmitt-Trigger“. Hinweis: Wird der Ausgang des OP’s auf den invertierenden Eingang zurückgeführt, spricht man von „Gegenkopplung“. Die oben besprochenen Schaltungen invertierender und nicht-invertierender Verstärker haben offensichtlich Gegenkopplung. Aus der Schaltung ergibt sich uP = uA*R1/(R1+R2) (unbelasteter Spannungsteiler, vgl. auch die obige Schaltung des nicht-invertierenden Verstärkers), also uA= begr( V*(uP- uN), Umax, Umin ) Man könnte vermuten, dass uA = 0 wäre, wenn u1 = uP wird. Dieser Zustand ist aber „instabil“. Das erkennt man an der Formel für uA: Nehmen wir mal an, uP sei nur ganz wenig größer als uN. Wegen des großen Verstärkungsfaktors V würde uA „sofort“ den Wert Umax annehmen. Gemäss der Formel uP=uA*R1/(R1+R2) würde die Spannung uP ebenfalls „sofort“ auf einen positiven Wert gezogen, so dass aus der angenommenen kleinen Differenz uP-uN infolge der Mitkopplung eine sehr große Differenz geworden ist. – Entsprechendes gilt, wenn wir annehmen, dass uP ganz wenig kleiner als uN sei: sofort würde uA auf Umin gezogen und damit uP auf den negativen Wert uP=Umin*R1/(R1+R2) . Der Schmitt-Trigger hat also zwei sogenannte Schaltschwellen. Die Ausgangsspannung uA kippt von einem Zustand in den anderen, wenn die Eingangsspannung uN die obere Schwelle So überschreitet bzw. die untere Schwelle Su unterschreitet (vgl. Figur). Datei INVST1.TXT u1=Ad*drei(fd*t+del)+As*sin(2*pi*fs*t) uP=uA*R1/(R1+R2) uA=begr(V*(uP-u1),max,min) t=t+dt Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 6/15 Nicht-invertierender Schmitt-Trigger Umax uA Umax obere Schwelle So= - Umin*R1/R2 P R2 R1 u1 uA Su uP So u1 untere Schwelle Su= - Umax*R1/R2 Umin Umin Knotensatz für Punkt P: Strom durch R1 = Strom durch R2 oder als Formel: (u1-uP)/R1=(uP-uA)/R2 oder ausmultipliziert u1/R1-uP/R1=uP/R2-uA/R2 oder geordnet uP*(1/R1+1/R2)=u1/R1+uA/R2 oder beide Seiten mit R1*R2 multipliziert: uP=(u1*R2+uA*R1/(R1+R2) Wegen der Mitkopplung ist auch bei dieser Schaltung der Zustand uN=uP instabil. Die Schaltschwelle für die die Eingangspannung u1 ergeben sich aus uP = uN=0 zu u1*R2=-uA*R1. Obere Schwelle So= - Umin*R1/R2, untere Schwelle Su= - Umax*R1/R2 Datei NINVST2.TXT u1=Ad*drei(fd*t+del)+As*sin(2*pi*fs*t) uP=(u1*R2+uA*R1)/(R1+R2) uA=begr(V*(uP-0),max,min) uAk = begr(V*u1,max,min){uAk= Ausgang, wenn der OP als (nichtinvertierender) Komparator geschaltet ist} t=t+dt Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 7/15 Invertierender CMOS-Schmitt-Trigger Schmitt-Trigger gibt es auch in den „integrierten“ Schaltfamilien, in TTL z.B. den Typ 7413, in CMOS z.B. den Typ 4093. Der CMOS- Typ kann leicht simuliert werden, da bei ihm vernachlässigbare Eingangs-Ströme fließen. Die Betriebs-Spannungen können im Bereich 5 V bis 15 V liegen, wobei meist die „negative“ BetriebsSpannung auf Erde liegt. Man hat also nur die positive Betriebs-Spannung, hier als Umax bezeichnet. Umax uA Umax & u1 uA 0 u1 Su So Die Schwellen sind durch die Innenschaltung des IC’s fest vorgegeben auf So=Ko*Umax, Su=Ku*Umax mit Ko ca. 0.635, Ku ca. 0.51 Wir können die Funktion dieses Schmitt- Triggers ähnlich simulieren wie beim invertierenden OP-Schmitt-Trigger, indem wir eine fiktive (innere) Spannung uP formulieren und dann die Differenz uP-u1 verstärken. Nach diesem Modell wird uP =ja(uA)* Ko *Umax +nein(uA)*Ku* Umax. TEPHYS-Funktion y = ja(x): if x > 0 then ja = 1 else ja = 0; TEPHYS-Funktion y = nein(x): if x <= 0 then nein = 1 else nein = 0. Datei Mosinst2.txt u1=U1DC+Ad*drei(fd*t+del)+As*sin(2*pi*fs*t) uP=ja(uA)*Ko*max+nein(uA)*Ku*max uAnix=begr(V*(uP-u1),max,0) uA=max*ja(uP-u1) t=t+dt Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 8/15 RC-Oszillator mit invertierendem OP- Schmitt-Trigger Umax R uA = begr ( V* uC, Umax, Umin) V= 1+ R2/R1 N uA R2 uC C R1 uP Umin Knotensatz für Punkt N: Strom „durch“ den Kondenstor = Strom durch R. Nach Definition ist die Ladung Q auf dem Kondensator = Kapazitätswert C mal Spannung uC am Kondensator, also Q = C * uC. Der Strom „durch“ den Kondensator ist folglich i = dQ/dt= C*duC/dt. Der Strom durch R ist (uA - uC)/R. Folglich ist C* duC/dt = (uA - uC)/R. Dies ist die „Differentialgleichung“ (DGL) für die gesuchte Größe uC. Die Änderung der Kondensatorspannung ist demnach duC = (uA - uC)*dt/(C*R). Die numerische Berechnung von uC erfolgt nach dem einfachen „Rezept“: Der „neue“ Wert von uC ist gleich dem „alten“ Wert plus die Änderung. Als Formel: uC(neu) = uC(alt)+ duC. Als „Algorithmus“ formuliert: uC = uC + duC. Das heisst: Der alte Wert uC wird überschrieben durch den neuen Wert uC+ duC, oder ausführlich (s. TEPHYS-Datei) uC = uC+ (uA - uC)*dt/(R*C) Datei STOSZ1.TXT uP=uA*R1/(R1+R2) uA=begr(V*(uP-uN),max,min) uN=uN+(uA-uN)*dt/(R*C) t=t+dt Wichtig: Startwerte setzen, z.B. uN =1; Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 9/15 RC-Oszillator mit variablem Tastverhältnis mit invertierendem OP- Schmitt-Trigger Uma R x D1 Rges = R + Rpoti*(j a(uA)*alfa + ja(-uA)*(1-alfa) ) alfa *Rpoti (1-alfa)* Rpoti D2 uA R2 uC C R1 uP Umi n Der Rückkopplungswiderstand vom Ausgang zum Kondensator ist jetzt abhängig von der Polung von uA und vom Abgriff des Potis: Wenn uA positiv ist (=Umax), dann leitet die Diode D1 und der Gesamtwiderstand ist Rges =R+ alfa * Rpoti. Dabei ist alfa <=1 die relative Stellung des Abgriffs. Wenn uA negativ ist (=Umin), dann leitet die Diode D2 und der Gesamtwiderstand ist Rges = R+(1-alfa)*Rpoti. In TEPHYS: Rges = R + Rpoti*(j a(uA)*alfa + ja(-uA)*(1-alfa) ) Datei STOSZ10.txt uP=uA*R1/(R1+R2) uA=begr(V*(uP-uN),max,min) Rges=R+Rpoti*(ja(uA-uP)*alfa+ja(uP-uA)*(1-alfa)) uN=uN+(uA-uN)*dt/(Rges*C) t=t+dt Wichtig: Startwerte setzen, z.B. uN =1; Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 10/15 Rechteck-Dreieck-Oszillator mit invertierendem Schmitt-Tigger und Integrierer Umax C uA1 R4 R uA2 R3 R2 R5 OP1 R1 uA3 OP3 OP2 Poti 1 Umin Beispiel eines Dreieck-Generators. OP1 = Schmitt-Trigger, OP2 = Integrierer, OP3 = Addierer und NieveauVerschieber. UA1 = Rechteck von Umin bis Umax, uA2 = Dreieck, symmetrisch zum Erdpotential, uA3= Dreieck, nach positiv verschoben und in Amplitude und oberem Begrenzungs-Wert angepasst an die gewünschte Form.- Zahlenbeispiel: Umax=12V, Umin = -12V, R2=60k, R1=22k, R3=3.4k, R4=10k, R5=5k, Dreieck-Amplitude uA3=28V (Spitze-Spitze), unverschoben. Wenn nach positiv verschoben, ist Dreieck uA3 oben begrenzt auf +12 V . Bei R=1k, C=4.5 MikroFarad ist die Dreieckfrequenz ca. 100 Hz . Die Frequenz ist proportional 1/(R*C). Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 11/15 RC-Oszillator mit CMOS-Schmitt-Trigger 4093 Umax R & u1 C uA Strom durch C = Strom durch R ==> C * du1/dt = (uA-u1) /R, also Algorithmus u1 = u1 + (uA-u1) * dt / (R*C). Datei MOSOSZ2.TXT u1=u1+((uA-u1)/R-u1/Rosz)*dt/C uP=ja(uA)*Ko*max+nein(uA)*Ku*max uAnix=begr(V*(uP-u1),max,0) uA=max*ja(uP-u1) t=t+dt 5.9.2000 Invertierender Schmitt-Trigger mit CMOS 4093 Schaltung: u1=Eingang in das IC; Modell: "Internes" Potential uP mit uP=max*(ja(uA)*Ko + nein(uA)*Ku), z.B.: Ko=0.75, Ku = 0.25 d.h. Schwellen sind max*Ko und max *Ku (Exp: Ko=0.635,Ku=0.515) uA=begr(V*(uP-u1), max, 0), also aehnlich OP-Schmitt-Trigger mit "intern" . erzeugtem Potential uP, uA im Bereich 0, max . oder einfacher: uA=max*ja(uP-u1) :RC-Oszillator mit CMOS-Schmitt-Trigger 4093: . Schaltung: R vom Ausg. zum Eing., C vom Eing. nach Erde. --> uC=u1 --> (uA-u1)/R = C*du1/dt --> u1=u1+(uA-u1)*dt/(R*C) Setzen von Startwert u1 NICHT noetig, weil bei Start mit u1=0 schon OK. . Hinweis: Zum Vergl. mit Exp.: Wirkung des Oszilloskop-Widerstands beachten! Hinweis: Hat Aehnlichkeit mit Temp.Regelung mit Zweipunktregler! Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 12/15 Sinus-Oszillatoren mit Operationsverstärkern, vgl. auch (viel ausführlicher): http://www.home.hs-karlsruhe.de/~kero0001/sinus/sinus.html Wien-Oszillator (Sinus-Oszillator) uR1 u1 Umax uR1=uA-u1-uP R1 C1 P uA R4 R2 C2 uP R3 uN Datei WIENOS2.TXT uA=begr(V*uP,max,min) u1=u1+(uA-u1-uP)*dt/(R1*C1) uP=uP+((uA-u1-uP)/R1uP/R2)*dt/C2 t=t+dt Umin Strom durch C1 = Strom durch R1, also C1*du1/dt = uR1/R1 = (uA-u1-uP)/R1. Das ist die DGL für u1. Daraus folgt die Algorithmuszeile u1 = u1 + ( uA-u1-uP)*dt/(C1*R 1). Knotensatz für Punkt P : Strom durch C2 + Strom durch R2 = Strom durch R1, also C2*duP/dt + uP/R2 = (uA-uC1-uP)/R1. Daraus folgt die Algorithmuszeile uP = uP + ( (uA-u1-uP)/R1 – uP/R2 )* dt/(R2*C2) Fuer Sinus konstanter Amplitude muss sein: V = 1+ R1/R2+ C2/C1 die Sinusfrequenz ist f = 1/( 2*pi* sqrt(R1*R2*C1*C2) ) Wichtig: Startwerte setzen (für u1 oder uP)! Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 13/15 LC-Sinus-Oszillator mit Reihen-LC-Kreis uC uL i C Umax uL = L *di/dt L RL P uA=begr(V*uP,Umax,Umin) R4 R1 uP=R1*i R3 Umin uN uA=V*uN mit V=1+R4/R3 Nach Definition ist die Spannung an der Spule uL=L*di/dt. Der „Verlust-Widerstand“ der Spule ist im Reihenwiderstand RL enthalten. Die Spannung an der Reihenschaltung von C, Rl und L ist uA-uP oder als Formel L*di/dt +RL*i + uC = uA-uP , als Algorithmus: i = i + ( uA-uP-RL*i –uC) *dt/L. Der Strom durch den Kondensator ist C*duC/dt = i, als Algorithmus: uC = uC + i *dt/C. Datei LCREIOS1.TXT uA=begr(V*uP,max,min) uP=R1*i i=i+(uA-RL*i-R1*i-uC)*dt/L uC=uC+i*dt/C t=t+dt Theorie liefert: Frequenz f= 1/( 2*pi*sqrt(L*C) ) fuer ungedaempfte Sinus-Schwingung muss sein V=1+ RL/R1 Wichtig: Startwerte setzen (für i oder uC) Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 14/15 LC-Sinus-Oszillator mit Parallel-LC-Kreis Umax uL = L *di/dt R1 L i P uL uA=begr(V*uP,Umax,Umin) R4 C uP R3 RL Umin uN uA=V*uN mit V=1+R4/R3 Maschensatz: L*di/dt + RL*i = uP à Algorithmus i = i + ( uP - RL*i) * dt/L. Knotensatz für Punkt P: Strom durch C + i = Strom durch R1, also C*duP/dt +i = (uA-uP)/R1, also Algorithmus uP = uP + ( (uA-uP)/R1 - i ) *dt/C. Datei LCPAROS1.TXT uA=begr(V*uP,max,min) i=i+(uP-RL*i)*dt/L uP=uP+((uA-uP)/R1-i)*dt/C t=t+dt . Theorie liefert: Frequenz f= sqrt(1-RL*RL*C/L )/( 2*pi*sqrt(L*C) ) fuer ungedaempfte Sinus-Schwingung muss sein V=1+RL*R1*C/L Dies ergibt sich aus der DGL 2. Ordn. fuer uP, die man durch Eliminieren von i aus den beiden obigen DGLN 1. Ordnung erhaelt. Wichtig: Startwerte setzen (für i oder uP) Prof. Dr. R. Kessler, FH-Karlsruhe, Sensorsystemtechnik, C:\tephys\OP\Typ_OP_Schaltungen.DOC, Seite 15/15 Sinus-Oszillator mit 3 entkoppelten PT1-Gliedern Umax R1 C1 R2 P1 uP1 T1=R1*C1 uA1 C2 Op1 R4 R3 uP2 T2=R2*C2 uA2 Op2 C3 uA4 uA3 uP3 Op4 Umin Op3 T1=R1*C1 R5 invert. Verstärker, V= - R5/R4 OP1 : Knotensatz für Punkt P1 liefert (uA4-uP1)/R1 = C1 * duP1/dt + iP. Der Strom iP ist Null. OP1 wirkt als „Spannungsfolger“, d.h. uA1 = uP1. Das folgt aus der Annahme, dass uP = uN ist (idealer OP im linearen Bereich). Es ergibt sich also der Algorithmus uA1=uA1+( uA4 - uA1 )*dt/T1. Man bezeichnet die obige Schaltung aus R1, C1 und OP1 als „PT1-Glied“ Für die OP2 und OP3 gelten die gleichen Überlegungen. OP4 ist als invertierender Verstärker geschaltet Sein Verstärkungsfaktor ist V = - R5/R4, folglich ist uA4=begr (V*uA3,Umax,Umin). Damit die Schaltung anfangen kann zu arbeiten, muss mindesten eine der Kondensatorspannungen zu Beginn ungleich null sein, denn sonst passiert gar nichts, weil alle Spannungen und Ströme gleich null wären. Als „Startwert“ z.B. uA1=1. Wenn V „zu groß“ ist, geht uA4 in Begrenzung und folglich sind die Datei 3PT1OSZ1.TXT uA1=uA1+(uA4-uA1)*dt/T1 uA2=uA2+(uA1-uA2)*dt/T2 uA3=uA3+(uA2-uA3)*dt/T3 uA4=begr(-V*uA3,max,min) t=t+dt Datei 3PT1OSZ1.TXT 7.9.00. Oszillator aus 3 PT1-Gliedern Schaltung: 3 mit OP-Spannungsfolger entkoppelte RC-Tiefpaesse 1. Ordn. .Invertierendem OP-Verstaerker an UA3 liefert uA4. Ausgang uA4 mit .Eingang 1. Tiefpass verbunden. . OP4: Invertierender Verstaerker --> uA4=begr(-V*uA3,max,min) . V muss >= 8 sein (bei T1=T2=T3).Wenn die Ti ungleich, muss V >8 sein. Erstaunlich ist, dass uA3 selbst dann noch gut sinusfoermig ist, Wenn uA4 in Begrenzung ist. In dieser Hinsicht VIEL besser als Wien-Oszillator.