Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

Dubbio Kirchhoff


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 71 risposta/e

#21
jane

jane

    Member

  • Utente
  • StellaStella
  • 18 Messaggi:
mi intrometto dato che anch'io sto preparando elettrotecnica :)
allora credo sia quasi tutto giusto a parte l'equazione eL dal momento che la tensione sull'induttore non è V2 ma Vl ed inoltre hai seguito la convenzione
dell'utilizzatore quindi il segno di Il dovrebbe essere -

e poi sono d'accordo con l'opinione di Folgore. con i nomi che usi tu per le variabili diventa più difficile seguire e più facile condondersi :)

#22
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
per quanto riguarda le correnti non mi pongo tanto il problema xkè cmq questo codice dovrà essere cablato all'interno di un'interfaccia grafica che nasconde tutta la parte di elaborazione, quindi le variabili potrei chiamarle anche pippo pluto e topolino XD poi, siccome dovrò discutere il progetto con il professore non credo che avrò problemi a spiegargli le scelte dei nomi..
Per quanto riguarda le caratteristiche, invece, ho pensato che scriverle già nel dominio fasoriale potesse aiutarmi xkè nel caso in cui i generatori siano sinusoidali problemi non ne ho, fatto salvo che devo stare attento alle pulsazioni; nel caso in cui i generatori siano stazionari farò un controllo all'interno del codice e farò eseguire la parte con le relative equazioni! Non so se mi sto complicando la vita, ma non è che non voglio ascoltare i tuoi consigli, il fatto è che sto concependo sto progetto in questo modo e, avendo già fatto l'interfaccia grafica, sto sviluppando tutto in funzione di essa (anke se doveva essere il contrario XD)

P.s. per l'equazione dell'induttore si, me ne ero già accorto, è un refuso di un copia incolla XD
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#23
nicklion

nicklion

    Advanced Member

  • Amministratore
  • 470 Messaggi:
attento con i copia e incolla, che io mi sono incasinato il compito a causa di fare copia e incolla e di scordarmi incognite qua e la XD
Immagine inviata

#24
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
eh si, hai ragione! X fortuna io ho la tranquillità di stare a casa e di potermi confrontare :)
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#25
Folgore

Folgore

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1805 Messaggi:

eh si, hai ragione! X fortuna io ho la tranquillità di stare a casa e di potermi confrontare :)


Che lavori a casa è una grande cosa, Peppe!
Comunque, per il futuro, pensa prima su carta e poi progetti interfacce grafiche, ecc. Ti posso garantire che la maggior parte degli errori nei progetti è legata alla "mancanza di logica" che si crea quando non si va dalla carta al pc, ma si segui il processo inverso.
Morale della favola: se ti facesse un ingegnere str**zo l'orale di Elettrotecnica, eh....ti darebbe filo da torcere.
Comunque, buono studio.

#26
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
Crepi il lupo! Xò non è che sto ragionando unicamente al computer eh, intendiamoci! Ho il mio circuito bello stampato su carta e tutto scarabocchiato di uguaglianze versi di correnti ecc; detto per inciso, non ci riuscirei nemmeno a risolvere il circuito a mente senza ragionarci un po' su XD! Ora, cmq, viene la parte più laboriosa, soprattutto dal punto di vista del codice.. Sti due generatori che possono essere arbitrariamente sia sinusoidali che stazionari mi danno origine a 16 varianti possibili del circuito.. prevedo un bel lavoraccio!
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#27
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
Nonostante non abbia scritto più nulla negli ultimi giorni, non vuol dire che non stia studiando :D
Riassumendo, quindi, mi sono trovato il generatore equivalente alla thevenin visto dal condensatore:


%% quesito1
% Calcolo della tensione a vuoto imporre Il=0 e Ic=0

sol_a=solve(lkt1,lkc1,lkc2,db1,db2, 'V2, I1, I2, I3, Vl');
Vth=subs(sol_a.V2,[Il Ic], [0 0]);

% Calcolo della corrente di corto circuito: imporre Il=0, V2=0

sol_b=solve(lkt1,lkc1,lkc2,db1,db2, 'Ic, I1, I2, I3, Vl');
Icc=subs(sol_b.Ic,[Il V2], [0 0]);

Req=Vth/Icc;

E credo che fino a qui, errori non ce ne siano!

Andando avanti, ora, devo fare il secondo punto, che mi chiede di trovare i grafici di Vc e Vr in un intervallo di tempo [t_min;tmax] scelto opportunamente in modo da plottare in modo chiaro le forme d'onda... Quindi, a questo punto, entrano in gioco i due generatori ed il fatto che possano essere arbitrariamente stazionari, sinusoidali o una combinazione di essi. A tal proposito, quindi, anche concettualmente, ho diviso il problema in tanti sottoproblemi (divide et impera :D) da analizzare volta per volta. Sono partito, ovviamente, dal caso più semplice, ovvero che entrambi i generatori siano stazionari, e quindi ho ottenuto questo:


%% quesito2
% Determinare Vc(t) e Vr(t) per t da -oo a +oo
%a) Calcolo della soluzione in regime stazionario
%a.1) Soluzione rispetto al generatore di tensione stazionario

sol_staz_vs=solve(lkt1,lkc1,lkc2,db1,db2, 'V2, I1, I2, I3, Vl');

vc_staz_vs=subs(sol_staz_vs.V2, [Vs Vl Ic Is], [Vs 0 0 0]);

vr_staz_vs_temp=subs(sol_staz_vs.I1, [Vs Vl Ic Is], [Vs 0 0 0]);

vr_staz_vs=vr_staz_vs_temp*R;

%a.2) Soluzione rispetto al generatore di corrente stazionario

sol_staz_is=solve(lkt1,lkc1,lkc2,db1,db2, 'V2, I1, I2, I3, Vl');

vc_staz_is=subs(sol_staz_is.V2, [Vs Vl Ic Is], [0 0 0 Is]);

vr_staz_is_temp=subs(sol_staz_vs.I1, [Vs Vl Ic Is], [0 0 0 Is]);

vr_staz_is=vr_staz_is_temp*R;

%a.3) Soluzioni complete per il regime stazionario

sol_vc_staz=vc_staz_vs + vc_staz_is;
sol_vr_staz=vr_staz_vs + vr_staz_is;

Anche qui, credo, che errori non ce ne siano! Adesso viene la parte divertente, in cui i generatori possono essere alternativamente stazionario e sinusoidale e, dulcis in fundo, quando entrambi sono sinusoidali.. E, per questo ultimo caso, ho una domanda da porvi: nel caso in cui le pulsazioni dei due generatori siano differenti, posso trovare la soluzione totale facendo la somma dei contributi dei singoli generatori? So che devo lasciare esplicite le due funzioni sinusoidali xkè avendo pulsazioni differenti è come sommare cavoli e patate, ma ai fini del codice è un errore fare come ho fatto per la soluzione stazionaria?

P.s. per maggiore chiarezza allego di nuovo lo schema del circuito, stavolta con i nomi che ho scelto per le correnti e le tensioni, ed i relativi versi!
Magari , terminato il progetto, Folgore, ascolterò il tuo consiglio e darò il nome di I1 alla corrente della prima porta e di I2 a quella della seconda porta, però, per ora, vado avanti così! ;)

File allegato


Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#28
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
Ormai questo topic sta diventando il diario del mio progetto, e lo aggiorno ogni volta che arrivo ad una "milestone"!

Ammesso e non concesso che tutto quello che ho fatto prima di adesso sia corretto, mi sono imbarcato nello studio del circuito ipotizzando che il generatore di tensione fosse di tipo stazionario e che il generatore di corrente fosse di tipo sinusoidale; per questo motivo ho attribuito il nome di "regime ibrido" a questo tipo di regime, per poi distinguerlo da quello puramente sinusoidale che si avrà quando entrambi i generatori saranno di tipo sinusoidale. Sotto queste ipotesi, quindi, mi sono calcolato, sempre per lo svolgimento del punto 2, la tensione sul resistore e quella sul condensatore, per t<0, nel modo seguente; e spero vivamente che non ci siano errori, soprattutto di tipo concettuale!


%b) Calcolo della soluzione in regime ibrido per t<0
%b.1) Soluzione rispetto al generatore di tensione stazionario
vc_staz_vs_hibrid=vc_staz_vs;

vr_staz_vs_hibrid=vr_staz_vs;

%b.2) Soluzione rispetto al generatore di corrente sinusoiudale

sol_sin_is_tneg=solve(lkt1,lkc1,lkc2,db1,db2,eC,eL, 'V2, I1, I2, I3, Vl, Ic, Il');

Fvc_is_tneg=subs(sol_sin_is_tneg.V2,[Is Vs],[Fis 0]);

Fvr_is_tneg=subs(sol_sin_is_tneg.Vl,[Is Vs],[Fis 0]);

%b.3) Calcolo delle funzioni sinusoidali

vc_t_is_tneg=abs(Fvc_is_tneg)*cos(w*t+angle(Fvc_is_tneg));

vr_t_is_tneg=abs(Fvr_is_tneg)*cos(w*t+angle(Fvr_is_tneg));

%b.4) Soluzioni complete per il regime ibrido per t<0

vc_t_hibrid_tneg=vc_staz_vs_hibrid+vc_t_is_tneg;

vr_t_hibrid_tneg=vr_staz_vs_hibrid+vr_t_is_tneg;

Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#29
nicklion

nicklion

    Advanced Member

  • Amministratore
  • 470 Messaggi:
non mi sembrano ci siano errori, il tuo ragionamento sui due generatori con pulasioni differenti è corretto, anche se hai pulsazioni differenti, la tua soluzione completa sarà la somma delle tensioni una volta calcolate con una pulsazione, e un'altra volta calcolate con l'altra pulsazione. forse puoi riciclare le equazioni per le tensioni in regime stazionario, tanto saranno sempre le stesse :)
Immagine inviata

#30
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
E infatti quello è il mio intento! Bene, credo di aver preso la strada giusta e, inoltre, mi sto riprendendo dopo il tracollo avuto all'inizio XD! Domani una bella chiacchierata col professore spero mi chiarisca qualche ultimo dubbio, così da potermi lanciare in discesa nel completamento del punto 2 che, una volta terminato, rappresenterebbe la parte + complicata del progetto!
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#31
nicklion

nicklion

    Advanced Member

  • Amministratore
  • 470 Messaggi:
allora ci vediamo alla chiacchierata con il prof XD
Immagine inviata

#32
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
Azz, ci sono gli orali domani! Non ci avevo fatto caso! Bene, bene, un motivo in + per venire!
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#33
Folgore

Folgore

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1805 Messaggi:

Azz, ci sono gli orali domani! Non ci avevo fatto caso! Bene, bene, un motivo in + per venire!


System, pare tutto corretto cmq.
Se hai bisogno di aiuto, chiedi.
Ciao.

#34
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
Grazie ragazzi, siete sempre gentilissimi! State pur certi che man mano che vado avanti con l'analisi del circuito continuerò a chiedere il vostro PREZIOSO parere! :)
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#35
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
Cari colleghi, ho un'altra domanda da porvi. Ho fatto l'analisi per t<0 e nessun problema.. ora, però, dovrei fare quella per t>0 e, quindi, dovrei calcolare anche i valori in 0 dei componenti conservativi.. Il mio dubbio è: per la vr, dato che è la tensione di un resistore, mica è vincolante sapere la condizione in 0 di induttore e condensatore? Suppongo di no... E, qualora fosse necessario, posso calcolare la Il come differenza tra i2 e i1 e poi valutarla in 0?
In seconda battuta, poi, devo plottare la tensione del condensatore, e qui si che mi serve sapere la vc in 0 o, data la semplificazione del mio circuito, mi basterebbe anche soltanto la v2.. Sono corretti i ragionamenti? Mentre attendo il vostro prezioso confronto io provo ad impostarlo così, sperando di non dover rifare tutto! XD
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#36
Folgore

Folgore

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1805 Messaggi:

Cari colleghi, ho un'altra domanda da porvi. Ho fatto l'analisi per t<0 e nessun problema.. ora, però, dovrei fare quella per t>0 e, quindi, dovrei calcolare anche i valori in 0 dei componenti conservativi.. Il mio dubbio è: per la vr, dato che è la tensione di un resistore, mica è vincolante sapere la condizione in 0 di induttore e condensatore? Suppongo di no... E, qualora fosse necessario, posso calcolare la Il come differenza tra i2 e i1 e poi valutarla in 0?
In seconda battuta, poi, devo plottare la tensione del condensatore, e qui si che mi serve sapere la vc in 0 o, data la semplificazione del mio circuito, mi basterebbe anche soltanto la v2.. Sono corretti i ragionamenti? Mentre attendo il vostro prezioso confronto io provo ad impostarlo così, sperando di non dover rifare tutto! XD


Caro Peppe, per la tensione su vr, "supponi" male. Per non sbagliare mai, e quindi per non cadere in tranelli circuitali, segui i seguenti passi (algoritmo :lol2: ):
1) calcola la iL e la vC a 0-;
2) calcola la iL e la vC a 0+ (per continuità delle variabili di stato).
3) risolvi la rete fotografandola a 0+, ovvero:
- sostituisci al posto dell'induttore un generatore di corrente ideale che eroga la corrente iL(0+);
- sostituisci al posto del condensatore un generatore di tensione ideale che ha ai suoi capi la tensione vC(0+);
- usa il metodo che ritieni più opportuno (dipende da come è fatto il circuito) per trovare la tensione sul resistore (bada che in questo caso è molto semplice perché i bipoli attivi "fotografati" sono diventati dei generatori indipendenti!).

Come puoi vedere, quindi, la tensione vR dipende fortemente (come sempre) dall'induttore e dal condensatore. E' errato il tuo calcolo di iL perché a 0+ il valore della corrente è fissato!! Questo è il motivo per cui a 0+ immaginiamo che l'induttore sia un generatore di corrente ideale.....
Il plot della tensione sul condensatore è esattamente come dici. Per la topologia del circuito che hai, v2 coincide con vC e qui è palesamente evidente che ti serve appunto la tensione del condensatore a 0+.
Buono studio.

#37
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
Ok, credo di aver capito.. Dopo inserisco il codice, sperando che sia corretto!
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#38
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
Dunque... ho pensato di procedere così:

poichè mi mancava la corrente dell'induttore me la sono andato a ricavare sommando i contributi derivanti dal generatore stazionario e da quello sinusoidale e sommandoli ed ottenendo così l'andamento della corrente di induttore nel tempo per t<0... per la tensione del condensatore questo lavoro lo avevo già fatto..

A questo punto mi calcolo il valore delle due quantità in 0-, ovvero sostituisco al posto di t 0, in questo modo:


il_0=subs(il_t_hibrid_tneg,t,0);
vc_0=subs(vC_t_hibrid_tneg,t,0);
Adesso, dando uno sguardo ad un codice fatto dal professore relativo ad un progetto simile, noto che prima di procedere al calcolo di quello che succede per t>0, il professore si calcola la v2 in 0+... Con la mia configurazione del circuito, però, la v2 in 0+ coincide proprio con la mia vc in 0- (senò che cacchio di condensatore è!!!) e posso fare ovviamente lo stesso discorso per la il in 0+ che dovrebbe essere uguale alla il 0-... o sbaglio?? (senò sti caspita di componenti con memoria che mantengono???? E mi fermo XD)

Se il mio ragionamento dovesse risultare corretto, quindi, dovrei poter procedere con il calcolo delle soluzioni per t>0...
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.

#39
Folgore

Folgore

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1805 Messaggi:

Dunque... ho pensato di procedere così:

poichè mi mancava la corrente dell'induttore me la sono andato a ricavare sommando i contributi derivanti dal generatore stazionario e da quello sinusoidale e sommandoli ed ottenendo così l'andamento della corrente di induttore nel tempo per t<0... per la tensione del condensatore questo lavoro lo avevo già fatto..

A questo punto mi calcolo il valore delle due quantità in 0-, ovvero sostituisco al posto di t 0, in questo modo:


il_0=subs(il_t_hibrid_tneg,t,0);
vc_0=subs(vC_t_hibrid_tneg,t,0);
Adesso, dando uno sguardo ad un codice fatto dal professore relativo ad un progetto simile, noto che prima di procedere al calcolo di quello che succede per t>0, il professore si calcola la v2 in 0+... Con la mia configurazione del circuito, però, la v2 in 0+ coincide proprio con la mia vc in 0- (senò che cacchio di condensatore è!!!) e posso fare ovviamente lo stesso discorso per la il in 0+ che dovrebbe essere uguale alla il 0-... o sbaglio?? (senò sti caspita di componenti con memoria che mantengono???? E mi fermo XD)

Se il mio ragionamento dovesse risultare corretto, quindi, dovrei poter procedere con il calcolo delle soluzioni per t>0...


Pare tutto ok! :clap2: Procedi.
:D

#40
|system88|

|system88|

    Moderatore globale

  • Moderatore
  • 4133 Messaggi:
eh, si, è vero, oggi ho battuto un po' la fiacca, però qualcosina l'ho fatta, e sono arrivato ad un punto in cui credo di aver bisogno di un'altra spintarella per poter procedere..

Allora, ricapitolando, dopo aver stabilito il valore della corrente dell'induttore e della tensione del condensatore all'istante iniziale:


% Calcolo della tensione del condensatore e della corrente dell'induttore
% in t=0-

il_0=subs(il_t_hibrid_tneg,t,0);
vc_0=subs(vC_t_hibrid_tneg,t,0);

Ho determinato il polinomio caratteristico, che mi servirà successivamente per il calcolo del transitorio.. E qui, se non è troppo, chiedo un confronto sulla correttezza dello svolgimento:


%Determinazione del polinomio caratteristico

syms s
ec_s=vc-ic/(s*C)
el_s=vl-s*L*il

sol_reg_tpos_is=solve(lkt1,lkc1,lkc2,db1,db2,ec,el, 'V2, I1, I2, I3, Vl, Ic, Il');
FiL_tpos_is=subs(sol_sin_is_tneg.Il,[Is Vs],[Fis 0]);
HiL_tpos_is=simplify(FiL_tpos_is/Fis);
HiL_s=sym2tf(HiL_tpos_is);
poli=pole(HiL_s);

Fatto ciò, sono finalmente passato alla soluzione del circuito per t>0, analizzandolo sempre con il generatore di tensione stazionario e quello di corrente sinusoidale, e sono arrivato a queste soluzioni:


%c) Calcolo della soluzione in regime ibrido per t>0
%c.1) Soluzione rispetto al generatore di tensione stazionario

sol_hibrid_vs_tpos=solve(lkt1,lkc1,lkc2,db1,db2, 'V2, I1, I2, I3, Il');

il_hibrid_vs_tpos=subs(sol_hibrid_vs_tpos.Il, [Vs Vl Ic Is], [Vs 0 0 0]);

vc_hibrid_vs_tpos=subs(sol_hibrid_vs_tpos.V2, [Vs Vl Ic Is], [Vs 0 0 0]);

vr_hibrid_vs_temp_tpos=subs(sol_hibrid_vs_tpos.I1, [Vs Vl Ic Is], [Vs 0 0 0]);

vr_hibrid_vs_tpos=vr_hibrid_vs_temp_tpos*R;

%c.2) Soluzione rispetto al generatore di corrente sinusoidale

sol_sin_is_tpos=solve(lkt1,lkc1,lkc2,db1,db2,ec,el, 'V2, I1, I2, I3, Vl, Ic, Il');

Fil_is_tpos=subs(sol_sin_is_tpos.Il,[Is Vs],[Fis 0]);

Fvc_is_tpos=subs(sol_sin_is_tpos.V2,[Is Vs],[Fis 0]);

Fvr_is_tpos=subs(sol_sin_is_tpos.Vl,[Is Vs],[Fis 0]);

%c.3) Calcolo delle funzioni sinusoidali

il_t_is_tpos=abs(Fil_is_tpos)*cos(w*t+angle(Fil_is_pos));

vc_t_is_tpos=abs(Fvc_is_tpos)*cos(w*t+angle(Fvc_is_tpos));

vr_t_is_tpos=abs(Fvr_is_tpos)*cos(w*t+angle(Fvr_is_tpos));

%c.4) Soluzioni complete per il regime ibrido per t>0

il_t_hibrid_tpos=il_hibrid_vs_tpos+il_t_is_tpos;

vc_t_hibrid_tpos=vc_hibrid_vs_tpos+vc_t_is_tpos;

vr_t_hibrid_tpos=vr_hibrid_vs_tpos+vr_t_is_tpos;

Anche qui, se avete tempo, voglia e pazienza, gradirei un confronto sulla validità di ciò che ho scritto!

A questo punto, sempre dando un'occhio al codice scritto dal prof relativamente ad un progetto simile, si giunge al calcolo delle condizioni iniziali.. Immagino di non poter copiare spudoratamente, anche perchè la topologia del circuito è abbastanza diversa, quindi dovrò lambiccarmi il cervello per scrivere le mie condizioni iniziali.. e la vedo nera... quindi, anche qui, sarei felicissimo di un confronto... ma credo che questo dolce lavoro lo farò più tardi, magari dopo cena, perchè al momento altri impegni mi chiamano :D

p.s. Folgore, grazie mille dei feedback che ogni volta, con pazienza e gentilezza mi lasci!
Esistono solo due modi per scrivere un programma senza errori.
Ma e' solo il terzo modo quello che funziona realmente.




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi