Dvojpóly#

Základné elektronické komponenty (R,L,C, dióda, zdroje …) sú 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é zadať jeho meno, hodnotu a označenie vývodov, zobrazenie prvku a jeho popis je možné ďalej modifikovať doplnkovými makrami.

_images/cm_016.png

Obr. 10 Príklady dvojpólov.#

Pre všetky dvojpóly sú definované atribúty

    .start  - bod začiatku vykreslovania prvku
    .center - stred prvku
    .end    - bod ukončenia vykreslovania 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 sa vykreslí rezistor s prednastavenými hodnotami ako značku rezistoru 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);
_images/cm_111.png

Obr. 11 Typy rezistorov.#

Warning

Niektoré verzie CircuitMacros nekorektne spracovávajú parametre makier a medzery pokladajú za súčasť parametra. Je preto potrebné zadávať parametre makier bez medzier.

resistor(,, E );       # chyba, ignorovanie parametra E
resistor(,,E);         # správne vykreslenie rezistora 

Kondenzátor #

Kondenzátoroch je orientovaný dvojpól, preto okrem typu kondenzátora môžeme parametrom Rev zvoliť aj jeho orientáciu. 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);
_images/cm_114.png

Obr. 12 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
_images/cm_115.png

Obr. 13 Modifikácie cievky.#

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);
_images/cm_120.png

Obr. 14 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 pr9pade 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 }$,);
_images/cm_112.png

Obr. 15 Makrá pre popis dvojpólov.#

Premenné prvky #

Pre zobrazenie premenných komponentov 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,,);
    
_images/cm_125.png

Obr. 16 Zobrazenie premenných prvkov.#

Prúd dvojpólom #

Pre zobrazenie šípky reprezentujúcu 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 v príkaze 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 );
_images/cm_126.png

Obr. 17 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 zpbrazenie 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;
_images/cm_128.png

Obr. 18 Zobrazenie úbytku napätia na rezistoroch.#