Se sei già registrato           oppure    

Orario: 08/05/2024 00:23:33  

 

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

VISUALIZZA L'ALBUM

Pagine: (167)  < ...  76   77   78   79   80   81   82   83   84   85   [86]   87   88   89   90   91   92   93   94   95   96  ...>    (Ultimo Msg)


Homemade Inverter "modulo DC/AC"
FinePagina

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 11/03/2015 07:16:03

[quote=BellaEli, 11/03/2015 00:21:22 ?Discussione.php?55031252&85#MSG1306]
CITAZIONE



Ho tutto l'occorrente per fare la prova che chiedi, tuttavia guardando il codice il risultato non sarebbe come te lo aspetti !!!

Il primo problema sta nella variabile "valore" che tu hai reso statica: ne avevamo già parlato qualche post addietro, deve per forza di cose essere una frazione della variabile "pwm" !!!

Un altro problema sta nelle 2 formule: "OCR1x = (PWM_Out*pwm)" semmai è "PWM_Out + pwm".


Giusto!E che con tutti questi messaggi sto facendo molta confusione.Ok rileggerò un po tutto! Comunque vai tranquillo non abbiamo tempistiche da rispettare... In ogni caso prima di postare altri codice attendo la fine delle tue delucidanti lezioni...

(Spero non ci siano errori di grammatica)



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

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 11/03/2015 07:18:00

CITAZIONE (scinty, 11/03/2015 07:16:03 ) Discussione.php?55031252&85#MSG1298


chi ci può insegnare l'umiltà è inverter90, lui non ha chiesto la pappa pronta, si è infilato nella discussione partendo da livello zero che più zero non si può, e grazie alla sua caparbia ha inparato tanto.

Grazie del complimento,ma la passione è passione!E soprattutto se sto imparando qualcosa è grazie a voi!



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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/03/2015 12:05:19

Un'altro pezzetto dell'ArduInverter :
http://www.energialternativa.info/public/newforum/ForumEA/D/ArduInverter.jpg
Prevedo che non riesco a farlo entrare in una 100x70 ...
Vabbè ... devo cmq aspettare fine mese per continuarlo .

Cosè ?
E' il modulo centrale dell'inverter gestito ovviamente da Arduino altrimenti lo avrei chiamato PicInverter (ciò na fantasia).

Viene alimentato dai 12V dc prelevati dalla scheda Dc/Dc converter e resta in standby fino a quando il pin ON/OFF viene portato a massa.

A questo punto il micro attraverso l'uscita denominata Dc/Dc invia un comando di accensione al modulo alimentazione ,il quale provvede ad alimentare i 4 driver EXB841 con 4 alimentazione galvanicamente isolate.

Successivamente con un leggero soft-start avvia la foma d'onda in uscita gestendo opportunamente i 4 IGBT e monitorando costantemente la presenza o meno dei segnali errore prevenienti dai driver.
In presenza di tali segnali la scheda và in emergenza ,bloccando il tutto e avvisando l'avaria con il lampeggio del led ERROR ( 1 lamp --errore igbt1 ,2 igbt 2 ... ecc ).
La scheda và in blocco anche se viene rilevato un segnale di massa nel pin SD (ShutDown) segnalato con 5 lampeggi.

Si riavvia solo con un HardReset ,premendo il pulsante Reset su Arduino o togliendo totalmente alimentazione .....

Sono avarie che mai dovrebbero accadere ... speriamo

Invece durante il normale funzionamento un circuito costituito da un operazionale e pochi altri componenti genera un segnale in perfetto sincronismo con l'onda sinusoidale in ingresso (mi devo ricordare .. occhio alla fase).
Lo fà semplicemente comparando la tensione sul piedino + ridotta a 2Vpp con la massa. Se la tensione è superiore a 0V avrò un positivo in uscita ,altrimenti se inferiore a 0V avrò una tensione negativa.
Con un diodo e una resistenza adatto il segnale a livelli TTL compatibili con Arduino .....
Come notate ho dovuto alimentare l'operazionale con una alimentazione duale (grazie NE555) altrimenti anche usando un operazionale RailtoRail non sarei riuscito ad ottenere una perfetta sincronizzazione.
Il segnale sincro verrà usato da arduino per aumentare o ridurre la frequenza in uscita di +-0.2Hz per mettere in fase l'uscita con l'alimentazione di rete.
I condensatori saranno sicuramente riconoscenti

Ciao e buon EA a tutti
ElettroshockNow

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 11/03/2015 15:25:06

Mizzica su sto forum alta ingegneristica, cercherò di farne una cultura!!



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

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 11/03/2015 15:44:06

[quote=BellaEli, 11/03/2015 15:25:06

Infine, nel codice, manca totalmente la parte per generare i segnali di abilitazione a 50 Hz che devono sincronizzarsi col PWM.

Un'ultima cosa: lo sai che l'onda generata dal tuo codice sicuramente non sarà a 50 Hz ??? Non hai inserito alcun controllo dei tempi, la frequenza generata sarà determinata solo dalla velocità di esecuzione delle varie istruzioni !!![/quote]



BellaEli, mancano i segnali di abilitazione a 50hz, intendi la connessione usata da Elettro? Non dovevamo provare a pilotare il ponte h solo con con i 2 segnali pwm?

E toglimi quest'altro dubbio perche 50Hz? Le uscite pwm non sono a 15khz?Faccine/Smileys_0006.gif



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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/03/2015 16:22:50

CITAZIONE (inverter90, 11/03/2015 15:44:06 ) Discussione.php?55031252&86#MSG1311

BellaEli, mancano i segnali di abilitazione a 50hz, intendi la connessione usata da Elettro?

Non intende il mio sincro con la rete .....

Ti dò un suggerimento al 38° secondo


Candenza

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 11/03/2015 16:39:22

38° secondo una frequenza di campionamento di 250microsecondi. E il tempo che impiega un ciclo a 50hz?



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

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 11/03/2015 16:45:46

No un ciclo a 50hz è 20millisecondi



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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/03/2015 17:21:19

Acqua ...
BellaEli si riferisce alla cadenza con cui cambi il duty cycle del pwm.

Al 38° si vede una sinusoide divisa in tante fette chiamati campionamenti (è il tempo di campionamento che si riferisce )

Ad esempio se voglio ricreare una frequenza di 50Hz (quindi un'onda con durata di 20mS) con discreta qualità dovrò suddividerla per 200 volte .
Quindi ogni 1/200 esimo di 20mS (= 100 microS) devo modificare il duty prendendo il valore dalla tabella che appunto contiene i valori di duty per creare la forma dell'onda.

Con il tuo codice questo non avviene .
In uscita otterrai un'onda con forma dipendente dalla tabella e con frequenza dipendente dalla velocità del programma.

La soluzione:
-rallentare il programma
-usare un interrupt timer

la frequenza in uscita resta comunque invariata .... sempre i soliti 15khz (se si potesse fare lo zoom della fetta vedresti un'onda quadra a 15Khz)

Ciao
Elettro

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 11/03/2015 17:24:31


CITAZIONE

Un'altro pezzetto dell'ArduInverter :

Visto a pezzetti faccio fatica ad assemblare il tutto... aspetterò la fine dei lavori.

Naturalmente non posso non farti i complimenti per l'ingegno, l'impegno, la capacità, la voglia di condividere e tutto il resto...

Se posso esserti d'aiuto sono qui !


CITAZIONE
BellaEli, mancano i segnali di abilitazione a 50hz, intendi la connessione usata da Elettro? Non dovevamo provare a pilotare il ponte h solo con con i 2 segnali pwm?

Se vogliamo usare solo 2 segnali PWM il codice non va bene.

Nel tuo codice generi contemporaneamente la semionda superiore ed inferiore, che non è un problema se hai i segnali di abilitazione.

Se vuoi pilotare tutto in PWM devi modificare il codice in modo che da 0 a 10 ms generi la sinusoide superiore, da 11 a 20 ms quella inferiore, da 21 a 30 ms quella superiore e così via.

Altrimenti scoppia tutto !!!


CITAZIONE
E toglimi quest'altro dubbio perche 50Hz? Le uscite pwm non sono a 15khz?


L'uscita PWM a 15 kHz, una volta filtrata, dovrà generare una sinusoide a 50 Hz, giusto ?

Quindi, supponendo che il vettore è formato da 200 elementi, l'istruzione "pwm= pgm_read_byte_near(sine256)" deve essere richiamata ogni:

10 ms / 200 elementi = 50 microsecondi

solo così, la tua uscita PWM una volta filtrata ti restituirà l'onda a 50 Hz...

Giusto ???



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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/03/2015 17:39:16

CITAZIONE (BellaEli, 11/03/2015 17:24:31 ) Discussione.php?55031252&86#MSG1316

Se posso esserti d'aiuto sono qui !

Non mancherà occasione

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 11/03/2015 19:40:43

Grazie raga ora sono di fretta devo andare a lavoro . Domani mattina mi leggo bene le risposte...



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

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 12/03/2015 00:45:16


CITAZIONE

Acqua ...
BellaEli si riferisce alla cadenza con cui cambi il duty cycle del pwm.

Abbiamo scritto il post contemporaneamente, tu l'hai pubblicato qualche istante prima di me...

CITAZIONE
Ad esempio se voglio ricreare una frequenza di 50Hz (quindi un'onda con durata di 20mS) con discreta qualità dovrò suddividerla per 200 volte .
Quindi ogni 1/200 esimo di 20mS (= 100 microS) devo modificare il duty prendendo il valore dalla tabella che appunto contiene i valori di duty per creare la forma dell'onda.

I 200 valori del vettore sono riferiti ad una sola semionda, quindi 400 valori per l'onda intera.

In questo modo devo modificare il valore del duty ogni 50 microS.

La tua è stata semplice distrazione o volevi esprimere un concetto diverso ?



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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 12/03/2015 06:47:11

CITAZIONE (BellaEli, 12/03/2015 00:45:16 ) Discussione.php?55031252&86#MSG1319


Abbiamo scritto il post contemporaneamente, tu l'hai pubblicato qualche istante prima di me...

Sprint finale ..


Per quanto riguarda i campionamenti non mi sono sbagliato.
Io ho creato una tabella di 200 valori di duty contenente tutta l'onda.
In pratica :
0->inizio onda (valore duty pwm = 0 )
50->picco superiore (valore duty pwm =511)
100->inverione polarità (valore duty pwm = 0)
150->picco inferiore (valore duty pwm = 511)
200->come lo zero

Si è vero i valori si ripetono (0->99 = 100->199) ,ma nella mia testa li gestisco meglio con dei semplici if.

A 0 sono tutti spenti
Da 1 a 99 sono nella semionda positiva.
A 100 sono tutti spenti
Da 101 a 199 sono nella semionda negativa
A 200 resetto a 0 e il ciclo ricomincia.

Ho scelto questo sistema perchè mi risultava più semplice per l'impulso di sincronismo esterno .


Tu invece crei una semionda sinusoidale con 200 campioni e la ripeti due volte ,una per la positiva ed una per la negativa ,giusto ?

Sicuramente migliora la definizione dell'onda.

8Khz vs 4 Khz

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 12/03/2015 08:12:35


CITAZIONE

Tu invece crei una semionda sinusoidale con 200 campioni e la ripeti due volte ,una per la positiva ed una per la negativa ,giusto ?

Io non creo niente, , il mio esempio era riferito al vettore postato da inverter90 dove all'indice 0 il valore è 0, all'indice 100 (circa) il valore è 200 (il picco superiore) e all'indice 200 (circa) il valore torna a 0.

Ho scritto "circa" perché non ho contato con precisione tutti i valori, ma dovrebbero essere circa 200, inverter ci confermerà!

Altra domanda: il metodo migliore per modificare il PWM con cadenza fissa è sicuramente utilizzare un interrupt agganciato al timer è richiamato ogni "x" microsecondi, ma in questo caso come fai ad incrementare/diminuire la frequenza di +/- 0,2 Hz per sincronizzarti con la rete Enel ?



Modificato da BellaEli - 12/03/2015, 08:19:03


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

 
 InizioPagina
 

Pagine: (167)  < ...  76   77   78   79   80   81   82   83   84   85   [86]   87   88   89   90   91   92   93   94   95   96  ...>    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum