Se sei già registrato           oppure    

Orario: 28/03/2024 10:24:30  

 

Energia Alternativa ed Energia Fai Da Te > Solare Fotovoltaico

VISUALIZZA L'ALBUM

Pagine: (3)   [1]   2   3    (Ultimo Msg)


il mio piccolo ibrido da 300Wp (isola+grid)
FinePagina

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 2/1/2013,13:46

Ciao a tutti........
Vi presento il mio ibrido (isola+grid) ,nato grazie ai vostri consigli letti qui e là nel forum.
Il progetto nasce con l'esigenza di avere luci nottturne a costo zero (sarebbe bello è)
e quindi dopo aver calcolato l'energia che mi occorreva durante la notte (circa 6 lampioni da 10 W x 10 ore =600W) ho optato per un pannello da 300Wp in grado di garantirmi le mie 10 ore notturne di luce con solo 2 ore di irraggiamento solare.....quindi ....tataaaaaa
http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Solar300Wp%20vista%20frontale.jpg
http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Solar300Wp%20vista%20laterale.jpg

I pannelli ricaricano il banco batterie composto da 4 AGM da 40Ah (con un accumulo di energia teorico di 600W in grado di garantirmi 3 giorni di piena oscurità .......metti caso la fine del mondo faccine/biggrin.gif )
http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Solar300Wp%20dettaglio%20batterie.jpg

Le batterie sono sotto la copertura gialla (Bella vè faccine/wub.gif )
http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Solar300Wp%20vista%20posteriore.jpg

I CONTI NON TORNANO......... faccine/tongue.gif
In teoria l'impianto sarebbe finito .....mancano solo il regolatore di carica e modificare l'impianto esistente per raggiungere i lampioni con la 24V (Non volevo perdere neanche il 10% dell'efficienza dell'eventuale inverter faccine/biggrin.gif ,sò purciaro faccine/rolleyes.gif )
Ma cosi facendo avrei caricato (nei bei giorni di sole ) le batterie diciamo in 3 ore e per il resto della giornata l'energia prodotta dai pannelli sarebbe servita solo a scaldare il culo dei piccioni.....quindi perche non deviare i pannelli ad un inverter grid... faccine/clap.gif

Nell'unità esterna vediamo il regolatore di carica e due relè che deviano i pannelli dal regolatore ad una seconda linea che raggiungerà l'inverter posto in una zona coperta..

http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Solar300Wp%20dettaglio%20regolatore.jpg

L'unita interna composta da una scheda arduino (il PPTEA lo possedo solo ORA) gestisce i relè esterni .
In pratica quando sente le batterie al 75% eccita il primo relè deviando 200Wp all'inverter grid e quando raggiunge il 100% devia anche i restanti 100Wp all'inverter.
Comunque resta un collegamento tra i pannelli e il regolatore con un diodo ed una resistenza in maniera tale da mantenere funzionante la parte crepuscolare del regolatore (Con 15Euro pure il crepuscolare te danno faccine/dry.gif )


L'impianto è operativo da questa estate e oltre a regalarmi il PIACERE di vedere le luci accendersi come per magia faccine/wub.gif ha prodotto circa 90Kwh ........
Sembrano pochi ,ma tra averli e non averll son 180 faccine/rolleyes.gif ...

Torniamo alla presentazione .....
Il cervello è un Arduino Mega (è provvisorio )il quale visualizza lo stato dell'impianto e mi crea un Log dove memorizzza gli orari di attivazioni dei relè oltre alla temperatura batterie (a che me serve bò....)orario accenzione e spengimento luci e livelli batteria in tutte le fasi .
Mi consente anche mi variare le soglie di intervento nella funzione automatica oppure operare in manuale

http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Solar%20controller%20unit%20open.jpg
http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Solar%20controller%20unit%20dettaglio.jpg

Questa è la versione provvisoria in quando tutto il progetto è provvisorio.....
Nella mia mente mi frulla un IBRIDO da 1,5Kwp gestito completamente via Ethernet (notate il tanto spazio a disposizione e lo switcher faccine/laugh.gif ) con trasmissione via radio (modulo tx ed rx già pronti ------si vedono in foto) per dei monitor remoti faccine/wub.gif semplici ed intuitivi .............

Ecco la kicca........

Il mio giardino esigente di luce è stato soddisfatto con :


n°4 lampade Led 1x10W

http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/1x10W.jpg

n°1 lampada Led 4x3W piana

http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/4x3W%20piani.jpg

n°1 lampada Led 4x3W Omni

http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/4x3W%20omni.jpg

n°1 lampada Led 7x1W Omni

http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/7x1W.jpg

n°1 lampione 2x10W

http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Lampione%202x10W.jpg

Tutti i led vengolo gestiti da moduli step down in grado da essere alimentati con un range di alimentazione ampio (da 14 a 35V) mantenendo inalterati i lux.....allo scaricare delle batterie (che vengono staccate a 21V dal regolatore)
I Led vengono gestiti a tensione costante faccine/cry.gif (pericolo)))))ma ben al di sotto della corrente massima (circa il 70%) per recuperare anche la potenza eventualmente persa dalla restitenza di misurazione del driver .....(spero di essere stato chiaro faccine/sick.gif )



 

bodo81

Avatar
MegaWatt


Gruppo:Utente
Messaggi:337

Stato:



Inviato il: 2/1/2013,13:49

bravo ElettroshockNow faccine/clap.gif hai fatto un bel lavoro, pulito e preciso faccine/wink.gif

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 2/1/2013,14:11

Oggi mi ritengo soddisfatto... faccine/construction.gif ma solo oggi perchè domani arrivano 12 pannelli da 100W ......................MEGA IBRIDO IN MENTE (see altro post).

Ciao a tutti e come voi avete aiutato a me io sono super disponibile ad aiutarvi (smpre nel limite delle mie potenzialità faccine/w00t.gif )


SALUTI da ElettroshockNow

CIAO GRANDIIIIIIII

Grazie bodo81 faccine/wink.gif




Modificato da ElettroshockNow - 13/11/2013, 11:38
 

Vinss
MegaWatt


Gruppo:Utente
Messaggi:507

Stato:



Inviato il: 2/1/2013,14:56

Complimentissimi!

 

uomodeicavalli

Avatar
milliWatt


Gruppo:Utente
Messaggi:16

Stato:



Inviato il: 2/1/2013,15:01

Ciao ElettroshockNow bello il tuo impianto...mi sono fatto pure io un impianto più o meno ibrido ,(una...molto brutta copia rispetto al tuo) grazie a questo strabiliante forum( e nemmeno so come sia riuscito a far funzionare tutto al primo colpo senza aver la minima infarinatura di corrente e di fotovoltaico....mah miracolo!!!! Cmq (se guardi nella pagina principale ho postato qualche foto con relative domande sulla coesistenza tra 2 impianti 12 e 24 v ,senza dover smontare il primo da 12v..ma ancora senza risposte esaurienti ) ora veniamo alla questione che mi serve...ho comprato altro materiale tipo pannelli e inverter più potente, regolatori ecc ecc x ampliare l'impianto tra cui il famoso arduino uno, che a quanto pare, sembra funzioni tipo il PPtea che usano i famosi KeKKO e Bolle...e mi piacerebbe riuscire in qualche modo ad automatizzare l'impianto tramite pc .oppure poter avere almeno i dati della produzione sullo schermo.solo che come dicevo in precedenza...sono un profani dell'elettronica, tuttavia mi affascina,senzaltro avrai scritto il programma di arduino x il suo funzionamento...ti chiedevo umilmente ...potresti farmi avere una copia
del programma e l'elenco dei componenti..tipo rele e altre diavolerie che servono?
Ovviamente...non pretendo una risposta immediata..fai con calma x ora il sole non c'è.......grazie faccine/bye2.gif

 

Aquila 1
KiloWatt


Gruppo:Utente
Messaggi:181

Stato:



Inviato il: 2/1/2013,15:21

Bell'impiantino complimenti!!!
Volevo farti una semplice domanda alla fine della discussione dici che anche se varia la tensione i lumen restano uguali, almeno questo è il senso. La domanda è come hai misurato i lumen delle lampade che hai costruito?
Ciao

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 2/1/2013,15:51

Sono in dovere:
A portata di mano ho i schemi buttati giù su carta .....poi appena ho tempo li aggiornerò.
http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Schema%20principio.jpg
http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Schema%20interfaccia%20Arduino.jpg
http://www.energialternativa.info/Public/NewForum/ForumEA/pptea/ForumEA/Schema%20collegamento%20interfaccia%20arduino.jpg

Arriva anche il software Arduino.........please wait

//----------------------------------------------------------
//LIBRERIE DA CARICARE
#include <eeprom.h>
#include <time.h>
#define TIME_MSG_LEN 11 // time sync to PC is HEADER followed by unix time_t as ten ascii digits
#define TIME_HEADER 'T' // Header tag for serial time sync message
#define TIME_REQUEST 7 // ASCII bell character requests a time sync message
#include <liquidcrystal.h>
#include <dfr_key.h>
//----------------------------------------------------------



//---------------------------------------------------------
//ASSEGNAZIONE PIN e CARATTERI SPECIALI LCD
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
#define BACKLIGH_PIN 10
byte heart[8] = {
 0b00000,
 0b01010,
 0b11111,
 0b11111,
 0b11111,
 0b01110,
 0b00100,
 0b00000
};

byte gradi[8] = {
 0b00010,
 0b00101,
 0b00010,
 0b00000,
 0b00000,
 0b00000,
 0b00000,
 0b00000
};

byte frownie[8] = {
 0b00000,
 0b00000,
 0b01010,
 0b00000,
 0b00000,
 0b00000,
 0b01110,
 0b10001
};

byte armsDown[8] = {
 0b00100,
 0b01010,
 0b00100,
 0b00100,
 0b01110,
 0b10101,
 0b00100,
 0b01010
};

byte armsUp[8] = {
 0b00100,
 0b01010,
 0b00100,
 0b10101,
 0b01110,
 0b00100,
 0b00100,
 0b01010
};

int Rele1 = 11;
int Rele2 = 12;
int Luci_Notturne = 13;

//----------------------------------------------------------


//-----------------------------------------------------------
// VARIABILI
DFR_Key keypad;
String keyString = "";
int localKey = 0; //Select-1;Left-2;Up-3;Down-4;Right-5;
int pagina = 0; //PAGINA DEFAULT DA VISUALIZZARE SULL'LCD
float Soglia_Rele1 = 27.8;
float Soglia_Rele2 = 27.9;
float Soglia_Rilascio = 24.5;
float Tens_Batt_Max = 0;
float Tens_Batt_Min = 30;
float Temp_Batt_Max = 0;
float Temp_Batt_Min = 100;
int Reset_Val = LOW;
int Controllo = LOW;

int Settaggi = LOW;
int Salvare = LOW;
int READADRS = 0;
int PagTens = 1;
int PagTemp = 1;
int PagTerm = 1;
int PagStor = 1;
int RegOra = 1;
int Timeout = 0;
int pag = 7;

//-------VALORI INIZIALI DELLO STORICO
int ADRS = 61;//DEFAULT 1 ;NOTE:INSERIRE 1 + 20 X (GIORNI GIA' SALVATI) ES:61 LASCIA IN MEMORIA I PRIMI 3 GIORNI
byte TOFF1=6;//DEFAULT 0
byte TOFF2=0;//DEFAULT 0
byte VOFF1=24;//DEFAULT 0
byte VOFF2=0;//DEFAULT 0
byte TRL11=0;//DEFAULT 0
byte TRL12=0;//DEFAULT 0
byte TRL21=0;//DEFAULT 0
byte TRL22=0;//DEFAULT 0
byte TON1=0;//DEFAULT 0
byte TON2=0;//DEFAULT 0
byte VON1=0;//DEFAULT 0
byte VON2=0;//DEFAULT 0

//------------------------------------------------------------

void setup()
{
 lcd.createChar(0, heart);
 lcd.createChar(1, gradi);
 lcd.createChar(2, frownie);
 lcd.createChar(3, armsDown);
 lcd.createChar(4, armsUp);
 setTime(13,29,00,06,11,2012);
 lcd.begin(16, 2);
 pinMode(Luci_Notturne, INPUT);
 pinMode(Rele1, OUTPUT);
 digitalWrite(Rele1,LOW);
 pinMode(Rele2, OUTPUT);
 digitalWrite(Rele2,LOW);
 pinMode(BACKLIGH_PIN, OUTPUT);
 digitalWrite(BACKLIGH_PIN, HIGH);
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Controllo Solare");
 lcd.setCursor(0,1);
 lcd.print("By ElettroshockNow");
 delay(1000);

 /*
 OPTIONAL
 keypad.setRate(x);
 Sets the sample rate at once every x milliseconds.
 Default: 10ms
 */
 keypad.setRate(50);

}

void loop()
{


//--------------------------------------------------------------
/*misura-campiona-converte il valore ampere dall ' ACS712
 collegato a A1
 Tabella conversione sensore +-5 A = 0.02642
 +-20A = 0.04887
 +-30A = 0.07405
 */
 //float amper = 0;
 //for(int i = 0; i < 50; i++) {
 // amper = amper + ((analogRead(A1) -512) * 0.04887) / 50;
 //}
//--------------------------------------------------------------


//------------MISURAZIONE TENSIONE BATTERIA------------------
 float Tens_Batt = 0;
 for(int i = 0; i < 50; i++) {
 Tens_Batt = Tens_Batt + (analogRead(A1) * 0.04);
 }
 Tens_Batt = Tens_Batt/50;
 if (Tens_Batt > Tens_Batt_Max ) Tens_Batt_Max=Tens_Batt;
 if (Tens_Batt < Tens_Batt_Min ) Tens_Batt_Min=Tens_Batt;



//-------------------------------------------------------------


//------------MISURAZIONI TEMPERATURE-------------------

 float Temp_Batt = 0;
 for(int i = 0; i < 50; i++) {
 Temp_Batt = Temp_Batt + (analogRead(A5) * 0.488758) / 50 ;
 }
 if (Temp_Batt > Temp_Batt_Max ) Temp_Batt_Max=Temp_Batt;
 if (Temp_Batt < Temp_Batt_Min ) Temp_Batt_Min=Temp_Batt;


 float Temp_inH2O = 0;
 for(int i = 0; i < 50; i++) {
 Temp_inH2O = Temp_inH2O + (analogRead(A6) * 0.488758) / 50 ;
 }

 float Temp_outH2O = 0;
 for(int i = 0; i < 50; i++) {
 Temp_outH2O = Temp_outH2O + (analogRead(A7) * 0.488758) / 50 ;
 }

//--------------------------------------------------------------

//--------------CONTROLLO RELE'---------------------------------

if (Tens_Batt > Soglia_Rele1 & Controllo==HIGH) digitalWrite(Rele1,HIGH);

if (Tens_Batt > Soglia_Rele2 & Controllo==HIGH) digitalWrite(Rele2,HIGH);

if((Tens_Batt < Soglia_Rilascio | digitalRead(Luci_Notturne) == HIGH ) & Controllo==HIGH ) {
 digitalWrite(Rele1,LOW);
 digitalWrite(Rele2,LOW);
 }





//-------------------------------------------------------------

//-----------------CREA STORICO e SALVALO-------------------------------
//---------------------ALLE ORE 23:00-------------------------------
 if (hour() != 22) Salvare = HIGH;
 if (hour()== 22 & Salvare == HIGH) {
 EEPROM.write(ADRS,day());
 EEPROM.write((1+ADRS),month());
 EEPROM.write((2+ADRS),TOFF1);
 EEPROM.write((3+ADRS),TOFF2);
 EEPROM.write((4+ADRS),VOFF1);
 EEPROM.write((5+ADRS),VOFF2);
 EEPROM.write((6+ADRS),TRL11);
 EEPROM.write((7+ADRS),TRL12);
 EEPROM.write((8+ADRS),TRL21);
 EEPROM.write((9+ADRS),TRL22);
 EEPROM.write((10+ADRS),TON1);
 EEPROM.write((11+ADRS),TON2);
 EEPROM.write((12+ADRS),VON1);
 EEPROM.write((13+ADRS),VON2);

 TOFF1=0;TOFF2=0;VOFF1=0;VOFF2=0;TRL11=0;TRL12=0;TRL21=0;TRL22=0;TON1=0;TON2=0;VON1=0;VON2=0;
 ADRS = ADRS + 20;

 Salvare = LOW;
 }

 if (digitalRead(Luci_Notturne) == LOW & TOFF1==0 & TOFF2==0){
 TOFF1=(hour());
 TOFF2=(minute());
 int intero=Tens_Batt;
 VOFF1=intero;
 VOFF2= (Tens_Batt - intero)* 100;
 }

 if (digitalRead(Luci_Notturne) == HIGH & TOFF1!=0 & TOFF2!=0 & TON1==0){
 TON1=(hour());
 TON2=(minute());
 int intero=Tens_Batt;
 VON1=intero;
 VON2= (Tens_Batt - intero)* 100;
 }

 if (digitalRead(Rele1) ==HIGH & TRL11==0 & TRL12==0){
 TRL11=(hour());
 TRL12=(minute());
 }

 if (digitalRead(Rele2) ==HIGH & TRL21==0 & TRL22==0){
 TRL21=(hour());
 TRL22=(minute());
 }

//------------------------------------------------------------

//-------------------------------------------------------------
//SELEZIONA IL NUMERO PAGINE E LA PAGINA DA VISUALIZZARE
 localKey = keypad.getKey();
 if (Settaggi==LOW)pag=8;else pag=12;
 if (pagina < pag & localKey==3) pagina++;
 if (pagina > 0 & localKey==4) pagina--;
 //if (pagina==11) digitalWrite(BACKLIGH_PIN, LOW);
 //else digitalWrite(BACKLIGH_PIN, HIGH);
 if (pagina==4 & localKey==5) Controllo=HIGH;
 if (pagina==4 & localKey==2) Controllo=LOW;
 if (pagina==8 & localKey==5) Settaggi=HIGH;
 if (pagina==8 & localKey==2) Settaggi=LOW;
 if (pagina==10 & localKey==5) Soglia_Rele1=Soglia_Rele1+0.05;
 if (pagina==10 & localKey==2) Soglia_Rele1=Soglia_Rele1-0.05;
 if (pagina==11 & localKey==5) Soglia_Rele2=Soglia_Rele2+0.05;
 if (pagina==11 & localKey==2) Soglia_Rele2=Soglia_Rele2-0.05;
 if (pagina==12 & localKey==5) Soglia_Rilascio=Soglia_Rilascio+0.05;
 if (pagina==12 & localKey==2) Soglia_Rilascio=Soglia_Rilascio-0.05;
 if (pagina==5 & localKey==2 & Controllo==LOW){
 if(digitalRead(Rele1)==LOW)digitalWrite(Rele1,HIGH);
 else digitalWrite(Rele1,LOW);}
 if (pagina==5 & localKey==5 & Controllo==LOW){
 if(digitalRead(Rele2)==LOW)digitalWrite(Rele2,HIGH);
 else digitalWrite(Rele2,LOW);}
//--------------------------------------------------------------

//-----------Reinposta la pagina iniziale -------
//----------- e spegne LCD dopo il Timeout--------------------
 Timeout++;
 if(localKey==1 |localKey==2 |localKey==3 |localKey==4 |localKey==5) {
 Timeout=0;
 digitalWrite(BACKLIGH_PIN, HIGH);
 }
 if(Timeout >200) pagina=0;
 if(Timeout >500) {
 digitalWrite(BACKLIGH_PIN,LOW);
 Settaggi=LOW;}

//--------------------------------------------------------------

 delay(100);//ritardo di refresh (attenzione varia anche il Timeout)

//----------------------------------------------------------------------------------------------------------------------------------------
//GRAFICA LCD
switch (pagina){

case 0 :
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print(hour());
 if (second()&1 == 1){
 lcd.print(":");}
 else{
 lcd.print(" ");}
 if ((minute())<10)lcd.print("0");
 lcd.print(minute());
 lcd.print(" ");
 lcd.print(day());
 lcd.print("/");
 lcd.print(month());
 lcd.print("/");
 lcd.print(year());
 lcd.setCursor(0, 1);
 lcd.print("Batt=");
 lcd.print(Tens_Batt,1);
 lcd.print("V ");
 lcd.print(Temp_Batt,0);
 lcd.write(1);
 lcd.print("C");

 break;


case 1 :

 lcd.clear();
 lcd.setCursor(0, 0);
 switch(PagTens){

 case 1:
 lcd.print(" TENSIONE");
 lcd.setCursor(0, 1);
 lcd.print ("BATTERIA=");
 lcd.print(Tens_Batt,1); //daa notare il ,1 che significa un decimale)
 lcd.print("V");
 break;

 case 2:
 lcd.print ("Tens_Max=");
 lcd.print(Tens_Batt_Max,1); //daa notare il ,1 che significa un decimale)
 lcd.print ("V");
 lcd.setCursor(0, 1);
 lcd.print ("Tens_Min=");
 lcd.print(Tens_Batt_Min,1); //daa notare il ,1 che significa un decimale)
 lcd.print ("V");
 break;

 case 3:
 lcd.print("Push Select for");
 lcd.setCursor(0, 1);
 lcd.print ("Reset MIN/MAX");
 if (localKey==1) {
 Tens_Batt_Max = 0;
 Tens_Batt_Min = 30;
 };
 break;
 }

 if(PagTens < 3 & localKey==5) PagTens++;
 if(PagTens > 1 & localKey==2) PagTens--;
 if(Timeout > 50) PagTens=1;
 PagTemp = PagTerm = RegOra = 1;

 break;

case 2 :

 lcd.clear();
 lcd.setCursor(0, 0);
 switch (PagTemp){

 case 1:
 lcd.print(" TEMPERATURA");
 lcd.setCursor(0, 1);
 lcd.print ("BATTERIA=");
 lcd.print(Temp_Batt,0);
 lcd.write(1);
 lcd.print("C");
 break;

 case 2:
 lcd.print ("Temp_Max=");
 lcd.print(Temp_Batt_Max,1); //daa notare il ,1 che significa un decimale)
 lcd.write(1);
 lcd.print ("C");
 lcd.setCursor(0, 1);
 lcd.print ("Temp_Min=");
 lcd.print(Temp_Batt_Min,1); //daa notare il ,1 che significa un decimale)
 lcd.write(1);
 lcd.print ("C");
 break;

 case 3:
 lcd.print("Push Select for");
 lcd.setCursor(0, 1);
 lcd.print ("Reset MIN/MAX");
 if (localKey==1) {
 Temp_Batt_Max = 0;
 Temp_Batt_Min = 100;
 };
 break;
 }

 if(PagTemp < 3 & localKey==5) PagTemp++;
 if(PagTemp > 1 & localKey==2) PagTemp--;
 if(Timeout > 50) PagTemp=1;
 PagTens = PagTerm = RegOra = 1;

 break;

case 3 :

 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print(" LUCI NOTTURNE");
 lcd.setCursor(0, 1);
 if (digitalRead(Luci_Notturne) == HIGH) lcd.print("*****ACCESE*****");
 else lcd.print("-----SPENTE-----");
 PagTens = PagTemp = PagTerm = RegOra = 1;

 break;

case 4 :

 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("CONTROLLO SOLARE");
 lcd.setCursor(0, 1);
 if (Controllo==LOW) lcd.print ("----MANUALE----");
 else lcd.print("***AUTOMATICO***");
 PagTens = PagTemp = PagTerm = RegOra = 1;
 break;

case 5 :

 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("RELEƇ= ");
 if(digitalRead(Rele1) ==LOW) lcd.print("APERTO");
 else lcd.print("CHIUSO");
 if(Controllo==HIGH) lcd.print(" *");
 lcd.setCursor(0, 1);
 lcd.print("RELEƈ= ");
 if(digitalRead(Rele2) ==LOW) lcd.print("APERTO");
 else lcd.print("CHIUSO");
 if(Controllo==HIGH) lcd.print(" *");
 PagTens = PagTemp = PagTerm = RegOra = 1;
 break;

case 6 :

 lcd.clear();
 lcd.setCursor(0, 0);
 switch(PagTerm){

 case 1 :
 lcd.print("PANNELLO SOLARE");
 lcd.setCursor(0, 1);
 lcd.print (" SANITARIO ");
 break;

 case 2:
 lcd.print("TEMPERATURA H2O");
 lcd.setCursor(0, 1);
 lcd.print ("INGRESSO=");
 lcd.print(Temp_inH2O,1);
 lcd.write(1);
 lcd.print ("C");
 break;

 case 3 :
 lcd.print("TEMPERATURA H2O");
 lcd.setCursor(0, 1);
 lcd.print ("USCITA=");
 lcd.print(Temp_outH2O,1);
 lcd.write(1);
 lcd.print ("C");
 break;

 case 4:
 lcd.print("TEMP MAX/MIN IN");
 lcd.setCursor(0, 1);
 //lcd.print (" Gradi=");
 //lcd.print(Temp_inH2O,1);
 break;

 case 5:
 lcd.print("TEMP MAX/MIN OUT");
 lcd.setCursor(0, 1);
 //lcd.print (" Gradi=");
 //lcd.print(Temp_inH2O,1);
 break;

 }

 if(PagTerm < 5 & localKey==5) PagTerm++;
 if(PagTerm > 1 & localKey==2) PagTerm--;
 if(Timeout > 100) PagTerm=1;
 PagTens = PagTemp = RegOra = 1;

 break;

case 7 :
 lcd.clear();
 lcd.setCursor(0, 0);

 if (READADRS == 0) {
 lcd.print(" STORICO");
 lcd.setCursor(0, 1);
 if (ADRS == 1)
 lcd.print ("NON DISPONIBILE");
 else
 lcd.print(" DISPONIBILE");
 if (localKey==1 & ADRS > 1) READADRS=ADRS - 20;
 PagStor = 1;

 }
 else {
 lcd.print("MEMO DEL ");
 lcd.print(EEPROM.read(READADRS));
 lcd.print(" ");
 lcd.print(monthShortStr(EEPROM.read(1+READADRS)));
 lcd.setCursor(0, 1);

 switch (PagStor){

 case 1:
 lcd.print("OFF=");
 if ((EEPROM.read(2+READADRS))<10)lcd.print("0");
 lcd.print(EEPROM.read(2+READADRS));
 lcd.print(":");
 if ((EEPROM.read(3+READADRS))<10)lcd.print("0");
 lcd.print(EEPROM.read(3+READADRS));
 lcd.print(" ");
 lcd.print(EEPROM.read(4+READADRS));
 lcd.print(".");
 lcd.print(EEPROM.read(5+READADRS));
 lcd.print("V");
 break;

 case 2:
 lcd.print("T=");
 if ((EEPROM.read(6+READADRS))<10)lcd.print("0");
 lcd.print(EEPROM.read(6+READADRS));
 lcd.print(":");
 if ((EEPROM.read(7+READADRS))<10)lcd.print("0");
 lcd.print(EEPROM.read(7+READADRS));
 lcd.print(" T1=");
 if ((EEPROM.read(8+READADRS))<10)lcd.print("0");
 lcd.print(EEPROM.read(8+READADRS));
 lcd.print(":");
 if ((EEPROM.read(9+READADRS))<10)lcd.print("0");
 lcd.print(EEPROM.read(9+READADRS));
 break;

 case 3:
 lcd.print("ON=");
 if ((EEPROM.read(10+READADRS))<10)lcd.print("0");
 lcd.print(EEPROM.read(10+READADRS));
 lcd.print(":");
 if ((EEPROM.read(11+READADRS))<10)lcd.print("0");
 lcd.print(EEPROM.read(11+READADRS));
 lcd.print(" ");
 lcd.print(EEPROM.read(12+READADRS));
 lcd.print(".");
 lcd.print(EEPROM.read(13+READADRS));
 lcd.print("V");
 break;

 }
 }




 if (Timeout > 50)READADRS=0;
 PagTens = PagTemp = PagTerm = RegOra = 1;
 if (localKey==2 & READADRS > 1) READADRS = READADRS - 20;;
 if (localKey==5 & READADRS > 1 & (READADRS+20) < ADRS) READADRS = READADRS + 20;;
 if (localKey==1)PagStor++;
 if (PagStor == 4 )PagStor = 1;

 break;


case 8 :

 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("----SETTAGGI----");
 lcd.setCursor(0, 1);
 if (Settaggi==LOW)lcd.print("**NO** SI ");
 else lcd.print (" NO **SI**");
 PagTens = PagTemp = PagTerm = RegOra = 1;
 break;

case 9 :

 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print(hour());
 if (second()&1 == 1){
 lcd.print(":");}
 else{
 lcd.print(" ");}
 if ((minute())<10)lcd.print("0");
 lcd.print(minute());
 lcd.print(" ");
 lcd.print(day());
 lcd.print("/");
 lcd.print(month());
 lcd.print("/");
 lcd.print(year());
 lcd.setCursor(0, 1);

 switch (RegOra){

 case 1:
 lcd.print("--REGOLA ORA ?--");
 break;

 case 2:
 lcd.print("*-*-*-ORA-*-*-*");
 if (localKey==5) adjustTime(3540) ;
 if (localKey==2) adjustTime(-3540) ;
 case 3:
 lcd.print("-*-*-MINUTI-*-*-");
 if (localKey==5) adjustTime(60);
 if (localKey==2) adjustTime(-60) ;
 break;

 case 4:
 lcd.print("-*-*-GIORNO-*-*-");
 if (localKey==5) adjustTime(86400);
 if (localKey==2) adjustTime(-86400) ;
 break;

 case 5:
 lcd.print("*-*-*-MESE-*-*-*");
 if (localKey==5) adjustTime(2592000);
 if (localKey==2) adjustTime(-2592000) ;
 break;

 case 6:
 lcd.print("*-*-*-ANNO-*-*-*");
 if (localKey==5) adjustTime(31536000);
 if (localKey==2) adjustTime(-31536000) ;
 break;
 }
 if(localKey==1) RegOra++;
 if(RegOra==7 | Timeout > 50) RegOra=1;
 PagTens = PagTemp = PagTerm = 1;

 break;

case 10 :

 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("- TENS. SOGLIA +");
 lcd.setCursor(0, 1);
 lcd.print(" RELEƇ=");lcd.print(Soglia_Rele1,2);

 break;

case 11 :

 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("- TENS. SOGLIA +");
 lcd.setCursor(0, 1);
 lcd.print(" RELEƈ=");lcd.print(Soglia_Rele2,2);

 break;

case 12 :

 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("- TENS. SOGLIA +");
 lcd.setCursor(0, 1);
 lcd.print(" RILASCIO=");lcd.print(Soglia_Rilascio,2);

 break;


}

//-----------------------------------------------------------------------------------------------------------------
}


Per Aquila1 :
Mi sono basato sul datasheet dei LED.
Ad esempio il Led da 10W può essere pilotato in corrente fino a 1000mA e in questo caso emetterà circa 800Lm.
A 800mA dal diagramma emette circa 600Lm più che sufficienti per i miei scopi.
A questo punto con un amperometro in serie al LED regolo il driver (LM2556) in maniera tale da avere 800mA di assorbimento ......
-attendo la climatizzazione...
-confermo la corrente assorbita......
-misuro la tensione ai capi del Led (di solito circa 9,2V).
-A questo punto riduco la tensione e disconnetto l'amperometro
-riconnetto il Led senza l'amperometro
-regolo la tensione hai capi del led (quella misurata in precedenza).

E' vero che risulta pericoloso per il led non avere un feedback sull'assorbimento ma con le dovute tolleranze funziona ....

La non variazione dei Lm è data dal fatto che il driver LM2556 (alimentatore stepdown da 1,5Euro su E---y faccine/clap.gif ) piloterà il led sempre con la stessa tensione indipendentemente da quella in entrata .



 

Luca450Mhz

Avatar
GigaWatt


Gruppo:Utente
Messaggi:3204

Stato:



Inviato il: 23/1/2013,14:21

Ciao,
complimenti per l'impianto!
Volevo farti un paio di domande per le luci led che hai fatto.
Nella spiegazione dell'ultimo post dici che regoli il driver LM2556 per emettere una certa corrente (guardando quello che viene assorbito). Ma l'LM2556 dovrebbe essere un generatore di tensione, non di corrente. Quindi di preciso cosa regoli in questo circuito? Perchè poi dici che regoli la tensione ai capi del led.. sempre agendo sull'LM2556?

P.S. I led dove li hai acquistati? Ho visto che su sito surplus ce ne sono di belli e non costano molto..



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

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 23/1/2013,22:02

Ciao Luca450Mhz e grazie

CITAZIONE
Ma l'LM2556 dovrebbe essere un generatore di tensione, non di corrente

Esatto,infatti io regolo la tensione hai capi del led .
1)La procedura che ho riportato è per leggere la tensione direttamente hai capi del diodo quando scorre la corrente desiderata (per i 10W farò scorrere 800mA e leggerò circa 9,2V).
2)Successivamente tolgo l'amperometro in serie al led e lo connetto direttamente all'LM2556.
Se adesso andresti a leggere la tensione hai capi scopriresti che non sarà piu' 9,2V .....ma una tensione maggiore perchè hai eliminato la resistenza dell'amperometro ,quindi di conseguenza una corrente maggiore che superando il valore massimo lo danneggierebbe.
Per evitare ciò ,basta ridurre la tensione prima di riconnettere il led e successivamente aumentarla di nuovo al valore misurato al punto uno.

Tu ti chiederai perchè tutta sta storia quando ci posso mettere un alimentatore a corrente costante....
Pregi
1)i regolatori LM2556 già belli e fatti vengono 1,5Euro faccine/biggrin.gif (EB_Y)
2)non avendo la resistenza di shunt hanno maggiore efficienza ....... (è quasi vera ...)
3)essendo degli step down posso permettermi di avere un range di alimentazione molto ampio (le mie batterie variano da 26V a 21V ,e le luci restano sempre con la stessa luminosità faccine/biggrin.gif )
4)Con lo stesso regolatore (ne compro 10 a botta ...che spesa) posso pilotare led da 1W 3W 10W e persino 20W)
Difetti
1)se si sbaglia la procedura il LED faccine/angel1.gif
2)per evitare che il LED faccine/angel1.gif bisogna farlo lavorare a circa 80% della corrente massima (ma ti assicuro che 600 lm non sono pochi )

I led li prendo sempre da EB_Y dalla cina .
-per i 10W Cold 3,5E
-per i 10W Warm 2,5E
-per i 3W 0,7E
-per i 1W -------Evitali servono a ben poco come luci

Ciao

 

giocan

Avatar
Watt


Gruppo:Utente
Messaggi:26

Stato:



Inviato il: 24/1/2013,09:17

ciao
è possibile avere l'elenco dei componenti usati per far funzionare arduino??
grazie 1000

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 22/10/2013,17:56

Aggiornamento ........
Le AGM dopo un anno e mezzo lasciano esaurite il mio mini isola ......
Sostituite con una coppia di batterie da 120Ah da avviamento ...... (seminuove faccine/smile.gif a prezzo regalo) chissà ....
ForumEA/us/Img0/33/hisq.jpg
Dalle prime prove sembrano essere Ok ....... misurando circa 25V dopo una nottata di illuminazione ....


 

jackie2_it
KiloWatt


Gruppo:Utente
Messaggi:212

Stato:



Inviato il: 22/10/2013,18:41

Ciao Elettroshocknow molto interessante il tuo impianto mi potresti indicare quali relè hai utilizzato per deviare i pannelli dal regolatore verso l'inverter?
Hai mica ancora gli schemi e lo scketch per arduino per il controllo della batteria?
Ti faccio ancora i complimenti per il tuo impianto



---------------
2 pannelli solari da 50 watt con regolatore steca p1010
Ecco i miei pannelli solari [URL=http://www.ilampidigenio.it]qui[/URL]

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 22/10/2013,19:25

CITAZIONE (jackie2_it @ 22/10/2013, 19:41)
Ciao Elettroshocknow molto interessante il tuo impianto mi potresti indicare quali relè hai utilizzato per deviare i pannelli dal regolatore verso l'inverter?
Hai mica ancora gli schemi e lo scketch per arduino per il controllo della batteria?

Il codice è qualche post su nascosto in uno spoiler faccine/smile.gif .
I relè sono dei classici da 16A 24Vdc ...
Ciao
Ps:essendo il mio primo progetto postato non ho curato molto i particolari per essere riprodotto .... faccine/unsure.gif

 

jackie2_it
KiloWatt


Gruppo:Utente
Messaggi:212

Stato:



Inviato il: 22/10/2013,20:20

Altra piccola domanda al relè fai scollegare sia il positivo che il negativo del pannello?



---------------
2 pannelli solari da 50 watt con regolatore steca p1010
Ecco i miei pannelli solari [URL=http://www.ilampidigenio.it]qui[/URL]

 

nicola1163
MegaWatt


Gruppo:Utente
Messaggi:401

Stato:



Inviato il: 22/10/2013,22:12

beato te che ce la fai..... premetto che io sono un ignorante in materia... (si vede anche dai miei post) e quindi non è una critica ma a me mi sa che 300w di pannelli sono pochi... non riesci ad ottenere 600w al giorno. Almeno da me per avere 300w per tre ore e funzionare in maniera decente sono dovuto arrivare a 820w di pannelli ..... e funziona bene da marzo a metà ottobre in inverno nisba.... ma forse tu non hai le perdite dell'inverter, visto che per i led non è necessario...
Poi probabilmente ripartisci i consumi in maniera molto più diluita nel tempo danneggiando molto meno le batterie.....
Comunque dalla mia esperienza un pannello da 100w da circa 5a al max ma a 18 volts.
A 12 (a meno che non hai un mppt efficente e costoso) si moltiplica 12x5= 60watt effettivi.
Poi ci sono da togliere le perdite di carica/scarica delle batterie (un altro 30%) e quindi da utilizzare ne rimangono 40w in max insolazione.
Se poi come me devi usare un inverter metti un altro 30% di perdita sono altri 12w che se ne vanno via quindi ne rimangono 28w effettivi utilizzabili da un pannello da 100 watt. in max insolazione!!
Questi sono i miei rilevamenti pratici... non teorici.
Comunque se l'impianto ti funziona be.... allora complimenti, vuol dire che hai una correttissima esposizione, vivi al sud, e lo hai curato così bene che hai pochissime perdite.
Dubito fortemente ti resti energia anche per il grid.... questo perchè 600w/12=50a di consumo, il tuo impianto dovrebbe dare 15a all'ora x3=45a quindi poco più di tre ore per ricaricare le batterie ma 3 ore di sole pieno le trovi solo da aprile-maggio a settembre...(da me) dubito anche sulla riserva di carica per tre giorni.....
Secondo me funziona per un giorno finchè le batterie sono nuove e con giorni buoni.... bastano 2 giorni così cosi e al terzo il giardino rimane al buio dopo qualche ora.... e in più ti solfati le batterie in brevissimo tempo...
comunque tu sei molto più esperto di me, si vede anche dall'eleganza della costruzione, complimenti... e inoltre la sperimentazione è impagabile :-)

 
 InizioPagina
 

Pagine: (3)   [1]   2   3    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum