| calcola
| Inviato il: 24/7/2013,20:46
|
Se può essere utile allego lo schema di costruzione di una scheda basata su arduino in grado di gestire lo scambio ENEL-FV con gli inverter-UPS.
Preciso che la scheda è stata elaborata per uso personale e per puro diletto. Non sono un tecnico, quindi vi prego di perdonare la crudezza dello schema, che però è funzionante.
I materiali occorrenti sono:
1) www.ebay.it/itm/New-Pro-Mini-atmega...=item48568ae0dc
2) www.ebay.it/itm/130896589016?ssPage...984.m1439.l2649
3) www.ebay.it/itm/5V-One-1-Channel-Re...=item484f323632
4)www.ebay.it/itm/1pcs-DC-DC-Buck-Con...=item337b688f50
5) Due resistenze da 1K ed una da 10K, un diodo zener da 5,1V.
6) una scatola di derivazione grande
7) una basetta millefori
8) due led uno verde ed uno rosso
9) cavi vari e morsetti
In seguito posterò qualche foto della realizzazione e il software da caricare sull'atmega.
Modificato da calcola - 25/7/2013, 09:37
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| | | | Sabin
| Inviato il: 24/7/2013,21:05
|
I link non mi funzionano. Ma nell'Arduino bisogna inserire un software, o c'è qualcosa pronto?
--------------- Inverter UPS Power Star W7 (onda pura) ingresso 24 v... 220V 2 Kw con spunto da 6 Kw? (direi 3Kw) Pannelli 11,1 mq. Wp 1320 (x120 Wp mq)... n° 5 monoc. 72 celle 750 Wp (SO) su MPPT SolarMate 40A n° 3 polic. 60 celle 570 Wp (Sud) su PWM 30A... batterie: 2 coppie SMA (trazione) 24V 120 Ah C/10 (+ 2 avviamento 70Ah) Switch enel/batterie con Arduino Pro Mini
| | | | ElettroshockNow
| Inviato il: 24/7/2013,21:17
|
in molti ti ringrazieranno della condivisione , è un progetto utilissimo .
Ciao e buon progetto ElettroshockNow
| | | | calcola
| Inviato il: 24/7/2013,21:47
|
partitore montato, a destra i morsetti per il collegamento con la batteria, a destra filo marrone per il pin A0 e nero per il GND
Trasformatore con uscita regolabile
Trasformatore collegato ai morsetti d'ingresso corrente batterie, sulla destra si notano i morsetti per i cavi diretti alla bobina del contattore, al centro il neutro del partitore ed il filo marrone per il contatto A0 dell'arduino. Ancora più al centro i cavi di uscita del trasformatore (5,5V) che formano una piazzola alla quale sono collegati due cavi rossi e due neri (alimentazione arduino e zoccolo relè)
Retro della scheda
Sembra un pasticcio, ma in realtà la realizzazione è piuttosto semplice
particolare del collegamento del led verde
Particolare del led bicolore rosso/verde. Il led ha tre poli uno per il rosso da collegare al pin5, uno per il verde da collegare al pin 4 ed uno centrale da collegare a massa mettendo però prima in serie una resistenza da 1K.
Particolare del collegamento dello zoccolo relè, ne ho usato uno con due, ma è sufficiente quello singolo. Lo zoccolo ha bisogno di un positivo 5,5V, un neutro, ed un collegamento al pin 4 di arduino.
Modificato da calcola - 25/7/2013, 09:45
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| | | | calcola
| Inviato il: 24/7/2013,22:05
|
Particolare del collegamento di arduino. Si nota il cavo marrone al pin A0, il neutro del partitore ad un GND, il cavo del sensore relè/led verde al pin4, quello del led rosso pin5, sul retro l'alimentazione arduino. Io ho saldato tutti i pin, ma consiglio di saldare solo i quattro posteriori (Vcc, GND, RX, TX) il pin A0, il pin 4, il 5, ed altri due GND a scelta. Il resto non vi serve e fa solo confusione.
Visione d'insieme di tutti i componenti collegati.
I componenti sono stati incollati su un pezzetto di compensato e poi inseriti dentro una scatola di derivazione per incasso 10 X 15 cm. Il pezzetto di legno è solo incastrato può essere estratto con tutti i componenti.
Una volta data l'alimentazione (funziona a 12V o a 24V è indifferente) l'arduino si accende ed il led lampeggia, quindi tutto OK.
Ai pin posteriori TX, RX, e ad un altro GND libero di arduino è collegata l'interfaccia seriale-USB per caricare il software. Il software è stato caricato e per bassa tensione il led rosso è acceso. Il morsetto verde in basso serve per collegare + e - dalle batterie, quello in alto fornisce la tensione per alimentare la bobina del contattore. La bobina deve funzionare con la tensione uguale a quella delle batterie. Sul coperchio occorre praticare un foro con una punta da 5mm e quindi inserire il led nel foro. Volendo sul coperchio si può inserire anche un interruttore a pulsante o levetta che interrompendo la corrente in ingresso spegne e resetta tutto. A monte anche un fusibile da 2A.
Come vedete è una realizzazione semplice, poco costosa, ma efficiente, chiaramente è una realizzazione di base.
LA SCHEDA E' STATA DA ME COSTRUITA PER PURO DILETTO E STUDIO, CHIUNQUE LA REALIZZA LO FA A PROPRIO RISCHIO, NON POSSO GARANTIRE CHE NON VI SIANO ERRORI, OMISSIONI, DIFETTI DI PROGETTAZIONE.
In seguito le istruzioni per caricare il software ed il listato da copiare.
Modificato da calcola - 26/7/2013, 08:44
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| | | | Sabin
| Inviato il: 25/7/2013,05:57
|
Curiosità! Nel software si potrebbero inserire condizioni orarie? L'arduino ha un orologio? Si potrebbe istruirlo per tenere tensioni più basse la mattina (prima del passaggio a enel) e più alte la sera per lasciare le batterie più cariche?
--------------- Inverter UPS Power Star W7 (onda pura) ingresso 24 v... 220V 2 Kw con spunto da 6 Kw? (direi 3Kw) Pannelli 11,1 mq. Wp 1320 (x120 Wp mq)... n° 5 monoc. 72 celle 750 Wp (SO) su MPPT SolarMate 40A n° 3 polic. 60 celle 570 Wp (Sud) su PWM 30A... batterie: 2 coppie SMA (trazione) 24V 120 Ah C/10 (+ 2 avviamento 70Ah) Switch enel/batterie con Arduino Pro Mini
| | | | calcola
| Inviato il: 25/7/2013,06:49
|
Ha un orologio interno, non ha la batteria per mantenere i dati, di fatto appena spegni si resetta tutto. La cosa migliore è quella di aggiungere un modulo RTC.
Però il progetto che condivido inizia e finisce in quello che ho postato. Se qualcuno intende modificarlo... faccia pure.
La semplice scheda che ho postato è una realizzazione fatta appositamente per il forum, quella che io uso nei due miei impianti è molto più complessa, è dotata di RTC, sonde termiche, ventola di raffreddamento, scheda ethernet, sito web interno, sensori presenza rete... purtroppo la complessità ha richiesto la produzione di un software altrettanto complesso che io non ero in grado di fare, quindi mi sono rivolto ad un amico che mi ha aiutato nella realizzazione, quel software non posso condividerlo. Non è neanche ipotizzabile fare un sequenza fotografica della realizzazione dell'elettronica necessaria, servirebbero decine e decine di foto. Avete il problema di gestire la commutazione? Con quella scheda si risolve e dal software si potranno modificare le soglie, poi una volta trovata la combinazione giusta, non si tocca più.
Modificato da calcola - 25/7/2013, 10:12
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| | | | Sabin
| Inviato il: 25/7/2013,07:01
|
Ottimo! Per iniziare sarebbe già tanto far funzionare questo. Penso che a breve ordinerò i componenti. Mettere il software nell'Arduino per uno che è riuscito a sostituire il firmware di un Fonera, con il DD-WRT dovrebbe farcela.
--------------- Inverter UPS Power Star W7 (onda pura) ingresso 24 v... 220V 2 Kw con spunto da 6 Kw? (direi 3Kw) Pannelli 11,1 mq. Wp 1320 (x120 Wp mq)... n° 5 monoc. 72 celle 750 Wp (SO) su MPPT SolarMate 40A n° 3 polic. 60 celle 570 Wp (Sud) su PWM 30A... batterie: 2 coppie SMA (trazione) 24V 120 Ah C/10 (+ 2 avviamento 70Ah) Switch enel/batterie con Arduino Pro Mini
| | | | calcola
| Inviato il: 25/7/2013,07:27
|
Gli zoccoletti relè, sono di due tipi, apparentemente uguali, ma opposti nel funzionamento.
I due blocchi di relè se non fosse per la "N" e la "P" marcata sopra da me non si distinguerebbero, però come dicevo funzionano all'opposto quindi è necessario distinguerli in quanto se ne deve tenere conto nei collegamenti ai morsetti del relè.
Premetto che tutti e due i tipi richiedono per funzionare di una alimentazione 5,5 V direttamente prelevata dal trasformatore di alimentazione, inoltre per il pilotaggio possiedono un pin per ogni relè. Il tipo che chiamo "P" fa scattare il relè quando sul pin di pilotaggio viene mandata/tolta una tensione di 5V. Il tipo invece "N" fa scattare il relè quando sul pin di pilotaggio viene tolta/mandata la tensione di 5V. Non so se sono stato chiaro, in sintesi il relè "P" scatta quando arriva la 5V sul pin pilota, mentre nel tipo "N" il relè scatta quando viene tolta la 5V.
Come fare a capire se il blocco relè acquistato è del tipo "P" o "N"
Collegate a VCC ed a GND rispettivamente +,- 5,5V poi ponticellate il VCC con il pin pilota se il relè scatta vuol dire che è di tipo "P" se invece scatta ponticellando con GND allora è di tipo "N".
Con relè tipo "N" i cavi del circuito sono collegati ai morsetti NC, mentre nel tipo "P" i cavi vanno collegati ai morsetti NA. I cavi rossi da collegare sono quelli marcati A e B sulle foto.
Modificato da calcola - 10/8/2013, 08:32
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| | | | calcola
| Inviato il: 25/7/2013,08:16
|
Il l'adattatore seriale-USB è necessario per caricare il software e per visualizzare il monitor seriale sul PC.
Sono presenti 4 poli in uscita: rosso, verde, bianco, nero. Isolate il cavo rosso, non serve. Ai restanti cavi collegate tre connettori tipo quelli in foto. Il cavo nero va collegato a qualunque GND libero dell'arduino, mentre il cavo bianco va sul pin "TX0" e quello verde al pin "RX0".
Modificato da calcola - 25/7/2013, 09:35
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| | | | calcola
| Inviato il: 25/7/2013,11:47
|
Dopo aver collegato l'adattatore seriale-usb e dato alimentazione all'arduino collegandolo mediante i morsetti d'ingresso alle batterie, è il momento di caricare il software sul pc, il programma si chiama arduino ide ed è scaricabile gratuitamente da http://arduino.cc/en/Main/Software .
Dopo l'installazione aprire il programma e dalla barra menu' scegliere : Strumenti --> tipo di arduino --> Arduino pro or pro mini 5V, 16 Mhz W/ATMEGA 328. Poi su strumenti --> porta seriale scegliere la porta seriale alla quale è collegata l'interfaccia usb.
Dentro la finestra bianca incollare il seguente listato (con copia - incolla):
//Inizio listato //prodotto da calcola (antrec.geo@yahoo.com)// //ver.3_2 //#include "OneWire.h" #include "Wire.h"
//////////////////////////////// //INIZIO PARTE MODIFICABILE /////////////////////////////// #define tensione_bassa 11.9 //valori: 11.9 (sistema 12V); 23.8 (sistema 24V) #define tensione_alta 13.7 //valori: 13.7 (sistema 12V); 27.4 (sistema 24V) /////////////////////////////// //FINE PARTE MODIFICABILE ///////////////////////////////
#define coefficiente_conversione 0.05620
#define RELAY1 4 //led verde + relè commutazione. Indicatore stato batterie #define RELAY2 5 //led rosso. Indicatore stato rete. #define inputPin (A0) //Sensore tensione collegato al pin analogico 0 #define NUMREADINGS 5 //Il numero indica i valori tensione da leggere #define bassatensione (tensione_bassa/coefficiente_conversione) // Valore della tensione stop batt ritorno rete #define altatensione (tensione_alta/coefficiente_conversione) // Valore tensione stop rete ritorno batt.
int readings[NUMREADINGS]; //Letture dal input analogico int index = 0; //Indice della lettura corrente int total = 0; //Totale letture int average = 0; //Media #define media1 (bassatensione + altatensione)/2 // Media tensione per avvio
void setup() { //Apro la comunicazion seriale Serial.begin(57600); Wire.begin(); pinMode(RELAY1, OUTPUT); pinMode(RELAY2, OUTPUT); pinMode(inputPin, INPUT);
{if (analogRead(inputPin) > media1) {digitalWrite(RELAY2, LOW); digitalWrite(RELAY1, HIGH); }
else
{digitalWrite(RELAY1, LOW); digitalWrite(RELAY2, HIGH);} }
for (int i = 0; i < NUMREADINGS; i++) readings[i] = 0; //Mette tutti 0 nell'array
}
void loop()
{ for (int A = 0; A < NUMREADINGS; A++) { total -= readings[index]; //Sottrae l'ultima lettura readings[index] = analogRead(inputPin); //Legge i valori provenienti dal sensore e li salva nell'array total += readings[index]; //Aggiunge la lettura al totale index = (index + 1); //Incrementa l'indice
if (index >= NUMREADINGS) index = 0; //Alla fine dell'array resetta l'indice a 0
average = total / NUMREADINGS; //Calcola la media }
float VoltageReading; float media_avvio; VoltageReading=average*coefficiente_conversione; media_avvio=media1*coefficiente_conversione;
if (VoltageReading < tensione_bassa)
{ digitalWrite(RELAY2, HIGH); delay(200); digitalWrite(RELAY1, LOW); }
else if (VoltageReading > tensione_alta) { digitalWrite(RELAY1, HIGH); delay(200); digitalWrite(RELAY2, LOW);
} Serial.print(" Voltaggio batteria intermedio tra min-max: " Serial.println(media_avvio); Serial.println("-----------" Serial.print(" Voltaggio batteria (media 5 letture): " Serial.println(VoltageReading); //Serial.println(average); Serial.print(" Passa a enel quando minore di: " Serial.println(tensione_bassa); Serial.print(" Passa a batterie quando maggiore di: " Serial.println(tensione_alta); Serial.println("-----------" Serial.println(); delay(2000); } //Fine listato
Il listato deve apparire così come lo vedete sopra.
Ora salvatelo file --> salva con nome scegliete il nome che volete.
Ora siete pronti per caricarlo sulla scheda.
Posizionare il mouse sul secondo pulsante da sinistra (freccetta verso destra) e cliccare, sulla parte bassa della finestra leggete per pochi secondi "compilazione software" e poi "carico" in quell'istante pigiate e rilasciate il pulsante reset presente su arduino (se il caso aiutatevi con un cacciavite). Se tutto va a buon fine leggerete sulla barra in basso dei messaggi una frase di completamento, altrimenti apparirà un messaggio d'errore. In questo caso ripetete l'operazione. Se si blocca durante la fase di compilazione vuol dire che nel copia incolla del programma avete compiuto qualche errore.
Non occorre essere sincronizzati al millesimo con il messaggio di carico del software, diciamo che appena appare schiacciate il pulsante dell'arduino.
Nella parte del listato marcata come modificabile potete cambiare le soglie come volete, attenzione che la virgola del decimale è il punto. Es: 13.2 e non 13,2.
Dopo caricato il software, se tutto funziona, si accenderà il led verde/rosso in base allo stato di carica della batteria.
Potete vedere il buon funzionamento del tutto aprendo la finestra di comunicazione da strumenti --> monitor seriale -->. Appariranno dei valori: tensione batterie, valore intermedio tra la soglia minima e quella massima, la soglia minima di passaggio a enel, la soglia massima di passaggio a batterie.
All'avvio il programma calcola la media del valore tra la soglia minima (passaggio a enel) e massima (passaggio a batteria), se la tensione della batteria è superiore alla media partirà a batterie, se inferiore rimarrà su enel. e passerà a batterie solo quando raggiungerà la soglia impostata per il passaggio a batterie.
Questo è tutto se serve aiuto (non modifiche o miglioramenti) chiedete pure. Buon lavoro!!
P.S. La scheda l'ho costruita l'altro ieri per diletto ed appositamente per il forum per realizzare questa guida, a me non serve, la tengo ancora qualche giorno in prova, poi la smonto per recuperare i componenti. Però, se qualcuno la vuole la posso vendere, metterò una inserzione alla sezione vetrina.
Modificato da calcola - 28/10/2013, 08:00
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| | | | Luca450Mhz
| Inviato il: 25/7/2013,13:59
|
Ottimo progettino! Però calcola vorrei chiederti un particolare.. io con il PPTEA (funzionamento simile) ho avuto grandi problemi con l'alimentazione tramite alimentatore buck come il tuo. Tu lo hai utilizzato sempre così, senza utilizzare almeno condensatori sull'uscita per stabilizzare un po' la tensione? Arduino è "meno sensibile" del PPTEA e funziona senza problemi? Io alla fine ho dovuto fare un circuito con un 7805 per avere 5 volt precisi e stabili. Volevo capire come si comporta Arduino.. altrimenti potrei pensare di cambiare piattaforma hardware!
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048. Batterie: 24 elementi trazione pesante 315Ah C5 48V.
| | | | shadowcaster
| Inviato il: 25/7/2013,14:17
|
@calcola Che dire…sei un genio…
| | | | shadowcaster
| Inviato il: 25/7/2013,14:36
|
@calcola A quanto la venderesti la tua scheda?
| | | | calcola
| Inviato il: 25/7/2013,16:08
|
CITAZIONE ho avuto grandi problemi con l'alimentazione tramite alimentatore buck come il tuo. Tu lo hai utilizzato sempre così, senza utilizzare almeno condensatori sull'uscita per stabilizzare un po' la tensione? Arduino è "meno sensibile" del PPTEA e funziona senza problemi? Al momento ho parecchi progetti in funzione con arduino duemilanove, uno e pro-mini in tutti uso quei piccoli trasformatori, fino ad ora zero problemi, in un anno ne ho bruciati due del vecchio tipo che in ingresso al massimo accettavano i 27-28V, mentre l'impianto FV arriva a 30V durante l'equalizzazione mensile. Arduino accetta in ingresso tensioni da 4,5V fino a 12v, ho visto però che 4,5V sono proprio al limite, mentre a 12V scaldano un po' troppo. Quindi qualsiasi valore compreso tra 5 e 10V va bene. Questo vale per le schede commerciali, mentre chi mi ha dato una mano a fare il software per il funzionamento del mio impianto principale, in occasione delle festività dell'ultimo Natale, mi ha regalato delle schede elettroniche con dentro tutti i circuiti necessari al funzionamento e con già dentro anche ATMEGA328. Bene quelle schede con quei trasformatori non ne vogliono sapere di funzionare, per usarle ho messo un 7805 prima dell'ingresso. Quindi il problema penso che si pone in tutte le schede non commerciali, nelle altre montano qualcosa che le rende meno esigenti.
@Shadowcaster
non è nulla di eccezionale sono pochi componenti saldati, se non fosse per il partitore di tensione si potrebbe costruire con del nastro isolante.
Al momento ci sto ancora giocando poi prima di venderla devo controllare che i componenti non mi siano necessari, in particolare il pro-mini, che uso anche per altre cose ed in caso di guasto... devo poter riparare. In ogni caso non mi interessa guadagnarci, solo il recupero delle spese.
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|