Dvojpóly#
Základné elektronické komponenty (R,L,C, dióda, zdroje …) sú v CircuitMacros reprezentované ako dvojpóly. Na ich pripojenie do elektrického obvodu sú použité dva uzly. Typ dvojpólu je určený menom a jeho vzhľad je možno meniť parametrami. Pre každý dvojpól je možné v zapojení zadať jeho meno, hodnotu alebo typ a v prípade potreby aj označenie vývodov. Všeobecný formát makra pre zobrazenie dvojpólov má tvar
[reference:] object([linespec], [parameters ...]);
reference - označenie objektu pre prístup k jeho parametrom
object - typ dvojpólu (resistor, capacitor ...)
linespec - dĺžka prívodov a umiestnenie objektu
parameters - parametre určujúce tvar objektu
Pri použití makra bez parametrov sa vykreslí dvojpól v prednastavenom tvare.
Obr. 11 Príklady dvojpólov.#
Základné rozmery a tvar dvojpólov v knižniciach CircuitMacros sú zobrazené na nasledujúcom obrázku. Rozmery objektu závisia od aktuálneho nastavenia parametrov prostredia, ktoré sú popísané v kapitole Prostredie.
Obr. 12 Rozmery dvojpólu a jeho atribúty.#
Vlastnosti dvojpólov potom popisujú nasledujúce parametre
premenné
dimen_ - veľkosť prvku určená na základe parametrov kresliacej plochy
elen_ - dĺžka vývodov prvku, štandardne 1.5*dimen_
atribúty
.start - súradnice začiatku vykresľovania prvku
.centre - súradnice stredu prvku
.end - súradnice ukončenia vykresľovania prvku
Definície najčastejšie používaných dvojpólov - rezistor, kondenzátor, cievka, dióda a zdroj sú uvedené v nasledujúcich kapitolách. Kompletný zoznam makier pre kreslenie dvojpólov a ich parametrov je v dokumentácii.
Rezistor #
Makro pre zobrazenie rezistora v CircuitMacros je možné parametrami upraviť pre zobrazenie rôznych typov príbuzných prvkov. Definícia makra pre vykreslenie rezistora
rezistor(linespec, n, param, cwidth);
parametre:
linespec - dĺžka a umiestnenie rezistora
n - pocet cyklov rezistora v anglos. zobrazeni (default 3)
param - typ rezistora
E - box, európske označenie
ES - box prečiarknutý
Q - posunute anglos. zobrazenie
H - štvorcove zobrazenie - výkonovy rezistor
V - varistor
cwidth - rozmer cyklov rezistora v anglos. zobrazení
Makro bez parametrov vykreslí rezistor s prednastavenými hodnotami ako značku rezistora v anglosaskej notácii.
R1: resistor; R2: resistor(3,6,); R3: resistor(,,Q); R4: resistor(,,H);
R5: resistor(,,E); R6: resistor(,,ES); R7: resistor(,,V); R8: resistor(3,,E,1.5);
Obr. 13 Typy rezistorov.#
Warning
Medzery pred parametrom makra sú ignorované, v niektorých prípadoch ale môžu byť medzery za parametrom pokladané za súčasť parametra makra. Je preto vhodné zadávať parametre makier bez medzier.
resistor(,, E ); # chyba, ignorovanie parametra E
resistor(,,E); # správne vykreslenie rezistora
Kondenzátor #
Kondenzátor je orientovaný dvojpól, preto okrem jeho typu môžeme parametrom Rev zvoliť jeho polaritu. Pomocou parametrov height a width môžeme upraviť veľkosť a vzdialenosť elektród.
capacitor(linespec, chars, [Rev], height, width)
parametre:
linespec - dĺžka a umiestnenie kondenzátora
chars - typ kondenzátoea
F or blank: flat plate
dF flat plate with hatched fill
C curved-plate
dC curved-plate with variability arrowhead
CP constant phase element
E polarized boxed plates
K filled boxed plates
M unfilled boxes
N one rectangular plate
P alternate polarized
+ adds a polarity sign
+L polarity sign to the left of drawing direction
Rev - reversed polarity
height - defaults F: dimen_/3, C,P: dimen_/4, E,K: dimen_/5
wid - defaults F: height*0.3, C,P: height*0.4, CP:height*0.8, E,K: height
Makro bez paramerov vykreslí kondenzátor s prednastavenými rozmermi.
C1: capacitor; C2: capacitor(,C,); C3: capacitor(,E); C4: capacitor(,K);
C5: capacitor(,M,,0.75, 0.25);
C6: capacitor(,P); C7: capacitor(, CP); C8: capacitor(,+LC);
Obr. 14 Typy kondenzátorov.#
Cievka #
Pri cievke môžeme meniť tvar vinutia, počet závitov, ich veľkosť a môžeme k cievke pridať jadro.
inductor(linespec, W|L, cycles, M|P|K, loop wid)
parametre:
linespec - dĺžka a umiestnenie cievky
W|L - (default narrow), W: wide, L: looped;
cycles - number of arcs or cycles (default 4);
M|P|Kn - M magnetic core
P powder (dashed) core,
K long-dashed core,
n=integer (default 2) number of corelines named M4Core1, M4Core2
loop width - default L, W: dimen_/5; other:dimen_/8
Obr. 15 Typy cievok.#
Dióda #
Dióda je orientovaný dvojpól. Parametrom Rev môžeme otočiť smer diódy. Doplnenie typu diódy písmenom K vykreslí nevyplnenú značku diódy.
diode(linespec, chars, [Rev][E])
parametre:
linespec - dĺžka a umiestnenie diódy
chars - typ diódy
B bi-directional
b bi-directional with outlined zener crossbar
CR current regulator
D diac
G Gunn
L open form with centre line
LE[R]: LED [right]
P[R] photodiode [right]
S Schottky
Sh Shockley
T tunnel
U limiting
V varicap
v varicap (curved plate)
w varicap (reversed polarity)
Z zener
appending K to arg 2 draws open arrowheads;
Rev|E - Rev - reversed polarity, E - zobrazenie púzdra
Makro bez paramerov vykreslí diódu s prednastavenými rozmermi.
D1: diode; D2: diode(,S,); D3: diode(,V); D4: diode(,v);
D5: diode(,U); D6: diode(,ZK); D7: diode(,T); D8: diode(,,R);
Obr. 16 Typy diód.#
Zdroje #
source(linespec, chars, diameter, R, body attributes, body name)
parametre:
linespec - dĺžka a umiestnenie diódy
chars - typ zobrazenia
AC AC source;
B bulb;
F fluorescent;
G generator;
H step function;
I current source;
i alternate current source;
ii double arrow current source;
ti truncated-bar alternate current source;
L lamp;
N neon;
NA neon 2;
NB neon 3;
P pulse;
Q charge;
R: ramp; S: sinusoid;
SC quarter arc, SCr right orientation;
SE arc, SEr right orientation;
T triangle;
U square-wave;
V voltage source;
X interior X;
v alternate voltage source;
tv truncated-bar alternate voltage source;
other: custom interior label or waveform;
diameter - priemer kruhu zdroja
R - reversed polarity;
body attributes modifies the circle (body) with e.g., color or fill;
body names
Popis dvojpólov #
Pre popis dvojpólov sú definované podporné makrá llabel(), clabel(), rlabel() a dlabel() pre popis posledného uloženého prvku. Pre označenie je možné použiť syntax pre zápis matematických vzťahov LaTeX-u. Text popisu nemusí byť uzatvorený medzi znakmi $...$.
llabel( slabel, xlabel, elabel ) - označenie po lavej strane v smere ukladania
clabel( slabel, xlabel, elabel ) - označenie po pravej strane v smere ukladanie
rlabel( slabel, xlabel, elabel ) - označenie cez stred v smere ukladania
dlabel( long, lat, slabel, xlabel, elabel, [X][A|B][L|R])
- označenie s offsetom voči stredu
slabel - označenie v bode začiatku prvku
xlabel - označenie v strede prvku
elabel - označenie v bode konca prvku
long - pozdĺžna vzdialenosť od od určenej pozície
lat - kolmá vdialenosť od určenej pozície
X - stred prvku
A - above, text nad zadanou pozíciou
B - below, text pod zadanou pozíciou
L - ljust, zarovnanie textu doľava
R - rjust, zarovnanie textu doprava
Umiestnenie popisu zavisí od aktuálneho smeru ukladania komponentu. rlabel() ukladá text po pravej strane v smere ukladania. V prípade potreby môžeme modifikovať aj font a veľkosť textu
R1: resistor(,,); llabel(a,R_1,b);
C2: capacitor,,C); llabel( ,C_2, ); rlabel(, 10 \mu F, );
R3: resistor(,,E); llabel( ,R_3, ); clabel(, $\scriptsize{123}$, );
R4: resistor(,,E); dlabel(0.75, 0.35, aa ,R_4, bb ,X);
R5: resistor(,,E); dlabel(0.5, 0.3, aa ,R_5, bb ,L);
D6: diode(2); llabel( ,\sf D_6,); rlabel(,$\sf \footnotesize{ 1N4007 }$,);
Umiestňovanie dvojpólov #
Na pracovnej ploche môžeme umiestňovať dvojpóly niekoľkými spôsobmi:
Zadaním východzieho bodu kreslenia presunom kurzora
move to pos; object([length], ... );
Zadaním polohy stredu dvojpólu, smeru a velkosti
object( at pos [dir [length]], ... );
Zadaním smeru, veľkosti objektu a polohy východzieho bodu
object( [dir] [lenght] from pos, ... );
Pokračovaním od koncového bodu predchádzajúceho objektu
object(dir [length], ... );
Zadaním koncových bodov dvojpólu
object(from pos_A to pos_B);
Príklady použitia
move to (1,2.5); resistor(2); # (1)
resistor(at (2,1.5) right_ 2,,E); # (2)
resistor(right_ 2 from (1,0.5)) # (3)
move to (4,2.5);
RA: resistor(right_ 2);
RB: resistor(down_ 2); # (4)
resistor(from RA.start to RB.end); # (5)
Obr. 18 Príklady umiestňovania dvojpólov.#
Modifikácie dvojpólov #
Premenné prvky #
Pre zobrazenie premenných prvkov môžeme využiť makro variable()
variable(‘element’,[A|P|L|[u]N]|[u]NN]][C|S],[+|-]angle,length)
variable(,[A|P|L|[u]N]|[u]NN]][C|S],[+|-]angle,length)
parametre:
element - meno makra prvku, na ktorom bude vykreslený typ zmeny
[A|P|L|[u]N]|[u]NN]][C|S]
- označenie typu zmeny
A - šipka
P - potenciometer
L - čiara
N - parametrická zmena
uN
uNN
C|S - značka parametra
[+|-] angle - uhol a smer označenia zmeny,
length - dĺžka označenia
Makro môžeme použiť dvoma spôsobmi:
s prvým argumentom, v ktorom zadáme makro s parametrami prvku, ktorý chceme označiť ako premenný,
makro použijeme podobne ako makrá na popis prvkov llabel .., v tomto prípade ponecháme prvý argument prázdny.
move to (0,0) variable(`R1: resistor(right_ 2,,)',A); llabel(,R_1,); rlabel(a,10,b) R2: resistor(right_ 2,,E); variable(,P); llabel(,R_2,); rlabel(,100,); move to (1,1) V1: source(up_ 2, AC); variable(,A,,1.5); llabel(,V_1,); move to (3,1) C1: capacitor(up_ 2); rlabel(,C_1,); variable(,N,,);
Obr. 19 Zobrazenie premenných prvkov.#
V analogových zapojeniach bývajú premenné prvku (potenciometre, trimre, kondenzátory) zobrazené s fyzickým zapojenie vývodov súčiastok tak, ako je to zobrazené na nasledjúcom obrázku. Pri ladiacich kondenzátoroch je zobrazený aj ich vzájomný mechanický súbeh.
Obr. 20 Použitie premenných prvkov v zapojení rádia s integrovaným obvodom.#
Pre zobrazenie upravených premenných prvkov tak ako sú použité v predchádzajúcom zapojení sú v knižnici lib_user definované makrá vres_v() a vcap_v()
Obr. 21 Zobrazenie upravených premenných prvkov z knižnice lib_user.#
Nasledujúci skript zobrazuje časť zapojenia z predchádzajúceho obrázku. Pretože rezistory v zapojení sú mierne dlhšie ako štandardné rezistory v CircuitMacros, bolo pre ich zobrazenie definované nové makro res()
define(`res', `ebox($1, 0.8);')
Obr. 22 Použitie premenných prvkov v časti zapojenia rádia.#
Prúd dvojpólom #
Pre zobrazenie šípky ktorá reprezentuje prúd v prívode prvku môžeme použiť makro
b_current(label, above_|below_, In|O[ut], Start|E[nd], frac);
parametre:
label - označenie veličiny (prúd ...)
above_ - poloha označenia
below_
In - smer šípky
Out
Start - súradnica dvojpólu, voči ktorej bude vykreslená šípka a jej smer
End
frac - posun šípky voči zadanej súradnici
Makro môžeme použiť nielen na označovanie prúdu prvkami zapojenia, ale aj na vyznačenie prúdu vetvou obvodu príkazom line. Hodnota parametra frac závisí od aktuálneho nastavenia vykreslenia šípky a parametrov prostredia, približne zodpovedá aktuálnej dĺžkovej jednotke.
R1: resistor(right_ 3,,E);
llabel(,R_2,); rlabel(,100,);
b_current(i_{12} );
R1: resistor(right_ 3 at (2.5, 2.5),,E) ;
llabel(,R_2,); rlabel(,100,);
b_current(i_{34}, below_, Out, End, 0.45 );
L1: line from (5,1) to (8,1) "L1" above;
b_current(i_{56}, above_, In, Start, 0.6 );
L2: line from (5,2.5) to (8,2.5) "L2" below;
b_current(i_{78}, above_, In, End, 0.6 );
Obr. 23 Zobrazenie prúdu rezistorom a vetvou obvodu.#
Napätie na dvojpóle #
Úbytok napätia na prvku znázorňujeme šipkou umiestnenou paralelne s prvkom. Pre zobrazenie môžeme využiť štandarný príkaz line -> … alebo makrá
larrow(label, direction);
rarrow(label, direction);
parametre:
label - označenie veličiny (napätie ...)
direction - smer šipky zadaný ako <- alebo ->
Použitie makier ukazuje nasledujúci príklad
S1: source(up_ 2.5, AC); larrow(V_{0}, <-); b_current(i_0, ,Out, End, 0.45 );
R1: resistor(right_ 2.5,, E); larrow(V_{1}, ->); rlabel(,R_1,);
dot; {tconn(1.5,O); "1" ljust;}
R2: resistor(down_ 2.5,, E); larrow(V_{2}, ->); rlabel(,R_2,)
dot; tconn(right_ 1.5,O); "2" ljust;
line to S1.start;
Obr. 24 Zobrazenie úbytku napätia na rezistoroch.#