EnergiAlternativa

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


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:Homemade Inverter "modulo DC/AC"
Reply #1875 - 29.04.15 at 14:40:16
Print Post  
:wub: inizio a volergli bene .
Oggi l'ho imbellito....



  

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 #1876 - 29.04.15 at 18:58:59
Print Post  
Come promesso ... Il test CORTO NETTO :construction.gif:
  

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
 
farstar1965
Ex Member
**


--------

Gender: Male
Re:Homemade Inverter "modulo DC/AC"
Reply #1877 - 29.04.15 at 19:35:59
Print Post  
Per ora mi ritengo soddisfatto ???

FANTASTICO !
  
Più impari più ti rendi conto di quanto sei ignorante.
Back to top
 
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1878 - 29.04.15 at 20:40:53
Print Post  
Fai rimanere sempre a bocca aperta...

Un consiglio...se hai un pin libero in ingresso darei la possibilità di inserire un ponticello che permette il riavvio dell'inverter dopo una decisa di secondi...al massimo per 3 volte poi va in blocco.
Questa cosa potrebbe essere comoda per gli impianti ad isola quando si inseriscono carichi troppo alti...l'inverter riparte da solo senza che l'utilizzatore vada a premere il pulsantino...per il resto è fantastico!

  
Back to top
 
IP Logged
 
BellaEli
Ex Member
****


--------

Gender: Male
Zodiac sign: Leo
Re:Homemade Inverter "modulo DC/AC"
Reply #1879 - 29.04.15 at 20:47:43
Print Post  
Non ci sono parole, oltre ogni immaginazione... è la prima volta che vedo qualcuno mettere in corto la 220 con tanta semplicità senza alcn danno...

Cmq non mi piace come giochi con la 620 Vdc... perchè per le prove non metti un minimo di protezione ?
  
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 #1880 - 29.04.15 at 21:05:17
Print Post  
Tranquillo ,la 620Vdc è  presente solo nel lato del ponte e se vedi bene non avvicino  le mani neanche a pagamento.
Le avvicino  nel lato 220Vac ed effettivamente avrei potuto migliorare la sicurezza magari usando guanti e pinza .....

Nei prossimo test migliorero' ... sopratutto quando riprendo con una mano .

Cmq mettere in corto la 220 fa' impressione  ....ed  anche se la teoria mi diceva che si poteva fare è  stato uno sforzo non indifferente.

Ora faccio  tutti i corti che mi pare ... anche da 50A  .... Che botto Cheesy

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 #1881 - 29.04.15 at 21:06:45
Print Post  
CITAZIONE (NonSoloBolleDiAcqua, 29/04/2015 21:05:17 ) Quote:
Fai rimanere sempre a bocca aperta...

Un consiglio...se hai un pin libero in ingresso darei la possibilità di inserire un ponticello che permette il riavvio dell'inverter dopo una decisa di secondi...al massimo per 3 volte poi va in blocco.
Questa cosa potrebbe essere comoda per gli impianti ad isola quando si inseriscono carichi troppo alti...l'inverter riparte da solo senza che l'utilizzatore vada a premere il pulsantino...per il resto è fantastico!

Sisi metto metto ,mi piace Smiley
  

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 #1882 - 30.04.15 at 01:25:47
Print Post  
Allora ragazzi, vorrei riprendere un po' il discorso del sincro sospeso un po' di pagine fa.

Avevamo ipotizzato varie soluzioni:

- Un circuito esterno, analogico, che fornisce una tensione proporzionale alla differenza di frequenza: è una soluzione che non mi piace, la vedo poco stabile nel tempo e, in ogni caso, resta il problema della messa in fase;

- Un circuito esterno, digitale, dotato di due frequenzimetri che passano ad arduino un valore digitale che indica la differenza di frequenza e, magari, anche di fase: basato su un quarzo, sarebbe sicuramente più stabile ma resta il problema di far comunicare i due circuiti oltre che sincronizzare le onde;

- Un interrupt, purtroppo con priorità più alta, che calcola la frequenza Enel e sincronizza quella dell'inverter sulla base dei dati calcolati: tutto bello, Elettro ci ha dato una ottima dimostrazione sull'effettivo funzionamento di una soluzione simile, ma continuo a storcere il muso per la questione della priorità...

- Un'altra idea a cui pensavo era quella di utilizzare l'onda Enel, squadrata, come clock del Timer 2, poi ogni secondo si potrebbe leggere il numero raggiunto dal contatore per conoscere la frequenza: troppi problemi, una risoluzione troppo scarsa (1 Hz), il Timer 2 non ha un ingresso dedicato per il clock esterno, avrei dovuto toccare quello del Timer 0 con tutte le conseguenza del caso;

Così pensa e ripensa mi è venuta la seguente idea:

nel mio codice ogni 62,5 uS circa viene richiamarta la funzione ISR che genera l'onda.

La sinusoide Enel ha un periodo di 20 mS vale a dire oltre 300 volte maggiore.

Prendo l'onda Enel, la squadro e la mando ad un ingresso digitale (diciamo il 5) di Arduino.

All'interno della ISR potrei aggiungere il seguente codice (ragioniamo solo concettualmente, non badiamo al codice):

if (digitalRead(5) == 1 && Flag_Enel == 0) {
___Time_Old = micros();
___Flag_Enel = 1;
}

Quindi, appena l'ingresso diventa alto (vuol dire che è appena iniziata la semionda positiva) memorizzo il valore istantaneo di micros() e metto il Flag a 1 per evitare di rientrare nell'if alle successive chiamate della ISR.

A questo punto dobbiamo aspettare che arriva la semionda negativa (segnale 0 su pin 5) e lo facciamo col seguente codice:

if (digitalRead(5) == 0 && Flag_Enel == 1) {
___Flag_Enel = 2;
}

Gli strani valori del Flag servono solo per far capire il concetto...
Come si può osservare, nell'if ci entro solo se sono entrato nell'if precedente e ho quindi sia memorizzato il valore dei microsecondi sul fronte di salita di Enel sia posto il Flag a 1.

A questo punto non mi resta che attendere il successivo fronte di salita per calcolare i microsecondi trascorsi e lo faccio col seguente codice:

if (digitalRead(5) == 1 && Flag_Enel == 2) {
___Time_New = micros();
___Delta_Time = Time_New - Time_Old;
___Time_Old = Time_New;

// A questo punto posso calcolare ICR1 per avere la stessa frequenza di Enel con la seguente formula:

___ICR1_New = (Delta_Time / 20) - 1;

// Prendetela per buona, è un casino spiegarla...

// A questo punto potrei limitare la variabile ICR1_New in un range desiderato (equivalente a 45...55 Hz), infine settare il nuovo valore di ICR1 semplicemente scrivendo:

___ICR1 = ICR1_New;

// Da questo momento le due sinusoidi avranno la stessa frequenza

// Ora abbiamo memorizzato il nuovo valore di microS () del fronte di salita appena rilevato, quindi dobbiamo attendere il livello basso e lo facciamo così:

___Flag_Enel = 1;

// Notare che nel primissimo if ci entriamo solo all'accensione di Arduino.

}

Bene con questo codice Arduino si sincronizza istantaneamente con la frequenza Enel.

Per prova ho collegato un generatore di onda quadra variabile da 20 a 80 Hz e il micro, praticamente istantaneamente, setta la stessa frequenza !

Ci sono ancora una serie di problemi da affrontare ma la strada mi sembra buona, voi che ne pensate ???

I vantaggi di questa soluzione sono la capacità di far fare tutto al micro e la NON necessità di avere altre ISR che potrebbero creare problemi.
  
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 #1883 - 30.04.15 at 08:40:19
Print Post  
Direi ottima .
Una sola ISR che fa' tutto ...mi piace Smiley

Io con la INT1 ho avuto problemi ,problemi generati quando collegava e scollegato il cavo.
E l'errore è  il mio  Sad ...

Io genero una quadra in perfetta fase con la rete e per farlo compara la tensione di rete con la Gnd.
Tutto bello e perfetto ... ,ma quando la spina è  scollegata o nei transienti vengono rilevate tensione sputi che si trasformano in una bella quadra.
Ora ho risolto controllando in tempo tra due interrupt  che deve essere almeno 19mS (non ricordo il  valore preciso).
Se superiore viene eseguita una comparazione a finestra per essere certi che il sincro sia giusto (deve rientrare tra 49 e 51) ....

Ma se per tre volte di seguito rileva frequenze  errate disattiva l'interrupt (forse la farò  riattivare dopo qualche secondo)

Con questo sistema ho risolto ....,ma

potevo evitarlo se invece di comparare la rete a GND la comparato con un valore prossimo al picco.

Avrei evitato l'NE555 per generare  la negativa  e sarei stato praticamente insensibile  (o quasi)  durante l'inserimento.

In sostanza l'INT1 è  una buona soluzione... con un buon hardware dietro, hardware utile anche per la EA001
Elettro Smiley
  

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 #1884 - 30.04.15 at 09:49:58
Print Post  
Quote:
voi che ne pensate ???

è un'ottima idea che ha una discreta precisione...discreta perchè l'uno e lo zero che tu ottieni dalla lettura si porta dietro imprecisione e disturbi che potrebbero essere delle mine.Certo si potrebbero mettere i filtri hardware...che non solo altro che operazione matematiche.Probabilmente vanno sistemate alcune cose...l'algoritmo che si poggia solo su fronti di salita e discesa potrebbe essere instabile...ma abbraccio totalmente la linea di principio.:drunk.gif:


Spero ora sia più chiaro quello che scrissi tempo fa...

CITAZIONE (NonSoloBolleDiAcqua, 09/04/2015 22:13:19 ) Quote:
La butto li, si potrebbe fare la derivata prima della sinusoide enel.In questo modo si ottengono i punti dove la curva cambia pendenza cioè dove sono zero (o prossimi allo zero), in questo modo si infila il massimo e minimo della sinusoide. Così facendo si conoscerebbero i valori (min, max ed incrocio degli assi (cambio di segno) ) ed il gioco è fatto. Si calcola in modo istantaneo fase e vmax . Per fare le cose per bene si può anche prevedere l'andamento e semmai correggere l'imperfezione anche ipotizzandola in anticipo, un bel algoritmo di kalman e ciao ciao disturbi!
Vi piace la cosa? Smiley


se ne può parlare e ,se il BellaEli è d'accordo, far vedere  almeno a livello teorico alcuni concetti che possono far ridurre i problemi/instabilità.


Indipendentemente dalla strada che intrapresa, l'unico dubbio che ho,  dovuto alla poca conoscenza di arduino o ancor meglio all'atmel,  è la lettura del convertitore...cioè quella digitalRead se è in grado di leggere l'ultimo valore arrivato oppure attende la fine della lettura...insomma...semmai va gestita questa parte, però tutto sembra funzicare.
:clap.gif::clap.gif::clap.gif:
  
Back to top
 
IP Logged
 
BellaEli
Ex Member
****


--------

Gender: Male
Zodiac sign: Leo
Re:Homemade Inverter "modulo DC/AC"
Reply #1885 - 30.04.15 at 12:32:22
Print Post  
CITAZIONE (ElettroshockNow, 30/04/2015 09:49:58 ) Quote:
Ora ho risolto controllando in tempo tra due interrupt  che deve essere almeno 19mS.


Si, è qualcosa che ho già considerato come indicato nel commento:

// A questo punto potrei limitare la variabile ICR1_New in un range desiderato (equivalente a 45...55 Hz)

infatti nel codice ho scritto qualcosa del genere:

if (ICR1_New < 900
  
Back to top
 
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1886 - 30.04.15 at 13:01:14
Print Post  
CITAZIONE (BellaEli, 30/04/2015 12:32:22 ) Quote:
Ora sicuramente Bolle dirà: "Vi avevo avvertiti !!!"


Beh, possiamo fare qualcosa del genere:

ipotizzando che ICR1 sia 999, inizializziamo la variabile long Calderone = 99.900.

poi facciamo qualcosa del genere:
sono 4 Byte contro 200 Byte (ipotizzando un vettore di int): ho risparmiato il 98% della memoria, ti ho battuto !!!

ma...ma...ma così non vale...bravo...bravissimo!!!Cheesy
  
Back to top
 
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1887 - 30.04.15 at 15:47:00
Print Post  
Spendo due righe sul concetto che ho esposto sopra...cioè sulla sinusoide ottenuta da valori discreti e la sua derivata (utile come il pane e salame). Apparentemente può sembrare una cosa complicata che coinvolge chissà quali operazioni ...ma di fatto è molto molto banale.
Il tutto si basa sul concetto del rapporto incrementale quindi una sottrazione ed una divisione...ma se il divisore è 'invariante' ( così battezzato dall'entità virtuale)  possiamo farlo diventare uno...e a quel punto, evitando anche la divisione, la derivata si trasforma in una semplice sottrazione di due valori...(vettori? memoria persa? ma anche no Tongue )!

Allego il foglio excel da cui ho estratto il grafico...i valori sono di una sinusoide che arriva in modo discreto, più o meno come farebbero i dati prelevati dal convertitore...potrei fare un softwarino (che non serve a nulla)  per completarlo mediante gli errori e far vedere cosa combina una sorta si semplicissimo algoritmo...ma spero basti l'esempio...ma se insistete...Cheesy

Di fatto si ottiene, nei cambi di segno, un massimo ed un minimo (questo implica frequenza,fase,vmax, vmin e tanto altro) avendo un semplice segnale anche non centrato, anche messo a ciufolo ...senza quindi dividerlo in positivo e negativo , hardware esterno etc etc



Il concetto vale per la sola sinusoide ma funzica anche per tutte le funzioni discrete, cioè per tutti quei dati che arrivano singolarmente uno dopo l'altro (qundi non espressi in formula matematica).


Bolle

PS1:Spero di essere stato chiaro in questa mia risposta, più o meno velata, che riguarda la presunta pesantezza dell'algoritmo. Smiley

PS2:Notare quell'anomalia sul cambio di segno...deve far riflettere nell'adottare algoritmi a soglia.

PS3:Conviene impegnarsi  nel SW se questo consente di risparmiare l'hardware...visto che, come dico ai miei ragazzetti:
"il software non esiste, è una pura illusione!"

#####ALLEGATO-[/IMG][/IMG]?1550[/IMG]
  
Back to top
 
IP Logged
 
BellaEli
Ex Member
****


--------

Gender: Male
Zodiac sign: Leo
Re:Homemade Inverter "modulo DC/AC"
Reply #1888 - 30.04.15 at 16:58:21
Print Post  
CITAZIONE (NonSoloBolleDiAcqua, 30/04/2015 15:47:00 ) Quote:
Apparentemente può sembrare una cosa complicata che coinvolge chissà quali operazioni ...ma di fatto è molto molto banale.


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

L'anomalia sul cambio di segno dovrebbe essere risolvibile creando una sorta di isterisi software.

Quello che non conosco, invece è la seguente cosa:

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.

Usando l'ADC per campionare l'onda dell'Enel, lasciando invariata la mia idea, il segnale Enel dovrà essere campionato ogni 62,5 uS circa:

- E' in grado l'ADC di lavorare a questo ritmo ?
- Che risorse del micro vengono impegnate ?
- Quanto tempo impiega 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 ?

Inoltre il concetto mi permette di realizzare, via software, un sofisticato squadratore hardware ma resta comunque da aggiungere tutto il discorso per la messa in fase e frequenza !


Insomma è la solita storia, faccio come la formica: sto cercando di mettere il cibo da parte per quando arriverà l'inverno !!!

Risparmio risorse per non trovarmi stretto più avanti...


In ogni caso il concetto è chiaro e molto valido.
  
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 #1889 - 30.04.15 at 22:28:00
Print Post  
Siete tutti pronti?? Sta arrivando... Smiley
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1 ... 124 125 [126] 127 128 ... 219
Send TopicPrint
 

TOP100-SOLAR Galleria Immagini EnergiAlternativa