Se sei già registrato           oppure    

Orario: 19/05/2024 07:02:16  

 

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

VISUALIZZA L'ALBUM

Pagine: (167)  < ...  117   118   119   120   121   122   123   124   125   126   [127]   128   129   130   131   132   133   134   135   136   137  ...>    (Ultimo Msg)


Homemade Inverter "modulo DC/AC"
FinePagina

kekko.alchemi

Avatar
GigaWatt


Gruppo:Utente
Messaggi:5226

Stato:



Inviato il: 30/04/2015 23:16:34

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



---------------
L'universo è dominato dagli estremi, l'infinitamente grande e l'infinitamente piccolo.
Ma l'equilibrio è ciò che plasma la materia di cui siamo fatti.
by kekko

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 30/04/2015 23:47:33

CITAZIONE (BellaEli, 30/04/2015 23:16:34 ) Discussione.php?55031252&126#MSG1941


Si, in effetti è più semplice a farsi che a dirsi...

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

CITAZIONE (BellaEli, 30/04/2015 23:16:34 ) Discussione.php?55031252&126#MSG1941

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 ) Discussione.php?55031252&126#MSG1941

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...
CITAZIONE (BellaEli, 30/04/2015 23:16:34 ) Discussione.php?55031252&126#MSG1941

- 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
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.



Modificato da NonSoloBolleDiAcqua - 01/05/2015, 00:04:01


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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 01/05/2015 00:05:11

CITAZIONE (kekko.alchemi, 30/04/2015 23:47:33 ) Discussione.php?55031252&127#MSG1943

Per sperimentare un po'........


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

Complimenti
Elettro

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 01/05/2015 00:09:00


CITAZIONE


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

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 01/05/2015 00:14:47

CITAZIONE (ElettroshockNow, 01/05/2015 00:09:00 ) Discussione.php?55031252&127#MSG1946


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...



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

 

kekko.alchemi

Avatar
GigaWatt


Gruppo:Utente
Messaggi:5226

Stato:



Inviato il: 01/05/2015 00:29:50

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 Con questo banco la messa in fase non serve, ma se voglio calarlo servirà... sto sperimentando la 620V, pazzia, ma che spettacolo!

PS: Il Grande sei te che l'hai pensata!!



Modificato da kekko.alchemi - 01/05/2015, 00:33:09


---------------
L'universo è dominato dagli estremi, l'infinitamente grande e l'infinitamente piccolo.
Ma l'equilibrio è ciò che plasma la materia di cui siamo fatti.
by kekko

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 01/05/2015 02:49:22

CITAZIONE (kekko.alchemi, 01/05/2015 00:29:50 ) Discussione.php?55031252&127#MSG1943


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 ) Discussione.php?55031252&127#MSG1944

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 !!!



CITAZIONE (NonSoloBolleDiAcqua, 01/05/2015 00:29:50 ) Discussione.php?55031252&127#MSG1944

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 ) Discussione.php?55031252&127#MSG1944

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 ?!? )



CITAZIONE (NonSoloBolleDiAcqua, 01/05/2015 00:29:50 ) Discussione.php?55031252&127#MSG1944

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ù !!!



CITAZIONE (ElettroshockNow, 01/05/2015 00:29:50 ) Discussione.php?55031252&127#MSG1946

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 ) Discussione.php?55031252&127#MSG1947

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 ) Discussione.php?55031252&127#MSG1948

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):


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:


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

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

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


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

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

_Delta_Time = Time_New - Time_Old;

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

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

// 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:

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

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

// 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 "Calderone" ! Ecco di seguito il codice:

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

// 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

// 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:

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...

Se qualcuno mi da qualche suggerimento ne sarei davvero felice...



Modificato da BellaEli - 01/05/2015, 03:04:28


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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 01/05/2015 05:42:44

CITAZIONE (BellaEli, 01/05/2015 02:49:22 ) Discussione.php?55031252&127#MSG1949


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 ) Discussione.php?55031252&127#MSG1949

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

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

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 )


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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 01/05/2015 06:21:53


CITAZIONE


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.

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 01/05/2015 08:15:49

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 .

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 01/05/2015 14:47:43

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 ?



Modificato da BellaEli - 01/05/2015, 16:24:40


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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 01/05/2015 23:59:02

@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

Cavolo ma quanto gli serve ?

Meglio aumentare o creare una limitazione ?

Ciao

 

scinty

Avatar
GigaWatt


Gruppo:Utente
Messaggi:734

Stato:



Inviato il: 02/05/2015 10:32:23

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)

 

xardas

Avatar
KiloWatt


Gruppo:Utente
Messaggi:126

Stato:



Inviato il: 02/05/2015 10:58:45

Allego immagine Modulo IGBT SCR

 

xardas

Avatar
KiloWatt


Gruppo:Utente
Messaggi:126

Stato:



Inviato il: 02/05/2015 11:06:08

ehi ragazzi;!
Come faccio a caricare una o più immagini?

Sto provando ma non le fa mettere?

 
 InizioPagina
 

Pagine: (167)  < ...  117   118   119   120   121   122   123   124   125   126   [127]   128   129   130   131   132   133   134   135   136   137  ...>    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum