Operačné zosilovače #
Operačné zosilovače patria v CicuitMacros medzi multipóly a podobne pri ako iných multipóloch ich vývody nie sú uložené v celočíselnej mriežke. Okrem štandardných atribútov pre plošné objekty (.s, …) sú súčasťou prvku doplnkové atribúty (.NE ..,) pre pozície bodov na značke a atribúty pre prístup k vývodom zosilovača. Atribúty pre pripojenie napájacích vývodov (.V1, .V2) sú dostupné len pri použití parametra P.
opamp(linespec, label+, label-, size, TPR);
parametre:
linespec - orientácia a dĺžka výstupu
label+ - alternatívne označenie (+) vstupu
label- - alternatívne označenie (-) vstupu
size - veľkosť
T - skrátený výstup
P - zobrazenie napájania
R - zámena (+) (-) vstupov
atribúty:
.s .w .n. .e - stredy strán obrysu
.sw .se .nw .ne - rohy obrysu
.NE .SE - poloha stredov hornej a dolnej strany značky
.W - poloha stred medzi vstupmi
.S .E .N - poloha rohov značky
.In1 .In2 - poloha vstupov (+) a (-)
.Out - poloha výstupu
.V1 .V2 - poloha napájacích prívodov, parameter P
Príklady použitia značky operačného zosilovača
A1: opamp();
A2: opamp(,,,,R);
A3: opamp(,"\sf x" ljust, "\sf y" ljust) "\sf A3" rjust;
A4: opamp(1,,,,TP);
A5: opamp(up_ 1,,,0.85,);
Nasledujúci príklad ukazuje ukladanie prvkov obvodu voči zosilovaču, ktorý je na plochu uložený absolútne ako prvý komponent zapojenia, pripojené komponenty ukladáme relatívne voči jeho vývodom. V zapojení sú použité popisy a matematické vzťahy zadané syntaxou LaTeX-u. Pre zobrazenie vstupných a výstupných uzlov obvodov sú použité kružnice.
# Invertujuci zosilovač
OP: opamp()
line from OP.In1 left 0.5;
DN: dot;
# ---- poloha viazaná k In1
resistor(2,,E); llabel(,R_1,);
circle rad 0.1; "\textit{In}" at last circle.n above;
line from DN up_ 1;
resistor(right_ 2.5,,E); llabel(,R_2,);
line down_ (Here.y - OP.Out.y);
DO: dot;
{ line to OP.Out; }
line right_ 1;
circle rad 0.1; "\textit{Out}" at last circle.n above;
line from OP.In2 left_ 0.5 then down_ 0.5; gnd;
# ---- popis a matematicky vztah
"\textit{Invertujúci zosilovač}" at OP.c + (0, -1.5);
"$K = -\dfrac{R_2}{R_1}$" at OP.c + (0, -2.25);
Obr. 75 Zapojenie invertujúceho a neinvertujúceho zosilovača.#
Použitie parametra P pre zobrazenie napájacích vývodov zosilovača a použitie makra reversed() pre zobrazenie kondenzátora \(C_2\) s obrátenou polaritou ukazuje nasledujúci príklad.
OA: opamp(,,,,P); # zobrazenie napajacich privodov
line from OA.V1 up_ .75;
dot;
{
line right_ 0.25;
capacitor(right_ 1,C+); llabel(,C_1,); rlabel(,10 \mu F,);
line .5 then down_ 0.25; gnd;
}
line 0.75; circle rad 0.1; "$V+$" at last circle.n above;
line from OA.V2 down_ .75;
dot;
{
line right_ 0.25; reversed(`capacitor', right_, C+); llabel(,C_2,);
rlabel(,10 \mu F,);
line .5 then down_ 0.25; gnd;
}
line 0.75; circle rad 0.1; "$V-$" at last circle.s below;
line from OA.In1 left 0.5;
line from OA.In2 left 0.5;
V komplikovanejšom zapojení Wien-Robisonovho aktívneho filtra (vo výpise sú vynechané nepodstatné časti) sú použité vnorené bloky pri kreslení vetiev obvodu a použitá konštrukcia with pri ukladaní zosilovača OA2 na aktuálnu polohu vývodom In2.
OA1: opamp(,,,,); "$A_1$" at OA1.SE below ljust;
line from OA1.In1 left_ 0.5;
...
...
R1: resistor(right_ 2.15,,E); rlabel(,R_1,); dot;
{line down_ (Here.y-OA1.Out.y) then to OA1.Out;}
line right_ 1; dot;
{ C1: capacitor(down_ 2.25); rlabel(,C,);}
line right_ 0.75; dot;
{ <------ blok
R2: resistor(down_ 2.25,,E); llabel(,R_2,);
dot;
{ <------ vnorený blok
line right_ 2;
OA2: opamp() with .In2 at Here; <------ poloha In2
"$A_2$" at OA2.SE below ljust;
}
{
C2: capacitor(down_ 1); rlabel(,C,);
R22: resistor(down_ 1,,E); llabel(,R_2,);
gnd;
}
line to C1.end;
}
...
...