EnergiAlternativa

Page Index Toggle Pages: 1 ... 125 126 [127] 128 129 ... 219 Send TopicPrint
Very Hot Topic (More than 500 Replies) Homemade Inverter (Read 1253043 times)
kekko.alchemi
Forum Administrator
*****
Offline


EA Lab

Posts: 1690
Location: Tusculum
Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1890 - 30.04.15 at 23:16:34
Print Post  
Per sperimentare un po', ho replicato l'idea di Elettro con il suo inverter ad alta tensione. Ho aggiunto lo setp-up (proprio come sta facendo lui), e integrato il travaso misto di energie rete-batterie.
Devo dire che l'idea è fantastica, pericolosa ma fantastica, la reattività sembra essere addirittura migliore dell'Enel, è davvero impressionante... Buona Visione!!!



PS: Che nessuno provi a replicare le nostre pazzie, giocare con quelle tensione a fili volanti su un tavolo, può essere un pericolo mortale.

Kekko
  
Back to top
 
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1891 - 30.04.15 at 23:47:33
Print Post  
CITAZIONE (BellaEli, 30/04/2015 23:16:34 ) Quote:
Si, in effetti è più semplice a farsi che a dirsi...

In effetti è una sottrazione...ma chi l'avrebbe capita?Smiley

CITAZIONE (BellaEli, 30/04/2015 23:16:34 ) Quote:
L'anomalia sul cambio di segno dovrebbe essere risolvibile creando una sorta di isterisi software.

Esatto...una sorta...basta una variabile che si incrementa se il valore del segno non cambia...arrivati a un valore (esempio 3) c'è il cambio di stato certo. Okkio che questo problema ce l'hai anche con il tuo algoritmo a soglia...il mio esempio non l'ho fatto a caso.



CITAZIONE (BellaEli, 30/04/2015 23:16:34 ) Quote:
Usando hardware esterno, invio un segnale ad onda quadra a un pin digitale. Nella ISR devo semplicemente leggere il valore di quel pin che potrà essere Low o High. Tale lettura dovrebbe essere praticamente istantanea oltre a non impegnare alcuna risorsa del micro.

Si, diciamo un colpo di clock...anche se in linguaggio c viene trasformato in più di qualche istruzione in assembler del processore.



Altra dama...rispondo io anche se dovrei essere il meno preparato...Cheesy
CITAZIONE (BellaEli, 30/04/2015 23:16:34 ) Quote:
- E' in grado l'ADC di lavorare a questo ritmo ?
- Che risorse del micro vengono impegnate ?
- Quanto tempo impi
ega una conversione ?
- Nel momento in cui faccio analogRead(x) e l'ADC impiega 20 uS, il micro aspetta o va avanti ?
- Se ogni 62,5 uS ho necessità di campionare il segnale Enel e quello dell'Inverter per il feedback, l'ADC va in crisi ? Voglio dire, supponendo un tempo di campionamento di 20 uS, l'ADC impiegherà 40 uS per campionare 2 segnali ?

Feci diverso tempo la domanda sui tempi di risposta del convertitore...non mi sembra sia arrivata ma dovrei riguardare...io ne so poco...dovevo studiarlo...ma il tempo è sempre tiranno!
Cmq il discorso è uguale per tutti i processori di un certo tipo e quindi anche se conosco poco l'atmel la storia è :
la conversione impiega diversi colpi di clock (va in parallelo e non 'rallenta' il processore, per capire occorre vedere come viene effettuata una conversione dai processori...se interessa la spiego cmq servono conferme da chi conosce arduino)... tant'è che esistono interrupt che consentono di sapere l'istante in cui è pronto il valore...ed è per questo che è nata la teoria del 'caos' e dell'interpolazione del valore perchè non si sa a priori quando terminerà la conversione...interpreata da alcuni con un BolleVsEli...ma è tutt'altro Cheesy
Al momento non vedo molte strade percorribili ma c'è sempre la possibilità che mi sfugga qualcosa.
La mia curiosità rimane cmq invariata...cioè come hanno fatto gli altri a risolvere questa problematica?
Basta una indicazione...il discorso è architetturale...non serve nemmeno il codice perchè da quello che si vede BellaEli al momento è il migliore a scriverlo.
  
Back to top
 
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:Homemade Inverter "modulo DC/AC"
Reply #1892 - 01.05.15 at 00:05:11
Print Post  
CITAZIONE (kekko.alchemi, 30/04/2015 23:47:33 ) Quote:
Per sperimentare un po'........

:clap.gif::clap.gif::clap.gif:
GRANDEEEEEEEEEEEE .
Ti manca solo la messa in fase ,ma dal banco che hai messo forse bypass il problema.
Anche perché  hai un calo di tensione ridicolo Smiley

Complimenti
Elettro
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:Homemade Inverter "modulo DC/AC"
Reply #1893 - 01.05.15 at 00:09:00
Print Post  
Quote:
Feci diverso tempo la domanda sui tempi di risposta del convertitore...non mi sembra sia arrivata ma dovrei riguardare.

Non ricordo dove ,ma ti ho risposto .
Ricordo anche un intervento di kekko che spiegava il prescaler dell ADC.
Cmq stiamo sui 100uS riducibile a 50uS ... fino a spingersi  al limite a 20uS
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1894 - 01.05.15 at 00:14:47
Print Post  
CITAZIONE (ElettroshockNow, 01/05/2015 00:09:00 ) Quote:
Cmq stiamo sui 100uS riducibile a 50uS ... fino a spingersi  al limite a 20uS

ok, quindi 100us con 10 bit di precisione? Confermi quello che ho scritto sopra, cioè che lavora in parallelo e c'è un interrupt sulla conversione?

I video non li posso vedere...non ho banda...
  
Back to top
 
IP Logged
 
kekko.alchemi
Forum Administrator
*****
Offline


EA Lab

Posts: 1690
Location: Tusculum
Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1895 - 01.05.15 at 00:29:50
Print Post  
Si confermo anch'io! Cmq se cerchi dietro questa cosa l'ho spiegata bene. L'interrupt di fine conversione è impostabile, e la risoluzione di lettura dell'ADC impostabile da prescaler. E' cmq una delle interrupt con più bassa priorità di tutte, come è giusto che sia. In alternativa c'è un flag che viene settato a fine conversione, da andare a leggere quando si vuole (ricordarsi di riportarlo a zero a fine lettura).

Il banco nel video è enorme!! 10.000 uF legati al fatto che stanno nello stabilizzatore del Variac Smiley Con questo banco la messa in fase non serve, ma se voglio calarlo servirà... sto sperimentando la 620V, pazzia, ma che spettacolo! :lol:

PS: Il Grande sei te che l'hai pensata!!
  
Back to top
 
IP Logged
 
BellaEli
Ex Member
****


--------

Gender: Male
Zodiac sign: Leo
Re:Homemade Inverter "modulo DC/AC"
Reply #1896 - 01.05.15 at 02:49:22
Print Post  
CITAZIONE (kekko.alchemi, 01/05/2015 00:29:50 ) Quote:
Per sperimentare un po', ho replicato l'idea di Elettro con il suo inverter ad alta tensione. Ho aggiunto lo setp-up (proprio come sta facendo lui), e integrato il travaso misto di energie rete-batterie.


Detto così sembra che dovevi semplicemente avvitare una lampadina...

Hai realizzato un completo Inverter, è fantastico !!!

Ed anche la reattività e il travaso batterie/Enel lascia senza fiato !!!

Complimenti per tutto !!!



CITAZIONE (NonSoloBolleDiAcqua, 01/05/2015 00:29:50 ) Quote:
basta una variabile che si incrementa se il valore del segno non cambia...arrivati a un valore (esempio 3) c'è il cambio di stato certo.


Semplice ed efficace, grazie per la dritta !!! Wink



CITAZIONE (NonSoloBolleDiAcqua, 01/05/2015 00:29:50 ) Quote:
la conversione impiega diversi colpi di clock (va in parallelo e non 'rallenta' il processore...


Avere la certezza che una conversione non blocca il codice ci permette di pianificare i passi successivi.

Possiamo, ad esempio, lanciare una conversione alla 1a chiamata della ISR, leggere il valore alla 2a chiamata e contemporaneamente lanciare una nuova conversione per acquisirla alla 3a chiamata e così via.

I valori letti sono in ritardo di circa 62,5 uS ma tale ritardo è fisso e ci permette di fare i nostri calcoli



CITAZIONE (NonSoloBolleDiAcqua, 01/05/2015 00:29:50 ) Quote:
per capire occorre vedere come viene effettuata una conversione dai processori...se interessa la spiego cmq servono conferme da chi conosce arduino...


Qualche accenno di teoria, visto che prima o poi dobbiamo affrontare seriamente l'ADC, fa comodo... vai pure con la lezioncina (con software inutile o senza ?!? Tongue )



CITAZIONE (NonSoloBolleDiAcqua, 01/05/2015 00:29:50 ) Quote:
non serve nemmeno il codice perchè da quello che si vede BellaEli al momento è il migliore a scriverlo.


Di la verità, ci sei rimasto male per la storia della media senza vettore ? Prometto che la prossima volta non mi permetto più !!! Tongue



CITAZIONE (ElettroshockNow, 01/05/2015 00:29:50 ) Quote:
Cmq stiamo sui 100uS riducibile a 50uS ... fino a spingersi  al limite a 20uS


A parità di bit, c'è differenza di precisione tra una lettura di 100 o 50 uS ?



CITAZIONE (NonSoloBolleDiAcqua, 01/05/2015 00:29:50 ) Quote:
I video non li posso vedere...non ho banda...


Come non hai banda ?!? Cioè un pazzo come te che frequenta il forum di EA non ha banda ? Forse si tratta di un disservizio temporaneo, non posso credere che hai una connessione così limitata...



CITAZIONE (kekko.alchemi, 01/05/2015 00:29:50 ) Quote:
PS: Il Grande sei te che l'hai pensata!!


Se la memoria non mi inganna, tale soluzione è stata proposta per prima da Scinty...

Ma su 127 (!!!) pagine di topic potrei sbagliarmi...



Ora vorrei tornare un po' al discorso del Sincro, oggi ho fatto qualche altra prova.

Il codice è solo una bozza concettuale scritto senza ottimizzazioni, senza utilizzare #define e mostrando tutti i passaggi per le varie operazioni, proprio per poter scorgere i difetti.

Se ricordate il concetto espresso nella pagina precedente ci sono 3 if:

- Il primo utilizzato solo per l'inizializzazione;
- Il secondo utilizzato quando il segnale in ingresso diventa LOW;
- Il terzo che fa il calcolo del Delta_Time e reimposta il flag per tornare al 2 if.

Bene, il primo if lo eliminiamo inizializzando il valore della variabile Time_Old nella sua dichiarazione (nella ISR):

Code
Select All
static unsigned long Time_New, Time_Old = micros(), Delta_Time;
static float Val, ICR1_Media = 999 * 100.0;
static boolean Flag_Enel = false;
static int ICR1_New;
 



Gli altri 2 if rimanenti sono quindi:

Code
Select All
[color=gray]// Se sono su un fronte di discesa mi rimetto in attesa del fronte di salita[/color]
if (Flag_Enel == false && digitalRead(5) == 0) {
_Flag_Enel = true;
}

[color=gray]// Se sono su un fronte di salita procedo...[/color]
if (Flag_Enel == true && digitalRead(5) == 1) {

[color=gray]// Salvo il valore attuale di micros() per avere la certezza di leggerlo sempre allo stesso punto dell'algoritmo[/color]
_Time_New = micros();


[color=gray]// Poichè il valore micros() si resetta ogni 70 secondi circa, gestisco tale evento saltando il calcolo di una sinusoide.[/color]

if (Time_New < Time_Old) {
_Flag_Enel = false;
_Time_Old = Time_New;
}
else {

_Delta_Time = Time_New - Time_Old;

[color=gray]// Come suggerito da Elettro verifico che il Delta_Time abbia dei valori corretti (Tempi corrispondenti a 45...55 Hz)[/color]

if (Delta_Time > 18181 && Delta_Time < 22222) {

[color=gray]// A questo punto posso procedere a calcolare il valore di ICR1 con la misteriosa formula (Delta_Time / 20 - 1), ma vediamo di spiegarla:

Il Delta_Time rappresenta il periodo della sinusoide Enel, che dovrebbe essere di 20 mS.

Tale sinusoide viene suddivisa in 320 campioni, quindi ogni campione avrà una durata di: Delta_Time / 320 (nel caso di 20 mS, sarà 62,5 uS).

Quanto impiega il Timer 1 a contare fino a 62,5 uS ? Semplice:

62,5 uS / 0,0625 uS (tempo di un ciclo di clock)

quindi 1.000.

Ma il contatore va da 0 a 999, quindi al 1.000 dobbiamo ricordare di sottrarre un 1 !

Quindi, ricapitolando, abbiamo:

ICR1_New = ((Delta_Time / 320) / 0,0625) - 1

ICR1_New = ((Delta_Time / 320) * (1 / 0,0625)) - 1

ICR1_New = (Delta_Time / 320 * 0,0625) - 1

ICR1_New = (Delta_Time / 20) - 1

Giusto ???

Bene, ma dobbiamo ricordarci di lavorare con numeri a virgola mobile:

[i]P.S. Ricordo che noi entriamo un questo laborioso calcolo solo sul fronte di salita, ovvero solo 50 volte al secondo[/i][/color]

_Val = (double(Delta_Time) / 20.0) - 1.0;

[color=gray]// A questo punto abbiamo il tempo impiegato da una singola sinusoide Enel, se vogliamo evitare errori di lettura dobbiamo necessariamente fare una media con il metodo del "[URL=www.energialternativa.org/Public/NewForum/Discussione.php?55031252&126#MSG1938]Calderone[/URL]" ! Ecco di seguito il codice:[/color]

ICR1_Media -= ICR1_Media / 100.0;
ICR1_Media += Val;
ICR1_New = int(round(ICR1_Media / 100.0));

[color=gray]// Utilizzando il metodo della media degli ultimi 100 valori si ottiene un valore ultra-stabile, senza alcuna oscillazione.
Da notare che variando la frqeuenza il valore ICR1_New varierà dapprima rapidamente e man mano che si avvicina al valore definitivo la variazione risulta più lenta.
In ogni caso il valore si stabilizza dopo una manciata di secondi[/color]

[color=gray]// A questo punto non ci resta che variare la frequenza in uscita del nostro inverter per sincronizzarla con quella dell'onda in ingresso ma come ?!?
Riflettendoci bene il nostro valore di ICR1 deve variare lentamente, non di colpo, per evitare distorsioni in uscita, quindi:[/color]

if (ICR1 < ICR1_New) ICR1++;
if (ICR1 > ICR1_New) ICR1--;
else "Ho sincronizzato la frequenza !!!"
 



Ora che abbiamo visto un po' di teoria veniamo alla pratica: le onde hanno frequenza diversa !!!

Non ho ancora scoperto il perchè ma l'onda generata dell'inverter e sincronizzata con l'algoritmo appena descritto è a frequenza leggermente più bassa del segnale in ingresso... Sad

Se qualcuno mi da qualche suggerimento ne sarei davvero felice...
  
Back to top
 
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:Homemade Inverter "modulo DC/AC"
Reply #1897 - 01.05.15 at 05:42:44
Print Post  
CITAZIONE (BellaEli, 01/05/2015 02:49:22 ) Quote:
A parità di bit, c'è differenza di precisione tra una lettura di 100 o 50 uS ?

No , ho eseguito diversi test per campionare la sinusoide e dimezzare il prescaler riduce a metà la velocità di conversione pur mantenendo la stessa precisione.

CITAZIONE (BellaEli, 01/05/2015 02:49:22 ) Quote:
Ma su 127 (!!!) pagine di topic potrei sbagliarmi...

Effettivamente è preistoria Smiley pag 2
http://www.energialternativa.org/Public/NewForum/Discussione.php?55031252&2#MSG2...
CITAZIONE (ElettroshockNow, 01/05/2015 06:21:53 ) Quote:
Ma la vera natura di questa discussione è un'altra .... Cheesy

Sceglierò componenti che mi consentiranno di avere altissimi rendimenti di conversione ,tali da permettermi di creare un punto in Dc dove riversare tutte le energia provenienti da diverse sorgenti ....
(multi sorgente) .... senza scambi e rendendo l'impianto veramente ibrido (salutando il grid tie Smiley )


Successivamente Scinty inscrivendosi al forum confermava che l'idea funzionava da tempo grazie alla sua realizzazione.
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:Homemade Inverter "modulo DC/AC"
Reply #1898 - 01.05.15 at 06:21:53
Print Post  
Quote:
Ma il contatore va da 0 a 999, quindi al 1.000 dobbiamo ricordare di sottrarre un 1 ! 

Forse è  qui ...
O meglio nella gestione dell'ICR.
Secondo me devi lasciare 1000 ,ma potrei sbagliarmi.
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:Homemade Inverter "modulo DC/AC"
Reply #1899 - 01.05.15 at 08:15:49
Print Post  
Per avere 50hz :
Crystal/prescaler/ICR/campioni=16x10E6/1/1000/320= 50Hz
Non capisco il perché del -1 .

Però c'è da dire che nel mio inverter ho configurato l'ICR a 199 rispetto ai 200 calcolati.... e questa cosa mi fa' pensare che sto' sbagliando io .
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
BellaEli
Ex Member
****


--------

Gender: Male
Zodiac sign: Leo
Re:Homemade Inverter "modulo DC/AC"
Reply #1900 - 01.05.15 at 14:47:43
Print Post  
Ho provato a togliere il -1 ma le frequenze sono comunque diverse...

Non ho avuto tempo, ma il prossimo passo è avere la possibilità di incrementare o decrementate ICR1 con dei pulsanti per capire quale valore sincronizza le onde e dove sbaglio nel calcolo...

In ogni caso, come già detto, 1.000 sono il numero di incrementi che dovrà eseguire il Timer 1 per andare in overflow, ma poiché il contatore parte da 0, i 1.000 valori dovrebbero essere 0...999.

Ma se volessi debuggare con Jtag, come suggerito da Kekko, di cosa ho bisogno ?
  
Back to top
 
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:Homemade Inverter "modulo DC/AC"
Reply #1901 - 01.05.15 at 23:59:02
Print Post  
@Scinty .. Ho tarato il sensore corrente per accettare spike fino a 100A.
Sono sufficienti per tutti gli elettrodomestici ed anche per due pompe da 1.5hp avviate in contemporanea e con un buon assorbimento prima dell'avvio ... ma ...
I 100A non sono sufficienti per avviare una smerigliatrice da 1800W  Shocked:

Cavolo ma quanto gli serve ?

Meglio aumentare o creare una limitazione ?

Ciao
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
scinty
Ex Member
****


--------

Gender: Male
Zodiac sign: Aries
Re:Homemade Inverter "modulo DC/AC"
Reply #1902 - 02.05.15 at 10:32:23
Print Post  
Elettro sicuro che il sensore è filtrato bene?? la smerigliatrice di mio padre spika 34A ma molto spuri forse dovuti alle spazzole consumate ma cmq a me la protezione interviene a 10ms tu quanto ce l'hai??
quando avrai il controllo completo del ponte potrai utilizzare igbt piu piccoli perchè per accendere e soprattutto spegnere quella ciabatta sprechi moltissimi joule non permettendoti di arrivare  99%
PS 100 pagine per dire che il mio sistema è pericoloso e che fa acqua da tutte le parti e adesso mi seperate pure in tensione?
PS2 ho i 4 sulvoltori pronti mi sto apprestando a fare il multilevel da 800Vdc
  
14 pannelli mono da 250Wp 24 pannelli amorfi Sharp da 130Wp banco batterie 48V 225Ah survoltore 5000W homemade inverter 6000VA trifase homemade modalità di interconnessione ibrida Scinty-Kirchoff (nodo DC) secondo inverter di supporto mppt inverter Sunny boy 3000(nodo AC)
Back to top
 
IP Logged
 
xardas
Ex Member
*****


La resistenza è una condizione
mentale

Gender: Male
Zodiac sign: Taurus
Re:Homemade Inverter "modulo DC/AC"
Reply #1903 - 02.05.15 at 10:58:45
Print Post  
Allego immagine Modulo IGBT SCR
  
Back to top
 
IP Logged
 
xardas
Ex Member
*****


La resistenza è una condizione
mentale

Gender: Male
Zodiac sign: Taurus
Re:Homemade Inverter "modulo DC/AC"
Reply #1904 - 02.05.15 at 11:06:08
Print Post  
ehi ragazzi;!
Come faccio a caricare una o più immagini?

Sto provando ma non le fa mettere?
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1 ... 125 126 [127] 128 129 ... 219
Send TopicPrint
 

TOP100-SOLAR Galleria Immagini EnergiAlternativa