Solare Fotovoltaico
Scheda per gestire lo scambio enel-FV con inverter-UPS NO INVERTER PURO

VISUALIZZA L'ALBUM

Pag: (76)  < ...  19   20   21   [22]   23   24   25  ...>    (Ultimo Msg)


FinePagina

shadowcaster
MegaWatt


Utente
Msg:322

Stato:



Inviato il: 25/01/2014 15:02:03

Shifter?



---------------



 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 26/01/2014 09:19:46

PCF8574 per aumentare le porte

Però se il tuo problema è che hai porte analogiche libere e ne mancano di digitali, puoi usare le analogiche come digitali, nel caso A0=14; A1=15; A2=16;...A5=19.



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

shadowcaster
MegaWatt


Utente
Msg:322

Stato:



Inviato il: 26/01/2014 13:40:39

Grazie molte x la risposta! Andrebbe bene anche questo 74HC595? Me lo sono trovato in un kit...potresti consigli armi dei datasheet x il collegamento lcd ed 74HC595N? Saluti



---------------



 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 26/01/2014 14:53:06

Non ho nulla per gli LCD, non ho mai provato a sperimentarne l'uso. Il fatto è che a me LCD non serve sono distante dall'impianto che devo monitorare quindi ho l'esigenza di fare tutto da remoto.



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

shadowcaster
MegaWatt


Utente
Msg:322

Stato:



Inviato il: 28/01/2014 07:17:23

Grazie ancora per la dritta. Sto utilizzando le porte analogiche come digitali...l'uso dell'ic è un pò, per ora, poco chiaro...
Saluti



---------------



 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 28/01/2014 07:35:07

Se usi il pro-mini avrai anche le porte A6=20; A7=21



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 28/01/2014 07:43:32

Io sto lavorando per poter inserire i valori delle soglie di commutazione tramite il monitor dell'ide, poi mi riprometto di collegare via seriale il pro-mini ad un raspberry o ad una marsboard in modo da far gestire alla scheda più grossa l'interfaccia web e la visualizzazione dei grafici e lasciare all'arduino solo la gestione del loop. Un mio conoscente mi stava dando una mano a fare il tutto tramite un arduino yun, ma lo sviluppo è da mesi fermo, probabilmente si è stancato di lavorarci o ha altro da fare, quindi, come si dice, di necessità... virtù e sto facendo da me.



Modificato da calcola - 28/01/2014, 07:47:54


---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 28/01/2014 21:28:38

Solo per prova, è ancora una versione di lavoro. Di seguito il listato che permette di modificare direttamente dal monitor seriale i valori delle soglie di commutazione e il ritardo nel passare alla rete.

Si usa in questo modo: dopo aver caricato il software aprire il monitor seriale, si vedrà il solito scorrere delle informazioni. In alto della finestra del monitor vi è una riga di immissione, del tipo di quella delle chat. Scrivere la parola "soglie" (senza virgolette) e poi invio, l'esecuzione si fermerà ed appariranno in successione delle righe di richiesta valori, una volta inseriti i relativi valori, il listato riprende l'esecuzione. Ripeto è' una prova, vi è ancora qualcosa da sistemare, però già funziona.

//Inizio listato
//prodotto da calcola (antrec@geocities.com)//
//ver.3_5
#include "Wire.h"
//
//
//
//
////////////////////////////////
//INIZIO PARTE MODIFICABILE
///////////////////////////////
float tensione_bassa = 11.9;//valori: 11.9 (sistema 12V); 23.8 (sistema 24V)
float tensione_alta = 13.7; //valori: 13.7 (sistema 12V); 27.4 (sistema 24V)
float pausa=8; //ritardo in secondi della commutazione ad enel per compensare brevi abbassamenti di tensione

#define coefficiente_conversione 0.05520

///////////////////////////////
//FINE PARTE MODIFICABILE
///////////////////////////////
//
//
//
//
//
//
float a;
float b;
int c;
byte d;
#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 numero_letture 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 passo batt.

int readings[numero_letture]; //Letture da ingresso analogico
int index = 0; //Indice della lettura corrente
int total = 0; //Totale letture
int media_tens = 0; //Media tensione indice analogico
float media_tens_volt; //media tensione espressa in Volt
byte enel0 = 0;
byte stato = 0;
int rit = pausa*1000;
#define media1 (bassatensione + altatensione)/2 // Media tensione per avvio
float media_avvio; // media1 in Volt

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);
stato = 1;
}

else

{digitalWrite(RELAY1, LOW);
digitalWrite(RELAY2, HIGH);
stato = 2;
}}

for (int i = 0; i < numero_letture; i++)
readings[i] = 0; //Mette tutti 0 nell'array
}

void loop(){
{if (Serial.available()>0){ immissione();}}
tensione();
{
if ((media_tens_volt < tensione_bassa) && (enel0 !=1))
{ritardo();}
if (media_tens_volt < tensione_bassa){enel();}
else if(media_tens_volt > tensione_alta){batterie();}}
{ if (stato == 1){Serial.println("Stato: batterie");}
else if (stato == 2){Serial.println("Stato: enel");}
}



Serial.print(" Voltaggio batteria intermedio tra min-max: ");
Serial.println(media_avvio);
Serial.println("-----------");
Serial.print(" Voltaggio batteria (media 5 letture): ");
Serial.println(media_tens_volt); //Serial.println(media_tens);
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.print("Ritardo commutazione: ");
Serial.println(pausa);
Serial.println("-----------");
Serial.println("-----------");
Serial.println();
delay(2000);
}

void tensione(){

for (int A = 0; A < numero_letture; 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 >= numero_letture)
index = 0; //Alla fine dell'array resetta l'indice a 0

media_tens = total / numero_letture; //Calcola la media
}
media_tens_volt=media_tens*coefficiente_conversione;
media_avvio=media1*coefficiente_conversione;
}

void enel()
{
digitalWrite(RELAY2, HIGH);
delay(200);
digitalWrite(RELAY1, LOW);
enel0 = 1;
stato = 2 ;
}

void batterie(){
digitalWrite(RELAY1, HIGH);
delay(200);
digitalWrite(RELAY2, LOW);
enel0 = 0;
stato = 1 ;
}

void ritardo()
{delay (rit); tensione();}

void immissione(){
c= Serial.findUntil("soglie", "soglie"); //sistemare lettura
{if (c == 1){Serial.flush(); c=0;
Serial.print("Tensione commutazione enel: ");

delay(4000);
while (Serial.available()>0){ a=Serial.parseFloat();

tensione_bassa = a; Serial.println(a);
Serial.flush();}

Serial.print("Tensione commutazione batterie: ");
delay(4000);
while (Serial.available()>0){ b=Serial.parseFloat();

tensione_alta = b; Serial.println(b);
Serial.flush();}
Serial.print("Secondi ritardo commutazione: ");
delay(4000);
while (Serial.available()>0){ d=Serial.parseFloat();

pausa = d; Serial.println(d);
Serial.flush();}

}

else Serial.println("Errore, ripeti");
delay(2000);}}
//Fine listato



Modificato da calcola - 29/01/2014, 07:49:21


---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

shadowcaster
MegaWatt


Utente
Msg:322

Stato:



Inviato il: 30/01/2014 17:36:28

Cosa si può dire? Sei veramente capace...complimenti!



---------------



 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 30/01/2014 18:48:10

Grazie dei complimenti, ma nessuno nasce... sto apprendendo un poco alla volta, sperimentando, come tutti.



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

shadowcaster
MegaWatt


Utente
Msg:322

Stato:



Inviato il: 01/02/2014 07:23:47

Salve a tutti. Sto cercando di inserire un modulo SD card sull'arduino pro mini, ma non riesco a capire come collegarlo...mi spiego, ho a disposizione i pin 10,11,12 e 13. Ho trovato diverse configurazioni in giro, alcune utilizzano delle resistenze tra il modulo SD ed i pin dell'arduino, altre non fanno uso delle suddette...quale schema usare? Grazie a tutti. Saluti.



---------------



 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 01/02/2014 08:11:46

MOSI 11
MISO 12
SCK 13
CS 10 (guarda sulla libreria sd a quale pin collegare, potrebbe essere anche 8 o 7)
Io ho collegato senza resistenze e funzionava però la usavo con i 3,3V del relativo pin dell'arduino duemilanove, se la usi con i +5V devi mettere le resistenze che fanno da partitore di tensione. Penso che se la vuoi collegare direttamente devi abbassare la tensione a 3,3V ed usare il relativo pin sulla scheda sd. Un metodo rozzo è quello di mettere 2 diodi 1N4007 i serie tra i +5V dell'alimentazione ed i +3V dell'SD. Oppure metti questi L78L33



Modificato da calcola - 01/02/2014, 08:48:36


---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 01/02/2014 09:45:13

Il tuo post mi ha incuriosito, quando ho acquistato il modulo non ho trovato alcuna indicazione riguardo l'uso di resistenze tra i collegamenti. Quindi ho collegato direttamente ai pin 11,12,13,10 (poi con il pin 10 non andava, mentre funzionava con un altro pin che ora non ricordo), per prudenza ho alimentato con 3,3V e funzionava. Ora incuriosito ho fatto una ricerca ed ho trovato questo tutorial LINK si afferma che anche alimentando a 3,3v dai pin digitali arduino invia comunque alla SD la tensione di 5V e questo può danneggiare la SD, quindi consigliano di mettere delle resistenze di pull up tra i pin e la scheda. La mia scheda anche senza resistenze non ha subito alcun danno, probabilmente sarà una versione differente della tua. Quindi a questo punto penso che se ti è stato indicato di usare le resistenze sia meglio metterle ed alimentare la sd con la +5V che usi per alimentare il pro-mini. Comunque aspetta anche il parere degli altri.



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

shadowcaster
MegaWatt


Utente
Msg:322

Stato:



Inviato il: 01/02/2014 11:43:54

Salve. Ho acquistato questehttp://m.ebay.it/itm/400497455730?cmd=VIDESC con annesse descrizioni sui collegamenti. Sono corretti?



---------------



 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 01/02/2014 19:02:49

Sembra uguale a quella che ho io, l'unica differenza è nei pin di collegamento, nella mia sono solo una fila di pin e sono rivolti verso l'esterno. Più di questo non so dirti.



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 
 InizioPagina
 

Pag: (76)  < ...  19   20   21   [22]   23   24   25  ...>    (Ultimo Msg)

Versione Completa!

Home page     TOP100-SOLAR    Home page forum