Resistiivse elektriahela (ehk alalisvoolu ahela) Scilab arvutus

Siin on toodud mõnede arvutuste Scilab skriptid. Scilab on vabavara, mille saate Internetist. Installeerige Scilab, kopeerige-laadige skript Scilab käsuaknasse, ja saategi arvutuste tulemused.

Siin on toodud näited, kuidas kirjutada valemeid arvutus-programmile (ja ka inimesele) arusaadaval kujul liht-teksti redaktori Scipad abil. Paljud Scilab (ja ka Matlab, Octave, jne) kasutajad koostavadki oma skriptid mitmesuguste näidete alusel, suuri manuaale kasutatakse harva.
Mõned selgitused, tähised, indeksid, jne on toodud lähtudes inglise keelest
(vc ­ Voltage Source, cs ­ Current Source, etc).
Scilab arvutuse tulemused võite kirjutada päeviku (diary) faili, või lihtsalt kopeerida käsuaknast tekstifaili.



Pinge-voolu märgireegel

Vaatleme haru ab, tema haruvoolu suund on sõlmest a sõlme b suunas. Haruvool on Iab ja voolu suunda tähistame noolega. Harupinge on Vab = Va Vb, pinged on tähistatud plussi ja miinusega: a(+) ja b(–). Joonisel on näidatud ka sõlmepinged Va ja Vb. Pinge Vab >0 kui pinge alaneb liikumisel sõlmest a sõlme b.
Kui kasutatakse emj mõistet, siis Eab = –Vab ja emj suund osutab pinge kasvamisele.
Veel kehtivad seosed pinge-voolu suuna muut(u)mise kohta: Vba = –Vab ; Iba = –Iab .
Vvs.ab on allika-pinge, mis tekitab voolu Iab, ja Vr.ab on resistori pinge(lang). Resistiivse elemendi pinge väheneb voolu suunas.
Kirchhoffi pingeseaduse alusel saame kirjutada
Vvs.ab =Vr.ab + Vb – Va
Uuemas kirjanduses ei kasutata
pinge suuna näitamiseks voolu-suunalist noolt, selline nool näitab pinge vähenemise suunda (aga see tekitab segadust, sest nool peaks osutama suurenemist). Samuti ei kasutata enam emj suunda näitavat noolt (emj on pingele vastas-suunas: E=–V), ja emj mõistet kasutatakse harva.
.

         Vvs.ab             + Vr.ab---┐               ┌-----┐
  a○-----┤- +├---------------┤  r  ├----○b
   +     └---┘  ---> Iab     └-----┘    +
 
   Va                                   Vb
 
   –                                    –
   ======================================

Järgnevas skriptis saadakse resistiivse elemendi pinge Vr.ab = Vvs.ab + Va – Vb
ja pingeallika poolt antav võimsus Pvs.ab = +Iab * Vvs.ab .
Kui harus pq on vooluallikas Ics.pq siis tema poolt antav võimsus Pcs.pq = –Ics.pq *Vpq .

Ahelate arvutuseks kasutatakse väga sageli sõlmepinge meetodit, mis on hästi programmeeritav.

Järgnevas skriptis koostatakse sõlmpinge meetodil võrrandsüsteem ahelale millel on 8 haru ja 4 sõltumatut sõlme. Ahela skeem on esitatud massiiviga nn. Esitatud skripti Java-varianti on kasutatud ka suurema sõlmede arvuga ülesannete lahendamisel. Selleks on sisestatud uue skeemi klipp, tema sõlmede ja harude arv, ja massiiv nn.

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

// Skript klipile  Eta1m4  var=2
nd=4;  bra=8; cc=zeros(bra,1); rr=cc; gg=cc; cs=cc; vs=cc;
G=zeros(nd,nd); J=zeros(nd,1);
//Ahela skeem: esimese haru vool on suunaga sõlmest 2 sõlme 1, jne 
nn=[2,1, 3,1, 4,1, 2,3, 3,4, 0,2, 0,3, 0,4];

// andmete genereerimine sellele klipile
// bra=8; V=10; dd ="RRRRVVRJ";
//for h=1:bra 
//  kk=part(dd,h);
//   select kk
//    case 'R' rr(h)=20+V-2*h; gg(h)=1/rr(h); cc(h)=0;vs(h)=0; cs(h)=0;
//    case 'V' rr(h)=20+V-2*h; vs(h)=50+V-5*h; cc(h)=vs(h)/rr(h); 
//      gg(h)=1/rr(h); cs(h)=0;
//    case 'J' gg(h)=0; rr(h)=0; cc(h)=0.1; cs(h)=0.1; end, end

//Samad andmed:
rr=[28 26 24 22  20 18 16 14]'; gg=1 ./rr; 
vs=[0 0 0 0  35 30 0 0 ]';cs=[0 0 0 0 0 0 0 0.1]';
cc = cs + vs .*gg;   rr(8)=0; gg(8)=0;
//rr(8) ja gg(8) ei ole ok kuid vajalikud edaspidi 

//Võrrandsüsteemi massiivide G ja J täitmine 
for h=1:bra, a=nn(2*h-1); b=nn(2*h);
        if a>0  G(a,a)=G(a,a)+gg(h); J(a)=J(a)-cc(h); end
        if b>0  G(b,b)=G(b,b)+gg(h); J(b)=J(b)+cc(h); end
        if a>0&b>0  G(a,b)=G(a,b)-gg(h); G(b,a)=G(b,a)-gg(h); end
end 

//Võrrandsüsteemi lahendamine:
v_node=inv(G)*J; 
disp([G,J, v_node],".....G=........................J=.....v_node=");

//Harupingete vv arvutus:
vv=vs;
for h=1:bra
  a=nn(2*h-1); b=nn(2*h);
  if a>0  vv(h)=vv(h)+v_node(a); end
  if b>0  vv(h)=vv(h)-v_node(b); end
end

//Haruvoolude arvutus ja võimsuste bilanss:
ii=cs+vv .*gg;  
Pss=sum(ii .*vs -cs .*vv);  Prr=sum(ii .* ii .* rr); 
disp( [(1:8)' vs rr ii],".     ..vs=....rr=....ii=")
disp([  Pss Prr], "...Pss =........Prr =")

        ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

// NÄIDE 1. Kolm haru sõlmest n sõlme a poole
mode(1)
r=[4;8;2]; e=[12;0;10];

// Voolude arvutus Kircchoffi seaduste abil
rr=[r(1),-r(2),0
    0    -r(2),r(3)
    1     1    1  ]  
ee=[e(1)-e(2);e(3)-e(2);0]
i=inv(rr)*ee  // i=rr\ee   i=rr^(-1)*ee
// pingeallikate ja resistanside võimsused
sum(e .*i)
sum(i .* i .* r)
// kui võimsused võrdsed siis OK 

// Arvutus sõlmepinge meetodi abil (kahe-sõlme meetodi abil)
Uan=sum(e./r)/sum(1 ./r)  // tühik on vajalik 1 järel!
Ubr=e-Uan 
Ibr=Ubr./r 

// Arvutuss kontuutvoolu meetodi abil
rk=[r(1)+r(2),   r(2)
       r(2),  r(2)+r(3) ]
ek=[e(1)-e(2);e(3)-e(2)]
Ik=inv(rk)*ek 
Ibr=[Ik(1),-Ik(1)-Ik(2),Ik(2)] 
//            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

// EXAMPLE 2 ***********
// Circuit Diagram: 3 Nodes (0,1,2), 5 Branches (1:5) 
// Branch:From÷To  1:0÷1 2:1÷0 3:1÷2 4:2÷0 5:0÷2
r=[4 10 5 10 4]'; e=[12 0 0 0 10]';

// KIRCHHOFF's LAWs ====
rr=[r(1), r(2), 0,    0,    0
    0,   -r(2), r(3), r(4), 0
    0,    0,    0,    r(4),r(5)
    1,   -1,   -1,    0,    0
    0,    0,    1,   -1,    1 ];
ee=[e(1);0;e(5);0;0]; 
disp([rr ee],'Equations: rr ee')
i=inv(rr)*ee; 
disp(i,'Solution: BranchCurrents i')
// Power
sum(e .*i)
sum(i .* i .* r)
//---------

r=[4 10 5 10 4]'; e=[12 0 0 0 10]';
// NODE VOLTAGE METHOD
g=1 ./r
gg=[sum(g(1:3)),   -g(3)
       -g(3),   sum(g(3:5))]
jj=[e(1)*g(1)
    e(5)*g(5)]
disp([gg jj],'Equations: gg jj')
u=inv(gg)*jj; 
disp(u,'Solution: NodeVoltages u')
i=g .* [e(1)-u(1);u(1);u(1)-u(2);u(2);e(5)-u(2)];
disp(i,'Solution: Branch Currents i')
// Power of Voltage Sources and Resistances
sum(e .*i)
sum(i .* i .* r)

// ▀▀▀▀▀▀▀▀▀▀▀

Elektriahel on resistiivne ahel, kui ahel ei sisalda energiat salvestavaid elemente – induktiivsusi ega mahtuvusi (ehk nende mõju on jäetud arvestamata).
Sellistel ahelatel määratakse pingete-voolude vahelised seosed alalis-elektri korral, aga need seosed kehtivad ka vahelduv-elektri korral, samuti pulsside ja lainete korral.
Teiste sõnadega, resistiivses ahelas võib vahelduv-elektri korral (ja ka s-domeeni suuruste korral) kasutada alalis-elektri seoseid, neid võib kasutada ka pulsside ja lainete korral.
Öeldakse, et resistiivse ahela pinge-voolu seosed ei sõltu domeeni liigist (ajadomeen ehk ajafunktsioonid, sagedusdomeen ehk faasor-avaldised, või s-domeen ehk Laplace'i teisendused).

▀▀▀▀▀▀▀▀▀▀▀ 11 mai 2006 E.S.