EnergiAlternativa

Page Index Toggle Pages: [1] 2 3 ... 5 Send TopicPrint
Normal Topic Datalogger Arduino per regolatore EP Solar (Read 48707 times)
jackie2_it
Junior Member
**
Offline


--------

Posts: 96
Gender: Male
Zodiac sign: Libra
Datalogger Arduino per regolatore EP Solar
07.02.14 at 22:14:10
Print Post  
Ciao a tutti dopo aver letto della possibilità di collegare il mio regolatore EPsolar modello 1206RN al computer tramite un cavo usb-rs232 mi è venuta in mente l'idea di sostituire Arduino al PC e lottare i dati che provengono dal regolatore su una scheda SD e in futuro inviate via rete su un server web.

Iniziamo con questa avventura (Elettroshocknow Style)
Inizia la ricerca su san google alla ricerca del protocollo di comunicazione tra il regolatore e il suo display remoto mt-5.
Ecco che salta fuori il documento in allegato ora il passo successivo sarà quello di creare il primo sketch con un Arduino uno o 2009 e vedere come realizzare il collegamento tra il regolatore (porta rj45 style) e Arduino.

Se vedete qualcosa che non quadra fatemi sapere visto che penso che sias un progetto che farà gola a molti Cheesy

Download documento protocollo---> Link
////////////////////////////////////////////////////////////////////////////////
///
Licenza d'uso:
Questo progetto non è in vendita, tutte le sue parti, foto, schemi e descrizioni vengono pubblicati dall'autore secondo la licenza creative commons:
http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it

In dettaglio puoi consultare anche il legal code:
http://creativecommons.org/licenses/by-sa/3.0/it/legalcode
Licenza

Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Italia
.
Le modalità di riconoscimento della paternità sono qui di seguito:

- Chiunque porti questo progetto, fuori da questo forum, deve indicare inserendo un link di collegamento su ogni sua foto e progetto, questa discussione/progetto e questo forum.
- La paternità dell'idea ed ideazione del datalogger all'autore jackie2_it in quanto pubblicate unicamente in prima data.
- Le modalità sono soggette a modifiche e ad aggiornamenti a piacere dell'autore.
////////////////////////////////////////////////////////////////////////////////
///////
  

2 pannelli solari da 50 watt con regolatore steca p1010

Ecco i miei pannelli solari qui
Back to top
 
IP Logged
 
jackie2_it
Junior Member
**
Offline


--------

Posts: 96
Gender: Male
Zodiac sign: Libra
Re:Datalogger Arduino per regolatore EP Solar
Reply #1 - 12.02.14 at 21:21:53
Print Post  
Iniziamo con il leggere il documento in allegato.
Come possiamo vedere quando il display richiede i dati al regolatore (ogni 30 secondi) invia una sequenza di byte alla quale il regolatore risponde con un altra sequenza di risposta.
Il display invia la seguente sequenza di byte (ogni 30 secondi)

synchronous head + ID + A0H + 00H + CRCH + CRCL + 7FH

il regolatore risponde con la seguente sequenza

synchronous head + ID + A0H + 0DH + collected data strings + CRCH + CRCL + 7FH

Come potete vedere dalle due sequenze il regolatore risponde con la stessa synchronous head inviata dal display (penso per indicare che si tratti di un dato per il regolatore).
Mentre nella sequenza di ritorno potete vedere fra i vari valori la stringa contenente i valori da visualizzare sul display.

Ora vediamo come possiamo convertire il tutto in codice arduino in modo da abbozzare una prima versione di sketch che visualizza questi valori su un display collegato ad arduino.

Dobbiamo per prima cosa inviare i comandi da arduino al regolatore scrivendoli sulla seriale, per fare questa operazione dobbiamo usare il comando Serial.Write

//inizio inviando il synchronous head (preso paro paro dalla documentazione)
Serial.write(0xEB);
Serial.write(0x90);
Serial.write(0xEB);
Serial.write(0x90);
Serial.write(0xEB);
Serial.write(0x90);

Serial.write(0x01);    // versione indico 1
Serial.write(0xA0);    // Richiedo al regolatore i dati in tempo reale.
Serial.write(0x00);    // Lunghezza dei dati
Serial.write(0x6F);    // Check sum
Serial.write(0x52);    // Check sum
Serial.write(0x7F);

Poi arduino si deve mettere in attesa dei valori che verranno inviati dal regolatore con il comando Serial.available().
I dati verranno caricati in un buffer che verrà analizzato byte per byte per estratte i valori di tensione, corrente, etc.
Ecco come:
tensioneBatteria = (bufferRegolatore[10] << 8)
  

bufferRegolatore[17];
tensioneBatteriaCarica = (bufferRegolatore[20] << 8) (Attachment deleted)

2 pannelli solari da 50 watt con regolatore steca p1010

Ecco i miei pannelli solari qui
Back to top
 
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re:Datalogger Arduino per regolatore EP Solar
Reply #2 - 19.02.14 at 12:53:57
Print Post  
Ottimo lavoro ti seguo interessato! :clap.gif:
  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
jackie2_it
Junior Member
**
Offline


--------

Posts: 96
Gender: Male
Zodiac sign: Libra
Re:Datalogger Arduino per regolatore EP Solar
Reply #3 - 08.03.14 at 17:06:26
Print Post  
Ciao a tutti torniamo alla costruzione del datalogger per epsolar dopo un periodo di stop causa lavoro.
Ma non preoccupatevi il progetto continua vediamo a che punto siamo rimasti la scorsa volta, abbiamo visto una semplice implementazione del protocollo di comunicazione con il regolatore epsolar.
Oggi vedremo come effettuare il collegameto tra il regolatore epsolar ed arduino.
Per arrivare al collegamento con arduino ho per prima cosa realizzato il cavo di collegamento con il computer per verificare i segnali che venivano scambiati.
Per realizzare il cavo ho utilizzato il cavo PL2303HX (che è un convertitore usb a RS232 ttl) nel mio caso ho utilizzato  questo
ed ho effettuato il seguente schema di collegamento (sul connettore rj45).



pin 8 (cavo nero)
pin 6 (cavo verde)
pin 5 (cavo bianco)

Vi chiederete e il cavo rosso. il cavo rosso non serve perchè fornisce i 5volt e non sono necessari per la comunicazione visto che il regolatore ha già la sua alimentazione.
Ora passiamo al programma per testare il collegamento ho scaricato il programma che trovate a questo indirizzo
, il produttore fornisce anche i sorgenti del programma che saranno molto utili per il nostro datalogger.
Ho collegato per prima cosa il solo cavo al computer e l'ho fatto riconoscere dal sistema, poi ho verificato qual'era la porta com assegnata dal sistema ed ho avviato il programma.
Sotto potete vedere che il computer colloquia correttamente con il regolatore.



Ed ecco una carrellata di altre foto del regolatore collegato al computer.




Ora visto che il collegamento risulta corretto passiamo al replicarlo con arduino, il tutto è molto semplificato visto che il regolatore comunica con livelli ttl a 5v (che sono compatibili con arduino).
L'arduino che risulta più adatto per fare esperimenti è l'arduino mega perchè ha 4 porte seriali molto utili per debuggare il programma e verificare tramite la porta usb di arduino quali sono i valori che vengono restituiti dal regolatore.
Iniziamo con il creare un connettore rj45 per il collegamento di arduino con l'epsolar, nel mio caso come da foto sotto ho utilizzato un connettore rj45 e tre fili rigidi (di quelli che vengono utilizzati nel cavo del telefono) che facilitano la connessione tra arduino e l'epsolar.

Il collegamento deve essere fatto nel seguente modo.
pin 8 (gnd arduino)
pin 6 (tx1 arduino)
pin 5 (rx1 arduino)
Il risultato è quello sotto (per adesso è ancora un collegamento volante)

Il prossimo passo sarà quello di realizzare il primo sketch di test e verificare i valori su pc.
  

2 pannelli solari da 50 watt con regolatore steca p1010

Ecco i miei pannelli solari qui
Back to top
 
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re:Datalogger Arduino per regolatore EP Solar
Reply #4 - 08.03.14 at 17:56:30
Print Post  
Fantastico, il mio arduino ha già il motore caldo...
  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:Datalogger Arduino per regolatore EP Solar
Reply #5 - 09.03.14 at 10:39:24
Print Post  
:clap.gif: mi sorprendi sempre di più ,riesci a spaziare in mille direzioni.
Io l'ho segnalata come preferita ,perchè son sicuro che prima o poi entrerà in casa un EP
o ancor meglio si potrebbe fruttare lo stesso protocollo per dei regolatori Homemade
cosi' da creare una compatibilità con software o hardware sviluppati per gli EP.

Ciao
Elettro
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
jackie2_it
Junior Member
**
Offline


--------

Posts: 96
Gender: Male
Zodiac sign: Libra
Re:Datalogger Arduino per regolatore EP Solar
Reply #6 - 09.03.14 at 18:25:07
Print Post  
Ciao a tutti e bentornati.
Oggi causa febbre sono chiuso in casa e quindi ne ho approfittato per realizzare lo sketch per arduino per leggere i dati dal nostro regolatore epsolar.
Ed ecco che è nata la prima versione del logger la 0.1 .
Come potete vedere dal codice qui sotto ogni 30 secondi arduino interroga il regolatore chiedendogli i dati.
Ed l'epsolar gli risponde.
Non spaventatevi per i valori di tensione perchè andranno ancora divisi per 100 in modo da ottenere i volt.

[code]
#define SER_SIZE 256 //dimensione massima del buffer
static uint8_t bufferRegolatore[SER_SIZE + 1] = ""; //buffer che conterrà i byte letti dalla seriale.
int serind; //indice per il buffer.

//variabili d'appoggio per i valori letti dal regolatore.
int tensioneBatteria = 0;
int tensionePannello = 0;
int correnteCarico = 0;
int tensioneBatteriaScarica = 0;
int tensioneBatteriaCarica = 0;
int caricoOnOff = 0;
int sovraccarico = 0;
int cortoCircuitoCarico = 0;
int soc = 0;
int batteriaSovraccarica = 0;
int indicatoreSottoScarica = 0;
int indicatoreBatteriaCarica = 0;
int indicatoreCarica = 0;
int temperaturaBatteria = 0;
int correnteCarica = 0;

int contasecondi = 0;

void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
Serial1.begin(9600); //comunica con il regolatore a 9600.
}

void parser() {
  //elabora il buffer ed estrae i valori.
  tensioneBatteria = (bufferRegolatore[10] << 8)
  

bufferRegolatore[17];
tensioneBatteriaCarica = (bufferRegolatore[20] << 8) (Attachment deleted)

2 pannelli solari da 50 watt con regolatore steca p1010

Ecco i miei pannelli solari qui
Back to top
 
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re:Datalogger Arduino per regolatore EP Solar
Reply #7 - 10.03.14 at 11:57:06
Print Post  
Grande, appena posso lo provo sul mio Arduino.Una domanda, dal DOC che hai linkato leggo che la stringa di richiesta deve avere in testa "AA55AA55AA55", funziona anche senza?
  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
jackie2_it
Junior Member
**
Offline


--------

Posts: 96
Gender: Male
Zodiac sign: Libra
Re:Datalogger Arduino per regolatore EP Solar
Reply #8 - 10.03.14 at 14:01:09
Print Post  
è sostituita dalla sequenza
Serial.write(0xEB);
Serial.write(0x90);
Serial.write(0xEB);
Serial.write(0x90);
Serial.write(0xEB);
Serial.write(0x90);
che da quando vedo è più utilizzata (ho preso come esempio i sorgenti del programma windows).

Per provarlo sul tuo arduino uno bisogna apportare alcune modifiche al programma perchè ha una sola seriale, ma tempo 1/2 giorni metto su lo sketch per arduino uno che fà il log direttamente su sd.
  

2 pannelli solari da 50 watt con regolatore steca p1010

Ecco i miei pannelli solari qui
Back to top
 
IP Logged
 
jackie2_it
Junior Member
**
Offline


--------

Posts: 96
Gender: Male
Zodiac sign: Libra
Re:Datalogger Arduino per regolatore EP Solar
Reply #9 - 10.03.14 at 21:38:37
Print Post  
Vediamo che cosa ci serve per realizzare il primo datalogger sperimentale.
Per prima cosa un timer per memorizzare sul log la data e l'ora possiamo utilizzare un ds1307 che è molto semplice da programmare ed utilizzare io ho preso questo.
Poi ci serve un lettore di SD il più economico (per adesso non guardiamo ancora quello integrato nella shield di rete) ho trovato questo e come ultima cosa non meno importante ci serve il nostro Arduino uno, per l'alimentazione ci pensiamo dopo, penso che punterò comunque sul tipico step down che avevo usato sull'altro datalogger. A presto per il nuovo sketch
  

2 pannelli solari da 50 watt con regolatore steca p1010

Ecco i miei pannelli solari qui
Back to top
 
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re:Datalogger Arduino per regolatore EP Solar
Reply #10 - 11.03.14 at 13:26:29
Print Post  
Ieri sera ho provato il tuo sketch sul mio Arduino uno. Ho sostituito la Serial1 con "software serial" una classe che consente di dichiarare due pin digitali come TX e RX, ma non funziona, non ho nessun debug sulla seriale hardware.La prova è stata veloce e forse ho tralasciato qualcosa.
Provero' il tuo prossimo sketch.
Intanto ho preparato una bella cosetta....

LINK
Wink
Ciao.
  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
jackie2_it
Junior Member
**
Offline


--------

Posts: 96
Gender: Male
Zodiac sign: Libra
Re:Datalogger Arduino per regolatore EP Solar
Reply #11 - 11.03.14 at 14:14:55
Print Post  
Molto bello ma si basa su un database? oppure su un file fisso?
  

2 pannelli solari da 50 watt con regolatore steca p1010

Ecco i miei pannelli solari qui
Back to top
 
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re:Datalogger Arduino per regolatore EP Solar
Reply #12 - 11.03.14 at 14:28:38
Print Post  
CITAZIONE (jackie2_it, 11/03/2014 14:14:55 ) Quote:
Molto bello ma si basa su un database? oppure su un file fisso?

Si basa su MySQL e PHP, i valori a 0 sono in attesa di essere aggiornati dal tuo lavoro, mentre la tensione delle batterie è in real time senza bisogno di refresh della pagina. Per il momento prende il valore da un pin analogico di Arduino.
  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
jackie2_it
Junior Member
**
Offline


--------

Posts: 96
Gender: Male
Zodiac sign: Libra
Re:Datalogger Arduino per regolatore EP Solar
Reply #13 - 11.03.14 at 17:11:37
Print Post  
Magari posta poi il codice della pagina così la possiamo integrare con altre funzionalità
  

2 pannelli solari da 50 watt con regolatore steca p1010

Ecco i miei pannelli solari qui
Back to top
 
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re:Datalogger Arduino per regolatore EP Solar
Reply #14 - 11.03.14 at 18:04:58
Print Post  
CITAZIONE (jackie2_it, 11/03/2014 17:11:37 ) Quote:
Magari posta poi il codice della pagina così la possiamo integrare con altre funzionalità

Certo, appena riesco ad interfacciare il mio Arduino uno al regolatore completo almeno la lettura delle tensioni e correnti. Poi dovrò far funzionare il grafico e la sezione settaggi per controllare ad esempio l'on/off del carico ecc... :clap.gif:
  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
Page Index Toggle Pages: [1] 2 3 ... 5
Send TopicPrint
 

TOP100-SOLAR Galleria Immagini EnergiAlternativa