Applicazioni E Realizzazioni Pratiche
Homemade Inverter "modulo DC/AC"

VISUALIZZA L'ALBUM

Pag: (167)  < ...  76   77   78   [79]   80   81   82  ...>    (Ultimo Msg)


FinePagina

BellaEli

Avatar
GigaWatt


MODERATORE
Msg:3286

Stato:



Inviato il: 05/02/2015 13:23:52

Ciao a tutti.

Dunque, ora che abbiamo appreso lo scopo dei tre operai P, I e D proviamo a capire cosa succede al sistema quando ognuno di loro interviene dinamicamente modificando il potenziometro della relativa pompa.

Continuiamo l’analisi, sempre facendo riferimento alla figura dei serbatori di acqua dell’esempio precedente:

http://www.energialternativa.info/public/newforum/ForumEA/D/Serbatoio1.jpg


Prima di andare avanti è necessario aggiungere tre nuovi parametri al sistema: i coefficienti kP, kI e kD.

Di cosa si tratta ???

Nell’esempio del Proporzionale avevamo ipotizzato un rapporto tra l’errore e l’azionamento della pompa di 1:1, ovvero ad un errore del 20% l’operaio del proporzionale azionava la pompa a +20%.

Questa condizione è limitante poiché ci potrebbero essere situazioni in cui la capacità della pompa è molto maggiore di quella del rubinetto è un’azionamento della pompa al +20% farebbe salire il livello dell’acqua troppo in fretta (o viceversa).

Ecco che è necessario aggiungere un coefficiente di proporzionalità che stabilisce un rapporto lineare tra l’errore e l’azionamento della pompa con la seguente formula:

P = e * kP

P = Valore di regolazione attuato dall’operaio P;
e = errore riscontrato;
kP = Coefficiente di proporzionalità. Valori Ammessi: limitiamoli da 0…100.


Cosa vuol dire la formula ???

Ipotizziamo un kP di 1, un errore del 20% avremo: P = e * kP = 20 * 1 = 20, quindi la pompa sarà settata al +20%

Ipotizziamo un kP di 0,1, un errore del 20% avremo: P = e * kP = 20 * 0,1 = 2, quindi la pompa sarà settata al +2%

Ipotizziamo un kP di 4, un errore del 20% avremo: P = e * kP = 20 * 4 = 80, quindi la pompa sarà settata al +80%

Tutto chiaro fin qui ?


A questo punto proviamo a vedere cosa succede al sistema reale, in regime dinamico, simulando varie ipotesi.

Ipotizziamo un tempo di campionamento più basso, diciamo di 1 secondo e simuliamo, con una tabellina, cosa succede ai vari valori del livello dell’acqua, delle regolazioni, etc.

Nella lettura della tabella è necessario tenere presente che l’operaio aspetta il tempo di campionamento, 1 secondo, e in base all’errore riscontrato imposterà il nuovo valore.

Facciamo l’analisi per l’operaio P, con un kP di 1, SetPoint di 100 cm, portata pompa 100 lt/s:

http://www.energialternativa.info/public/newforum/ForumEA/D/Tabellina.jpg



Poiché per stabilizzare il livello dell’acqua bisogna arrivare a 89 secondi, inserisco i valori della tabella in un grafico in modo da riuscire ad effettuare l’analisi in maniera più semplice

http://www.energialternativa.info/public/newforum/ForumEA/D/P-kP1.jpg


Come si può vedere, il livello dell’acqua scenderà fino ad assestarsi a 50,00 cm dopo 89 secondi.
Per kP = 1 la curva dell’errore (rosso bordeaux) e della regolazione della pompa (arancione) coincidono.

Ora ripetiamo l’analisi con kP = 6

http://www.energialternativa.info/public/newforum/ForumEA/D/P-kP6.jpg


Come si può vedere, in questo caso, la regolazione è molto più efficace, il livello si stabilizza molto velocemente dopo 11 secondi a 91,67 cm.

Ora ripetiamo l’analisi con kP = 15

http://www.energialternativa.info/public/newforum/ForumEA/D/P-kP15.jpg


In questo caso, la regolazione ha un comportamento oscillatorio che si smorzerà dopo 14 secondi con un livello dell’acqua di 96,67 cm.

A prima vista il kP del primo grafico semprerebbe troppo basso, quello dell’ultimo grafico troppo alto.

Il secondo grafico sembra funzionare bene, anzi si potrebbe potrebbe cercare di migliorarlo e, infatti, utilizzando un kP = 10 otteniamo il seguente grafico:

http://www.energialternativa.info/public/newforum/ForumEA/D/P-kP10.jpg


Come si può vedere, in questo caso, la regolazione sembra perfetta, il livello si stabilizza molto velocemente a 95,00 cm dopo solo 1 secondo !

In realtà in ogni grafico va notato un valore importante: il valore dell’errore che è proporzionale al kP !

Se osservate bene i grafici, vi rendete conto che il livello dell’acqua è tanto più vicino al nostro SetPoint di 100 cm quanto più è grande il nostro kP.
kP = 1 -> Errore = 50,00 cm
kP = 6 -> Errore = 8,33 cm
kP = 10 -> Errore = 5,00 cm
kP = 15 -> Errore = 3,33 cm

Quindi kP grande equivale a errore piccolo !

Ma utilizzando un kP grande il sistema oscilla, come si fa ???

E qui che entrano in gioco gli altri operai, smorzando le oscillazioni e rendendo il sistema molto molto reattivo e preciso come la piccola piattaforma del video con la pallina.

Per chi volesse sperimentare valori diversi di kP allego il file Excel con le formule impostate: variando il parametro kP potrete sperimentare di persona le curve ottenute !

Utilizzando un kP troppo alto, potrete verificare come il sistema oscillerà senza mai raggiungere un punto di equilibrio.

Anche questa puntata è finita, la prossima faremo qualche simulazione con l’Integrale

Ciao, a presto…


http://www.energialternativa.info/public/newforum/ForumEA/D/Proporzionale_6.xlsx



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!






 

inverter90

Avatar
MegaWatt


Utente
Msg:323

Stato:



Inviato il: 05/02/2015 13:34:33

La storia inizia a diventare sempre piu interessante; ti seguo BellaEli....Faccine/Smileys_0003.gif



---------------
Il niente è impossibile finchè non ci provi!!!


 

inverter90

Avatar
MegaWatt


Utente
Msg:323

Stato:



Inviato il: 05/02/2015 13:40:04

Mi sorge una domanda, ma il kp max(10) dovrà corrispondere a 5v o a 2.5v?



---------------
Il niente è impossibile finchè non ci provi!!!


 

inverter90

Avatar
MegaWatt


Utente
Msg:323

Stato:



Inviato il: 05/02/2015 20:05:22

buona sera a tutti;
BellaEli che ne pensi? sono sulla buona strada?


byte sine256[] =
{
0,0,0,1,1,1,2,2,3,4,5,5,6,7,9,10,11,12,14,15,16,
18,20,21,23,25,27,29,31,33,35,37,39,42,44,46,49,51,54,56,59,
62,64,67,70,73,76,78,81,84,87,90,93,96,99,102,105,108,111,115,118,
121,124,127,130,133,136,139,143,146,149,152,155,158,161,164,167,170,173,176,178,
181,184,187,190,192,195,198,200,200,198,195,192,190,187,184,181,178,176,173,170,167,164,161,
158,155,152,149,146,143,139,136,133,130,127,124,121,118,115,111,108,105,102,99,
96,93,90,87,84,81,78,76,73,70,67,64,62,59,56,54,51,49,46,44,
42,39,37,35,33,31,29,27,25,23,21,20,18,16,15,14,12,11,10,9,
7,6,5,5,4,3,2,2,1,1,1,0,0,0,0
};

#define pwmA 9
#define pwmB 10
int PWM_Out;
int pwm;
void setup()
{
// PWM sui pin 9 e 10 a 31,2KHz
setPwmFrequency(pwmA, 1);
setPwmFrequency(pwmB, 1);

}

void loop()
{
analogWrite(pwmA, PWM_Out);
delayMicroseconds();//settare in base agli igbt usati
analogWrite(pwmB, PWM_Out);
delayMicroseconds();//settare in base agli igbt usati



// lettura partitore su A1
int val = analogRead(A1);//leggi da pin analogico 1
float feedback = val * (5.0 / 1023.0); //converti nella variabile feedback il valore letto su A1

pwm= pgm_read_byte_near(sine256);
PWM_Out= pwm * (1 + ((pwm / 50) - feedback)); // 200*(1+((200/50)-feedback));

}


void setPwmFrequency(int pin, int divisor)
{
byte mode;
if(pin == 5 || pin == 6 || pin == 9 || pin == 10) {
switch(divisor) {
case 1: mode = 0x01; break;
case 8: mode = 0x02; break;
case 64: mode = 0x03; break;
case 256: mode = 0x04; break;
case 1024: mode = 0x05; break;
default: return;
}
if(pin == 5 || pin == 6) {
TCCR0B = TCCR0B & 0b11111000 | mode;
} else {
TCCR1B = TCCR1B & 0b11111000 | mode;
}
} else if(pin == 3 || pin == 11) {
switch(divisor) {
case 1: mode = 0x01; break;
case 8: mode = 0x02; break;
case 32: mode = 0x03; break;
case 64: mode = 0x04; break;
case 128: mode = 0x05; break;
case 256: mode = 0x06; break;
case 1024: mode = 0x7; break;
default: return;
}
TCCR2B = TCCR2B & 0b11111000 | mode;
}
}



---------------
Il niente è impossibile finchè non ci provi!!!


 

BellaEli

Avatar
GigaWatt


MODERATORE
Msg:3286

Stato:



Inviato il: 05/02/2015 20:20:51


CITAZIONE

sono sulla buona strada?


+/-, ma siamo solo al 20% del codice definitivo del PID...

So che sei sulle spine, ma se pubblico il codice completo lo applicheresti senza capirlo.

Devi pazientare !!!



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!






 

scinty

Avatar
GigaWatt


Utente
Msg:734

Stato:



Inviato il: 05/02/2015 20:37:59

non voglio fare il guasta feste ma visto che già vedo che siete sulla buona strada metto un pò di salsiccia e qualche fetta di carne sul fuoco...
va campionata anche la tensione di ingresso, vi spiego il perchè analizzando sempre il mio caso, nel caso sono sopra i 325V nel nodo, il feedback è corretto nel caso in cui il nodo è a una tensione inferiore non vado in distorsione perchè abbasso la tensione in uscita fino a 200Vac se necessario ma mi guardo bene di andare in distorsione,le armoniche alla lavatrice e alla tv non piacciono



---------------
14 pannelli mono da 250Wp 24 pannelli amorfi Sharp da 130Wp banco batterie 48V 225Ah survoltore 5000...

 

inverter90

Avatar
MegaWatt


Utente
Msg:323

Stato:



Inviato il: 05/02/2015 20:55:25

ok ok, ma intanto volevo sapere se almeno sto realmente capendo qualcosa su quello che mi stai spiegando. Quindi per quanto riguarda il PID con il codice appena postato sto facendo lavorare solo l'operaio P giusto?Mancherebbe solo mettere a lavoro gl'altri operai I e D, e come dice Scinty campionare il feedback per avere meno distorsioni possibili..



---------------
Il niente è impossibile finchè non ci provi!!!


 

inverter90

Avatar
MegaWatt


Utente
Msg:323

Stato:



Inviato il: 05/02/2015 20:57:48

CITAZIONE (BellaEli, 05/02/2015 20:55:25 ) Discussione.php?55031252&79#MSG1204


CITAZIONE
sono sulla buona strada?


+/-, ma siamo solo al 20% del codice definitivo del PID...



Gia con questa frase mi è ritornato il sorriso



---------------
Il niente è impossibile finchè non ci provi!!!


 

BellaEli

Avatar
GigaWatt


MODERATORE
Msg:3286

Stato:



Inviato il: 05/02/2015 21:13:00


CITAZIONE

sto facendo lavorare solo l'operaio P giusto?

Giusto, ma hai dimenticato il kP (e anche limitare i valori...)!

CITAZIONE
come dice Scinty campionare il feedback per avere meno distorsioni possibili.

Scinty si riferisce ad altro...

CITAZIONE
metto un pò di salsiccia e qualche fetta di carne sul fuoco...

Mmmmh... che fame !!!



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!






 

inverter90

Avatar
MegaWatt


Utente
Msg:323

Stato:



Inviato il: 05/02/2015 21:50:59

Ok benon.. Vabbo intanto per oggi mi accontento di aver fatto quel piccolo passo in avanti, domani nell'attesa di una nuova lezione vedo di implementare il kP. Limitare i valori in che senso?Ok raga a domani, una buona serataFaccine/Smileys_0008.gif



---------------
Il niente è impossibile finchè non ci provi!!!


 

kekko.alchemi

Avatar
GigaWatt


Utente
Msg:5226

Stato:



Inviato il: 05/02/2015 23:03:14

CITAZIONE (scinty, 05/02/2015 21:50:59 ) Discussione.php?55031252&79#MSG1205


va campionata anche la tensione di ingresso...


Quoto pienamente!



---------------
L'universo è dominato dagli estremi, l'infinitamente grande e l'infinitamente piccolo.
 

BellaEli

Avatar
GigaWatt


MODERATORE
Msg:3286

Stato:



Inviato il: 06/02/2015 00:11:36


CITAZIONE

va campionata anche la tensione di ingresso...


Un valore medio dovrebbe essere più che sufficiente, giusto ?

I picchi dovrebbero essere compensati dal banco condensatori sul ponte, giusto ?

Giusto per anticiparmi i prossimi capitoli della guida...



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!






 

kekko.alchemi

Avatar
GigaWatt


Utente
Msg:5226

Stato:



Inviato il: 06/02/2015 00:20:12

Vanno messe le opportune protezioni, va fatta una campionatura e quindi una media dei valori, considerando il fatto che ci sarà sicuramente un ripple sulla tensione, dovuta all'assorbimento di tipo sinusoidale a 50 Hz. Volendo ti puoi basare anche sul valore più basso rilevato dalla campionatura, che corrisponderà al picco di assorbimento della sinusoide in uscita, con i dovuti sfasamenti, ma anche una media va più che bene.

Kekko



---------------
L'universo è dominato dagli estremi, l'infinitamente grande e l'infinitamente piccolo.
 

inverter90

Avatar
MegaWatt


Utente
Msg:323

Stato:



Inviato il: 07/02/2015 09:28:25

B.giorno a tutti.
BellaEli attendo sempre tuoi aggiornamenti, perche mi sono bloccato..Faccine/Smileys_0032.gif



---------------
Il niente è impossibile finchè non ci provi!!!


 

xardas

Avatar
KiloWatt


Utente
Msg:126

Stato:



Inviato il: 07/02/2015 17:46:58

Buonasera a tutti.

Ciao Kekko mi domandavo se hai novità riguardo il Big inverter da 4KW..
Se il trafo lo stanno realizzando o se tu hai iniziato qualcosa...

In attesa ti mando saluti e grazie mille

Ciao da Xardas



---------------



 
 InizioPagina
 

Pag: (167)  < ...  76   77   78   [79]   80   81   82  ...>    (Ultimo Msg)

Versione Completa!

Home page     TOP100-SOLAR    Home page forum