Se sei già registrato           oppure    

Orario: 23/04/2024 08:16:23  

 

Energia Alternativa ed Energia Fai Da Te > Applicazioni E Realizzazioni Pratiche

VISUALIZZA L'ALBUM

Pagine: (167)  < ...  147   148   149   150   151   152   153   154   155   156   157   158   [159]   160   161   162   163   164   165   166   167    (Ultimo Msg)


Homemade Inverter "modulo DC/AC"
FinePagina

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 17/06/2015 21:07:21

Puoi aprirlo con un normale editor, all'interno c'è il codice dell'emulatore. Per lanciarlo serve la piattaforma di compilazione... dovrebbe andar bene dalla versione 6 in poi. Per lanciarlo devi cmq fare l'eseguibile (che è allegato).
Se hai qualche idea per il feedback o vuoi fornire del codice , ci penso io ad integrarlo!



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

farstar1965

Avatar
KiloWatt


Gruppo:Utente
Messaggi:293

Stato:



Inviato il: 17/06/2015 22:32:57

Se funzionasse cosi ? :
Ho un vettore che contiene i valori di pwm per generare la tensione.
Ho un vettore di dimensioni uguali che contiene la correzione.
All'istante 0 genero il pwm con i valori di riferimento piu il valore di correzione.
Poi vado a misurare l'uscita,
Confronto misurato con atteso e la differenza la vado a mettere nel vettore contenente le correzioni, sia nell'istante 0 che nell'istante 1.
Se la differenza tra misurato e previsto è < a 5% il valore di correzione è zero.
Ricomincio.

Grazie. Marco.



---------------
Più impari più ti rendi conto di quanto sei ignorante.

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 18/06/2015 09:06:52

Ciao Fastar,

Ho riletto più e più volte il tuo msg ma non ho capito.

Provo a descrivere ciò che ho capito così puoi dire dove sbaglio:

C'è il vettore dei valori di riferimento per generare la sinusoide, diciamo 10 elementi .

C'è un altro vettore delle correzioni sempre di 10 elementi.

Il primo valore, all'istante "0" sarà "0" (inizio sinusoide, passaggio per lo "0"), supponiamo che il secondo valore, all'istante 1 sia 30, lo setto come PWM in uscita e leggo il valore di feedback che supponiamo sarà 20, il terzo valore supponiamo debba essere 50: a questo punto, visto che è stato rilevato un errore cosa dovrà essere fatto ?



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

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 18/06/2015 09:14:16

Penso che intenda lavorare istante per istante con una finestra del 5%...se l'errore è inferiore al 5% il feedback dell'errore non entra in azione. Se ho interpretato bene quello che dice, l'algoritmo di farstar si può sovrapporre all'algoritmo alfa modificando la lunghezza della coda (basta 1 solo elemento) e non farlo entrare in azione se l'errore è inferiore al 5%.
Se conferma...procedo e l'implemento entro oggi!



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

farstar1965

Avatar
KiloWatt


Gruppo:Utente
Messaggi:293

Stato:



Inviato il: 18/06/2015 09:29:10

Sono sul cellulofono, vediamo cosa riesco a scrivere:
Il valore pwm sara il valore di riferimento + il valore di correzione, corrézione che andro a salvare sia per l'istante prossimo che per l'istante appena generato da addizionare al valore di riferimento nel prossimo passaggio

PS è dura da cellule stare dietro alla discussione magari quando arrivo a casa provo a scrivere due righe in arduinese



Modificato da farstar1965 - 18/06/2015, 09:32:21


---------------
Più impari più ti rendi conto di quanto sei ignorante.

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 18/06/2015 15:47:01

Come già spiegato, nelle versioni SW già rilasciate, si prende in considerazione un solo valore che rappresenta la sinusoide, si considera cioè la VEff.

http://www.energialternativa.info/public/newforum/ForumEA/E/SinusoideAdUnValore.jpg



Il SW al momento gestisce una sinusoide pura...ma

dalle versioni 2.x verrà gestita la sinusoide reale.

La singola informazione non saràpiù singola, cioè la sinusoide potrà essere rappresentata con un numero più alto di informazioni: esempio di due elementi:

http://www.energialternativa.info/public/newforum/ForumEA/E/SinusoideADueVAlori.jpg



In questo modo gli algoritmi che lavorano singolarmente potranno elaborare due informazioni anzichè una.

Vediamo ad esempio la sinusoide rappresentata da 6 valori:

http://www.energialternativa.info/public/newforum/ForumEA/E/SinusoideASeiVAlori.jpg



I valori, nell'emulatore, saranno modificabili e potranno diventare 100, 200, 255 ( ) , 512 o qualsiasi valori si voglia.

http://www.energialternativa.info/public/newforum/ForumEA/E/SinusoideAdXValori.jpg



Mediante un'architettura del genere, si può iniziare a fare simulazioni con forme d'onda e disturbi qualsiasi!
Se ci sono dubbi...chiedete pure!



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

farstar1965

Avatar
KiloWatt


Gruppo:Utente
Messaggi:293

Stato:



Inviato il: 18/06/2015 17:22:48

Siii vogliamo la versione 2.X

Provo a spiegarmi diversamente, non badate alla sintassi .In arduinese confuso e a memoria questo è quello che ho in mente. Se riuscite a capirlo...sennò insultate pure.

Pwm[9] = (1,2,3,4,5,4,3,2,1) ; //vettore con valori di riferimento del pwm, facciamo finta che ci servono 9 valori

cor [9] =(0,0,0,0,0,0,0,0,0); //vettore con valori di correzione del pwm, idem 9 valori

for (int i = 1 ; i < 10 ; i ++ ) { //creo un loop lungo quanti sono gli elementi del vettore pwm

analogWrite (pindioutput, pwm(i)+cor(i); //genero il pwm con valore di riferimento + correzione

temp = analogRead (pindifeedback) – pwm[i] ; //leggo il valore che mi arriva dal pin di feedback e faccio la differenza (faccio finta per ora che valori del vettore e lettura del pin hanno unita di misura compatibili)

if (temp >= (pwm[i]/100*5) { // se è maggiore del 5% del valore di riferimento

cor[i] = temp; //setto la differenza nel valore coorrente del vettore di correzione al prossimo ciclo avro gia questo valore

cor[i+1] = temp; //setto la differenza nel prossimo valore del vettore di correzione immagino che il prx val avra bisogno della stessa correzione

} //chiudo l'if che assegna i valori se la differrenza è maggiore del 5%

temp = 0 ;


} //chiudo il loop che scorre i vettori



P.S. Non riesco a formattare ne a colorare !



---------------
Più impari più ti rendi conto di quanto sei ignorante.

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 19/06/2015 08:36:57

Chiaro...purtroppo ieri sera sono crollato...nella prossima versione ci sarà anche il tuo algoritmo di feedback!



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 19/06/2015 13:04:37

Allego la versione 1.12 dell'emulatore.
Al suo interno vengono gestiti 3 feedback compreso quello di farstar1965...sempre se sono riuscito ad interpretarlo bene.

Questa la sintesi grafica:

http://www.energialternativa.info/public/newforum/ForumEA/E/FeedbackAlfaBetaStarFar.jpg



Un saluto
Bolle

Scarica allegato

BatteryEmulatorForInverter1_12.zip ( Numero download: 183 )



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

farstar1965

Avatar
KiloWatt


Gruppo:Utente
Messaggi:293

Stato:



Inviato il: 19/06/2015 13:15:40

Questa sera non riesco a guardarlo.
Figli dalla sorella e io e consorte a cena fuori per i mie 50 anni !



---------------
Più impari più ti rendi conto di quanto sei ignorante.

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 19/06/2015 14:45:30

Nono... non ci siamo, non ci siamo...

Vediamo un po':

// ---- Circolar Queue Algoritm...

Beep Beep Beep !!!, Beep Beep Beep !!!

il correttore funziona anche per l’inglese !!!, 3 Beep per ogni errore !!!



// ---- Circolar Queue Algoritm by StarFar1965 (StarFar feedback)-----//

Beep Beep Beep !!!, Beep Beep Beep !!!, Beep Beep Beep !!!, Beep Beep Beep !!!

Ma cos'è sei dislessico ?!? Che di recente hai visto guerre stellari ??? Si chiama Fastar, non StarFar !!!

Comunque secondo me non hai afferrato l'idea di Fastar, tu continui a fare la media, lui no !!!

Lui dice: inserisco il valore di correzione nella cella attuale (il cui valore del PWM in uscita è stato già impostato), così alla prossima sinusoide, allo stesso punto, quando setterò il PWM terrò conto dell'errore gia verificatosi tentando di correggerlo ancor prima che si verifica.

Poi metto il valore dell'errore nella cella successiva così quando andrò ad impostare il valore del PWM in uscita terrò conto dell'errore appena rilevato e cerco di correggerlo.

Fastar ha un approccio puntiforme, senza fare medie, in più utilizza l'errore rilevato per la prossima sinusoide.

Tuttavia credo che il comportamento dell'algoritmo di Fastar sia visibile solo sulla versione 2.x del simulatore.


Un'altra cosa: lasciando il simulatore acceso, senza carico con "Noice" (Beep Beep Beep !!! ho diamine (beep beep beep !!!), un nuovo errore !!!) impostato su VFast, dopo 10/20 minuti (non ho verificato) il simulatore sembra funzionare a scatti, ovvero quando disegna la sinusoide funziona per 0,3 secondi, per altri 0,3 si freeza per ricominciare...

Ora devo scappare, a presto !



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

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 19/06/2015 15:18:24

CITAZIONE (BellaEli, 19/06/2015 14:45:30 ) Discussione.php?55031252&159#MSG2453

Che di recente hai visto guerre stellari ??? Si chiama Fastar, non StarFar !!!

No, non mi piacciono quel tipo di film...


CITAZIONE
Comunque secondo me non hai afferrato l'idea di Fastar, tu continui a fare la media, lui no !!!

volevi vedere se ero attento?
se si porta la lunghezza della coda circolare ad un solo elemento...non si tratta più di media...e fa esattamente quello che dice StarFar...ops farstar!

Ciao fighett(a)ino (va pronunciato all'inglese )



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 19/06/2015 15:47:28

Lo so, lo avevo già pensato, ma resta comunque una forzatura, l'idea di Fastar è un'altra...

Quello che hai scritto nel codice non rispetta quello che ha ipotizzato Fastar nella versione 2.x, o sbaglio ?

Mettendo la coda a 1 elimino la media ma non conservo l'errore per la prossima sinusoide...

Va bene che dai la possibilita di inserire una media "a volo", ma non devi troncare la sua idea: la previsione dell'errore per la sinusoide successiva è il punto cardine del suo feedback !!!



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

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 19/06/2015 18:41:09

Ci riprovo nuovamente...allora, al momento l'emulatore gestisce un solo valore per ogni sinusoide, quindi ipotizziamo solo carichi resistivi che fanno variare la sinusoide.

1.Va calcolato il pwm (fattore moltiplicativo per riottenere la sinusoide che si vuole) per ogni singola sinusoide di ampiezza variabile che quindi dipende (è funzione di) un solo valore.Chiaro?

2.C'è il concetto ( lo so è difficile metabolizzarlo) della coda circolare...se imposto la sua lunghezza uguale ad 1 cioè un semplice vettore formato da un solo elemento dove viene memorizzato l'errore.Chiaro?

3.Quell'errore viene sommato alla sinusoide successiva se l'errore è maggiore del 5%.Chiaro?

Penso di non aver sbagliato l'implementazione del nostro farostar1965 ...faccio l'elettricista posso anche sbagliare!



Modificato da NonSoloBolleDiAcqua - 19/06/2015, 20:31:02


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

zio bapu
Watt


Gruppo:Utente
Messaggi:27

Stato:



Inviato il: 21/06/2015 14:05:41

Allora, scusate avevo fatto casino con le simulazioni, io ho tre modi di comandare il ponte:

symmetric: durante il tempo ON del PWM vengono accesi assieme un mosfet alto e quello opposto basso, durante il tempo OFF vengono accesi l'opposto alto e l'opposto basso. Figure in alto a sinistra.

asymmetric bis: durante il tempo ON vengono accesi assieme un mosfet alto e quello opposto basso, durante il tempo OFF sono tutti spenti. Figure in alto a destra.

asymmetric: viene acceso a 50 Hz un mosfet alto e in PWM quello opposto basso. Figure in basso a destra.

Per il tipo di PWM che uso io va meglio il tipo symmetric, per quello che usate voi evidentemente va bene il tipo asymmetric bis (da quello che ho capito).

Si possono notare le tensioni risultanti in ingresso al trasformatore, la corrente che attraversa il trasformatore e la pendenza della corrente all'interno dell'induttanza di filtro.

Come si nota non e' che c'e' un recupero di energia o una perdita, e' semplicemente un modificare la pendenza della corrente che generera' una tensione efficace differente nei periodi del PWM e quindi nella sinusoide.

I calcoli del PWM non li ho fatti io, ma un utente molto gentile di un altro forum per aiutarmi a capire che metodo utilizzare, la formula che utilizza e':

I=ATAN((V(sin50)-V(tri))*3000)*0.001/pi+0.0005

dove sin50 e' una sinusoide di ampiezza 0.8V e tri e' un'onda triangolare 0-1V di periodo 20us (50kHz)

Immagino sia diversa da quella implementata da voi.

Tutto qua.

Se vi interessa ho trovato un igbt da farnell a 10E, 600V 240A:
http://www.farnell.com/datasheets/1868673.pdf




Immagine Allegata: corrente.png
 
ForumEA/E/corrente.png

 
 InizioPagina
 

Pagine: (167)  < ...  147   148   149   150   151   152   153   154   155   156   157   158   [159]   160   161   162   163   164   165   166   167    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum