jackie2_it il 7/2/2014, 22:14
Datalogger Arduino per regolatore EP Solar
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
Download documento protocollo--->
jackie2_it il 12/2/2014, 21:21
Reatalogger Arduino per regolatore EP Solar 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)
danye il 19/2/2014, 12:53Reatalogger Arduino per regolatore EP Solar Ottimo lavoro ti seguo interessato! :clap.gif:
jackie2_it il 8/3/2014, 17:06Reatalogger Arduino per regolatore EP Solar 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