Se sei già registrato           oppure    

Orario: 07/05/2024 11:36:55  

 

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

VISUALIZZA L'ALBUM

Pagine: (167)  < ...  91   92   93   94   95   96   97   98   99   100   [101]   102   103   104   105   106   107   108   109   110   111  ...>    (Ultimo Msg)


Homemade Inverter "modulo DC/AC"
FinePagina

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 03/04/2015 19:58:45

Ok ok non stavo capendo se non c'e la rete comunque sia lui lavorerà sempre a 50hz...



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

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 03/04/2015 20:01:36


CITAZIONE

Ok ok non stavo capendo se non c'e la rete comunque sia lui lavorerà sempre a 50hz...


Esatto...


Allora idee su come fare ?



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

 

farstar1965

Avatar
KiloWatt


Gruppo:Utente
Messaggi:293

Stato:



Inviato il: 03/04/2015 21:15:29

Devo verificare se c'è tensione e se si verificare quando passa per lo zero ?



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

 

farstar1965

Avatar
KiloWatt


Gruppo:Utente
Messaggi:293

Stato:



Inviato il: 03/04/2015 21:38:05

Metto un tasformatore sull'enel che mi fornisca sul pin di arduino una semionda con picco positivo a 5v picco negativo a 0v e zero a 2,5v così con un solo pin sò se c'è tensione e posso misurare quando l'onda passa per lo zero ?
Ok le mie due ca...te le ho dette.
Vado che ho la nonna a casa che è venuta a trovare i nipotini.

Grazie, Marco.



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

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 03/04/2015 23:59:44

La tua idea di partenza è corretta e, a mio avviso, migliorabile in questo modo:

- Utilizzare un partitore di tensione al posto del trasformatore (es. 1 M Ohm e 10 k Ohm , rapporto 1 a 100, tensione sulla R da 10 k di 2,2 VRms, 3,1 Vpp);

- Far passare il segnale proveniente dal partitore attraverso un filtro passa basso (con operazionali) da 12 dB/Oct con ft = 50 Hz e Q = 0,707, per ripulire il segnale da ogni disturbo;

- Inviare il segnale ripulito ad un circuito di condizionamento a operazionali per far si che la tensione vari tra circa 1 e 4 volt (per avere un po' di margine di sicurezza);

- infine inviare il segnale su un Pin analogico del micro.

Solo che tutto quello descritto riguarda la parte Hardware: sul lato software ancora non ho idea di che direzione prendere...

Potremmo ipotizzare di leggere il valore sul Pin analogico ogni 10 ISR chiamate (circa 0,6 mS, circa 32/34 campioni per sinusoide) ma poi di questi valori che ce ne facciamo ?

Andrebbe implementato un algoritmo che comprende se tali valori stanno crescendo o decrescendo, prendendo una serie di almeno 10 valori per escludere errori di lettura, scartando i valori sotto 1,5 V e sopra 3,5 V per tralasciare i picchi superiori e inferiori della sinusoide.

Una volta capita la direzione potremmo "fare qualcosa" tutte le volte che il valore (quando è in crescita) supera la soglia di 512 (pin analogico va da 0 a 1024, 512 corrisponde a 2,5 V). Anche qui occorre fare una media di 5 / 10 valori per ridurre al minimo errori di lettura.

Ma a questo punto ? In "fare qualcosa" che facciamo ?

Potemmo leggere il valore della variabile "Colonna" (Colonna va da 0 a 320, quando è a "0" stiamo partendo con la nostra sinusoide) e se il valore è inferiore a 160 (siamo in ritardo rispetto la rete Enel, dobbiamo aumentare la frequenza) diminuiamo ICR1, altrimenti lo incrementiamo.

Tuttavia tale controllo lo dobbiamo fare ciclicamente e ogni valore varia nel tempo, complicando ogni cosa...

Per esempio potrebbe capitare che noi siamo a 50 Hz, Enel a 50,5, al primo controllo siamo a 130 (in ritardo e dobbiamo diminuire ICR1), al controllo successivo potrebbe capitare che siamo a 180 (in anticipo e dobbiamo aumentare ICR1). In questa situazione il nostro firmware cercherebbe di agganciarsi alla rete Enel non riuscendoci praticamente mai...

Forse in "fare qualcosa" dovremmo implementare un vero frequenzimetro e, quindi, calcolare il tempo trascorso tra un "fare qualcosa" è il successivo. Poi, per diminuire al minimo gli errori di lettura/calcolo, dovremmo fare una media delle ultime 100 o 1.000 letture effettuate e calcolare la frequenza con la classica formula: F = 1 / T.

A questo punto, poiché noi siamo in grado di calcolare la nostra frequenza di uscita in funzione del valore di ICR1 potremmo dapprima settare ICR1 per sintonizzarsi sulla stessa frequenza della rete Enel e, successivamente, anticipare o ritardare la nostra onda per una perfetta messa in fase.

Voi che ne dite ? Ci sono alternative più semplici ? Sarebbe possibile semplificare le cose, che so, con un modello matematico basato su vettori o qualcosa del genere ?

Non mi abbandonate...



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

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 04/04/2015 08:13:58


CITAZIONE

Non mi abbandonate...

No no ormai ci siamo dentro fino al collo!!

Ora la sparo anch'io una c.......na ...

Pensavo a una soluzione del genere, implementare un secondo micro che oltre ad allegerire i compiti al micro principale per tutte le sicurezze(sottotensione,temperatura,ecc..(vedremo dopo)), legga anche il segnale dalla rete. In questo secondo micro generiamo un segnale pwm a dente di sega sempre con la stessa frequenza 16khz, gli diciamo di comparare i due segnali (ma non so come),e come fa gia variare ISR..
Vediamo se con l'immagine mi spiego meglio..



Immagine Allegata: Disegno1.bmp
 
ForumEA/E/Disegno1.bmp



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

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 04/04/2015 08:32:31

Un qualcosa del genere?


static int F_Out_Old = F_Out; // Dichiarazioni variabili


int LP=F_Out;//lettura precedente

if ((F_Out < LP) || (F_Out > LP)) {
F_Out = map (analogRead (0), 0, 1023, 500, 1500); // *** Debug: collegare potenziometro su Pin A0 per variazione frequenza tra 33,3 a 100 Hz (per A0: 0..5 V)

}
else {
F_Out = Soglia;
}



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

 

scinty

Avatar
GigaWatt


Gruppo:Utente
Messaggi:734

Stato:



Inviato il: 04/04/2015 08:51:04

CITAZIONE (BellaEli, 04/04/2015 08:32:31 ) Discussione.php?55031252&100#MSG1539


x Scinty
Che fine hai fatto ? Tu come hai realizzato il tuo codice ?


sono sempre qua vi seguo in silenzio post,perchè benchè sia libero di condividere informazioni sullo stato dell'arte, le mie idee o le mie realizzazioni, ogni volta dovete andare ad indagare a quale delle 3 appartiene ogni mio post, ma la voglia di condividere è sempre alta e quando condivido è solo per indicarvi le migliori strade già praticate.
ho visto che siete un pò in difficoltà:
X inverter90 il bootstrap è una tecnica semplice per avere una tensione flottante per accendere il mosfet alto,nella pratica si usa un condensatore di ottime qualità in fattore di velocità e di perdite che viene alimentato da una tensione di 15V attraverso un diodo da un lato, mentre dall'altro è collegato a un lato del carico, in questo modo quando uno dei due mosfet inferiori è in conduzione si caricherà a 15v qiundi nel momento in cui il driver alto deve pilotare il mosfet non deve fare altro che chiudere il collegamento tra condensatore e gate visto che già un terminale risulta collegato al source.
Questa soluzione va molto bene in alta tensione rispettando altri parametri, ma in bassa tensione specialmente se non hai l'onda quadra nei mosfet sotto rischi di far esplodere i mosfet superiori in appena 2 minuti di funzionamento.
consiglio fraterno per evitare di spendere molti euri in mosfet è alimentare i driver con tensione duale isolata:positiva per accendere e negativa per spegnere, così in un colpo solo elimini complessi calcoli per il bootstrap, configurazione del pilotaggio, effetto miller, induttanze parassite di ingresso.
per sincronizzarsi scusate ma siete completamente fuori strada, non puoi spingere un treno con uno scooter non ha senso: semplicemente basta fare una routine che campioni la grid e poi pwm = grid*k dove k è un valore tra 0.8 e 0.9, dopo 100 cicli con esito postivo si possono agganciare tranquillamente i relè
ps io non ho arduino nel mio inverter



Modificato da scinty - 04/04/2015, 09:45:37


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

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 04/04/2015 10:38:50


CITAZIONE

sono sempre qua vi seguo in silenzio post,perchè benchè sia libero di condividere informazioni sullo stato dell'arte, le mie idee o le mie realizzazioni, ogni volta dovete andare ad indagare a quale delle 3 appartiene ogni mio post, ma la voglia di condividere è sempre alta e quando condivido è solo per indicarvi le migliori strade già praticate.


Questo è un forum, ognuno fa e dice ciò che vuole (sempre con rispetto) ma non puoi evitare che i tuoi modi "misteriosi" generino, in chi ti legge, il desiderio di capire !
Poi c'è chi lo fa per semplice curiosità, chi è più smaliziato e mette tutto in discussione, ma suppongo che fa parte dei giochi, non vorrai mica prendertela per così poco ?!?

CITAZIONE
per sincronizzarsi scusate ma siete completamente fuori strada, non puoi spingere un treno con uno scooter non ha senso: semplicemente basta fare una routine che campioni la grid e poi pwm = grid*k dove k è un valore tra 0.8 e 0.9, dopo 100 cicli con esito postivo si possono agganciare tranquillamente i relè


Mi spiace ma non ho afferrato il concetto:
La routine che campiona la grid acquisirà dei valori variabili, che me ne faccio ?
PWM, grid e K cosa rappresentano ?

CITAZIONE
ps io non ho arduino nel mio inverter

Suppongo che comunque c'è un micro, in questa fase la scelta di Arduino è dettata dalla semplicità di programmazione e test.

Comunque è un vero piacere leggere che ci segui e ancor di più che ci consigli !!!

Grazie, Eligio



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

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 04/04/2015 11:44:46

X Inverter90

L'idea di utilizzare 2 micro per dividere i compiti non è sbagliata ma è da valutare solo se 1 micro non basta a svolgere le varie operazioni richieste.

Non pensare che dividere i compiti ci semplifichi la vita, anzi forse è il contrario !

Noi dobbiamo scrivere un codice che contemporaneamente fa più cose, come il codice finora scritto: se ci pensi il micro, più o meno contemporaneamente, genera la PWM e ricalcola il vettore, come se fosse un multitasking.

In ogni caso, anche volendo percorrere la tua strada, non hai detto come fai a generare un dente di sega in fase con la rete Enel...



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

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 04/04/2015 12:24:45


CITAZIONE

consiglio fraterno per evitare di spendere molti euri in mosfet è alimentare i driver con tensione duale isolata:positiva per accendere e negativa per spegnere

Ciao Scinty, ma come faccio a portare sul gate prima la positiva e poi la negativa? Cioè intendi prima +15 per accendere il mosfet e poi -5 per spegnerlo, mi potresti spiegare come si fa?

CITAZIONE
In ogni caso, anche volendo percorrere la tua strada, non hai detto come fai a generare un dente di sega in fase con la rete Enel...


E no lo so. Ne sparo un'altra ad esmpio ora abbiamo 16khz campionati in 320 punti, ecco con un'altro micro fare il contraro 50Hz li moltiplichiamo per 320 punti e otteniamo 16khz. Creare un vettore di 320 e il valore di ICR1 (per ricreare l'altro dente di sega) viene dettato da AO(1v a 4v), puo filare come ragionamento?



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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 04/04/2015 13:31:39

Faccine/Smileys_0006.gif per il codice ...è bellissimo.

Io per sincronizzare rilevo l'inizio della semionda positiva.
Per farlo ho alimentato in duale (ne555 che genera una negativa)un piccolo operazionale e comparato la tensione in ingresso con la massa.
L'uscita dell'operazionale viene seguita da diodo e resistenza pull down.
Cosi' facendo ho una quadra perfettamente in sincro con la sinusoide della rete.

Ora il segnale raggiunge il micro che genera un'interrupt (con minore priorità)

Nell'interupt faccio un semplice if.

Se l'indice in quel momento è circa l'inizio o fine sinusoide con la tolleranza da me scelta ,imposto la frequenza a 50Hz.
Altrimenti se sono fuori aumento di +0.25 o riduco di -0.25Hz.

Certo il sicro avrà qualche grado di tolleranza (+-1.8° con 200 step ... ma con il tuo codice molto meno),ma è semplice.

In pratica non faccio calcoli ,ma attendo il sicro

E se la frequenza non è perfettamente 50Hz ....

Bè dobbiamo fare il cambio di barra velocemente ... molto velocemente.

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 04/04/2015 14:10:37

CITAZIONE (inverter90, 04/04/2015 13:31:39 ) Discussione.php?55031252&101#MSG1555

Cioè intendi prima +15 per accendere il mosfet e poi -5 per spegnerlo, mi potresti spiegare come si fa?

Degli ottimi EXB841 (Un grazie a Scinty che mi aperto un mondo con questi driver)...
Ora l'effetto Miller è ridottissimo e non vedo l'ora di misurare il miglioramento nel Toff .

Altra ciliegina per il nostro amato inverter.

Sisi alla alimentazione isolata ,ma non solo per i mosfet superiori ,ma anche per gli inferiori .

Il perchè l'ho scoperto qualche giorno fà ,quando ho dovuto portare uno step down alla rottura.

Bè per ben due volte di seguito il finale si è praticamente fuso con sequenza di esplosione del condensatore di livellamento (tutto programmato ) ,ma ma il driver in entrambi i casi si era salvato !!!

Stupito ho indagato del perchè e la risposta era stupida.

Avevo isolato il driver ed involontariamente lo avevo protetto.

Quindi un bel EXB841 e 4 alimentazioni separate e il gioco è fatto ..

Io non ne farò a meno ...

 

inverter90

Avatar
MegaWatt


Gruppo:Utente
Messaggi:323

Stato:



Inviato il: 04/04/2015 14:44:04


CITAZIONE

Sisi alla alimentazione isolata ,ma non solo per i mosfet superiori ,ma anche per gli inferiori .


Ok perfetto, ma allora posso usare un convertitore flyback per creare le 4 alimentazione separate?

CITAZIONE
Quindi un bel EXB841 e 4 alimentazioni separate e il gioco è fatto ..


Questi vanno bene o sono imitazioni?LINK



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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 04/04/2015 20:46:53

CITAZIONE (inverter90, 04/04/2015 14:44:04 ) Discussione.php?55031252&101#MSG1558


CITAZIONE
Sisi alla alimentazione isolata ,ma non solo per i mosfet superiori ,ma anche per gli inferiori .


Ok perfetto, ma allora posso usare un convertitore flyback per creare le 4 alimentazione separate?


Ripropongo lo schema funzionante e testato .....LINK
http://www.energialternativa.info/public/newforum/ForumEA/D/Schema.jpg

e aggiungo anche lo schema per il sincro ,provato e testato...LINK
http://www.energialternativa.info/public/newforum/ForumEA/D/ArduInverter.jpg

L'unica variante ... è che attualmente stò abbandonando il three level per una semplificazione circuitale grazie all'uso di IGBT da 1200V .

Volevo precisare che il sincro del mio inverter ha il solo scopo di aumentare la vita dei condensatori di livellamento ed evitare fluttazioni sulla tensione RMS quando sono in modalità ibrido.

E' chiaro che con i Dc/Dc step up operanti a f>40Khz il problema è molto ridotto ,diciamo annullato .

Perchè lo faccio ?

Per creare un nodo ed avere la possibilità di rimanere alimentati direttamente dalla rete con efficienza del 98% senza nessuno scambio ..

In pratica il Semiponte H composto da due IGBT 1200V 200A genererà sempre una fase alimentadosi dalla rete (in fase) e se disponibile energia dal banco ,esso avrà priorità data dai diodi (Molto simile al nodo kirchhoff di scinty).
Il semiponte genera una sola fase ,quindi neutro comune e sempre presente ,garantendo il perfetto funzionamento degli interruttori differenziali.

Ciao
Elettro

 
 InizioPagina
 

Pagine: (167)  < ...  91   92   93   94   95   96   97   98   99   100   [101]   102   103   104   105   106   107   108   109   110   111  ...>    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum