Home > Fotovoltaico, Raspberry > Contatore EASTRON SDM120C Modbus per monitoraggio energetico

Contatore EASTRON SDM120C Modbus per monitoraggio energetico

13 febbraio 2015



Dopo la mia guida per il monitoraggio energetico con Raspberry e contatore ad impulsi, oggi volevo illustrarvi un interessantissimo contatore dotato oltre che dell’uscita ad impulsi anche di un’uscita seriale RS485 Modbus. Si tratta dell’EASTRON SDM120C Modbus. Grazie infatti all’interessante lavoro dell’utente Gianfrdp (che ringrazio) del forum di energeticambiente.it che ha sviluppato un software in C per la lettura dei dati da questo contatore, è possibile usarlo molto semplicemente in abbinata al Raspberry PI. Vediamone quindi le caratteristiche, i pregi e soprattutto come installare il software per utilizzarlo sul nostro Raspberry.

A rendere interessante questo contatore, oltre al fatto che la lettura mediante RS485 risulta essere sicuramente più precisa ed affidabile rispetto alla lettura ad impulsi, c’è anche sicuramente il prezzo.

Ma vediamo subito le caratteristiche che lo contraddistinguono.

 

Si tratta di un compatto analizzatore di energia monofase avanzato, dotato di display LCD per la visualizzazione immediata di tutti i parametri energetici della nostra linea, quali:

  • Tensione (V)
  • Corrente (A)
  • Potenza attiva (W)
  • Potenza apparente (VA)
  • Potenza reattiva (VAr)
  • Fattore di potenza (cos fi)
  • Frequenza (Hz)
  • Energia attiva importata (kWh)
  • Energia attiva esportata (kWh)
  • Energia attiva totale (kWh)

 

Sul display LCD incorporato è possibile visualizzare le varie grandezze in sequenza mediante la pressione del pulsante presente sul frontalino. E’ eventualmente anche possibile impostare via software una funzione che in automatico visualizza a rotazione le varie grandezze.

Il formato della custodia è molto piccolo: un solo modulo DIN da 17,5 mm. Le dimensioni sono infatti:

La sua compattezza ed il formato per installazione su barra DIN, lo rende facilmente installabile in qualsiasi quadro elettrico dotato di un minimo spazio.

Lo schema di connessione riportato sul datasheet e sul fianco dello strumento stesso è il seguente:

Le connessioni presenti sono:

  • 1 Fase in ingresso
  • 2 Fase in uscita
  • 3 Neutro
  • 4 Neutro
  • 5 – 6 Uscita ad impulsi 2 (fissa a 1000 imp/kWh)
  • 6 – 7 Uscita ad impulsi 1 (programmabile via software a 1000, 100, 10, 1 imp/kWh – di default è impostata a 1000)
  • 8 – 9 – 10 Uscita seriale RS485 (rispettivamente conduttore GND, B ed A)

La presenza del doppio morsetto di neutro (3-4) ne permette anche una più semplice connessione in configurazione entra-esci come illustrato di seguito:

 

Le caratteristiche tecniche del contatore sono:

Si nota come il contatore supporti correnti fino a 45A e pertanto ampiamente compatibili con le normali correnti di un utenza domestica da 3KWh (max 16 A).

Lo strumento risulta anche particolarmente preciso. Trattandosi infatti di uno strumento in classe 1.0 che garantisce una precisione pari all’1 %.

La ditta produttrice dichiara inoltre un consumo dello strumento molto ridotto e inferiore a 2W.

 

LETTURA DATI VIA RS485

Ma veniamo infine alla parte più interessante: la porta seriale RS485 modbus (9-10)

La possibilità di disporre infatti di un’uscita RS485 permette di poter installare nel nostro impianto fino a 32 contatori per monitorare quanti e quali carichi vogliamo. Basterà infatti collegarli fra loro con un semplice doppino twistato e collegarli al nostro Raspberry mediante un economico adattatore USB RS485, per poter monitorare e loggare tutti parametri energetici che desideriamo, mediante i già noti software 123solar e MeterN:

 

 

Grazie ad un software sviluppato da Gianfranco Di Prinzio (gianfrdp del forum energeticamebiente.it) che ha messo gentilmente a disposizione su Github, è possibile leggere tutti i valori da questo contatore. Il software prevede inoltre le necessarie integrazioni per poter utilizzare il contatore mediante i software MeterN e 123solar. Infatti la possibilità doi poter leggere più contatore sull ostesso bus, permette di utilizzare 123solar anche con inverter non direttamente compatibili, ma leggendo anche la produzione fotovoltaica (e non solo i consumi) mediante un contatore.

Vediamo di seguito come è possibile utilizzare il software sdm120c con il nostro Raspberry per il monitoraggio energetico.

Il software si base sulla libreria libmodbus.  E’ pertanto necessario come prima cosa, installare questa libreria sul Raspberry.

Collegandoci mediante il terminale (Putty) basterà digitare i seguenti comandi:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git libmodbus-dev

Installata la libereria ora non ci resta che installare il software sdm120c. Sempre da terminale digitiamo:

cd /home/pi
git clone https://github.com/gianfrdp/SDM120C

Dovremmo ora procedere a compilare il software:

cd SDM120C/
make clean && make
sudo cp sdm120c /usr/local/bin/

A questo punto tutto è pronto.

Se abbiamo collegato il contatore al nostro Raspberry per mezzo di un adattatore USB-RS485 e supponendo di non avere nessun altro adattatore collegato al raspberry (pertanto l’adattatore dovrebbe assumere l’indirizzo /dev/ttyUSB0 ), digitando a terminale il seguente comando:

sdm120c /dev/ttyUSB0

dovrebbe già restituire l’elenco di tutte i valori disponibili:

pi@raspberrypi ~/SDM120C $ sdm120c -z 10  /dev/ttyUSB0
Voltage: 218.30 V
Current: 0.00 A
Power:  0.00 W
Power Factor: 1.00
Frequency: 50.00 Hz
Import Active Energy: 6409 Wh
Export Active Energy: 0 Wh
Total Active Energy: 6409 Wh

 

NOTA: Il contatore di default ha l’indirizzo 1 e la velocità di 2400 baud. Il software, se non specificato diversamente, assume di base questi valori.

USO SCRIPT

Cerchiamo ora di capire come funziona questo script e quali sono le varie opzioni disponibili.

Digitando da terminale semplicemente sdm120c senza nessuna opzione, il software ci restituisce alcune righe di spiegazione delle varie opzioni:

Usage: sdm120c [-a address] [-d][-p][-v][-c][-e][-i][-t][-f][-g][-m][-b baud_rate] device
       sdm120c [-a address] [-d] -s new_address device
       sdm120c [-a address] [-d] -r baud_rate device
where
        -a address      Meter number (between 1 and 247). Default: 1
        -s new_address  Set new meter number (between 1 and 247)
        -p              Get power (W)
        -v              Get voltage (V)
        -c              Get current (A)
        -f              Get frequency (Hz)
        -g              Get power factor
        -e              Get exported energy (Wh)
        -i              Get imported energy (Wh)
        -t              Get total energy (Wh)
        -d              Debug
        -b baud_rate    Use baud_rate serial port speed (1200, 2400, 4800, 9600)
                        Default: 2400
        -r baud_rate    Set baud_rate meter speed (1200, 2400, 4800, 9600)
        -m              Output values in IEC 62056 format ID(VALUE*UNIT)
        device          Serial device, i.e. /dev/ttyUSB0
Serial device is required. When no parameter is passed, retrives all values

 

 

 

ESEMPI

Vediamo di seguito alcuni esempi di utilizzo del software, che si spiegano meglio di molte parole.

Per verificare la versione del software, da terminale digitare:

sdm120c  | head -n 1 | awk '{print $2}'

 

Per cambiare l’indirizzo del dispositivo da 1 a 2, premere il pulsante frontale sul contatore per 3 secondi, fino a che compare la scritta - SET – sul display, quindi da terminale digitare:

 

sdm120c -a 1 -s 2 /dev/ttyUSB0
New address 2
You have to restart the meter for apply changes

Riavviare il contatore staccando e riattaccando la fase in ingresso.

 

Per cambiare la velocità di trasmissione da 2400 a 9600 del contatore (dopo il parametro -a va messo l’indirizzo del vostro contatore) premere il pulsante frontale sul contatore per 3 secondi, fino a che compare la scritta - SET – sul display, quindi da terminale digitare:

 

pi@raspberrypi ~ $ sdm120c -a 2 -r 9600 /dev/ttyUSB0
New baud_rate 2
You have to restart the meter for apply changes

 

Quindi, per leggere la sola potenza istantanea del contatore con indirizzo 2 e velcocità 9600

codice:

 sdm120c -a 2 -b 9600 -p /dev/ttyUSB0

 

NOTA: Una volta modificato l’indirizzo o la velocità del contatore sarà sempre necessario specificare il relativo valore fra le opzioni, in quanto se omessi, il software assume i valori previsti di default e non vi verrà restituita nessuna lettura.

 

ACQUISTO CONTATORE

Se siete interessati ad acquistare uno di questi contatori cliccate sul pulsante seguente:


Potrete acquistare la quantità desiderata di contatori al costo di 34€/cadauno.

I contatori sono disponibili da subito in Italia e saranno spediti mediante corriere espresso  all’indirizzo che indicherete tramite la procedura di pagamento di paypal.
Costo spedizione 8€ fissi, indipendentemente dal numero di contatori ordinati.

Per qualsiasi chiarimento non esitate a CONTATTARMI :D

 

Se siete interessati a realizzare il vostro sistema di monitoraggio con questi contatori, QUI potete trovare una mia dettagliata guida passo passo.

Buon divertimento :D

 

Ti potrebbero interessare:

Categorie:Fotovoltaico, Raspberry
  1. Antonio
    19 febbraio 2015 a 17:32 | #1

    grande Flane, bella guida esplicativa del contatore e sul suo utilizzo.
    Sono in trepida attesa della guida che rilascerai per l’utilizzo con 123solar e MeterN.
    Sto seguendo il lavoro tuo di gianfrdp ninodifranco ed altri che adesso non ricordo il nome sul forum Energeticambiente ho il raspberry con già installato 123solar in attesa di caricare MeterN con l’utilizzo del contatore SDM120C
    grazie per il lavoro che fai e rendi disponibile a noi poveri mortali.

  2. Roberto
    26 maggio 2015 a 14:25 | #2

    Salve, ho acquistato il contatore e l’ho collegato ad un plc con porta seriale configurata per il driver modbus: il plc comunica con il contatore ma mi restituisce valore 0 su tutte le variabili.Mi potete dare delle indicazioni? grazie

    • 26 maggio 2015 a 14:51 | #3

      Sinceramente non saprei come aiutarti. Con il software sul raspberry le letture funzionano regolarmente.

  3. Roberto
    26 maggio 2015 a 15:16 | #4

    Speravo in una maggiore collaborazione…visto che sull’inserzione c’era scritto “contattatemi per qualsiasi ulteriore informazione…”

    • 26 maggio 2015 a 18:51 | #5

      Scusa Roberto, non è per non volerti aiutare, ma di plc sinceramente non conosco niente.
      Se vuoi qualche dritta sull’uso con raspberry ben volentieri.
      L’unico consiglio che posso darti è di provare con un PC tramite il software modscan ed un semplice adattatore usb-rs485 che trovi su ebay per pochi euro.
      Così capisci se i problemi sono software o hardware di collegamenti.

  4. Roberto
    27 maggio 2015 a 15:46 | #6

    Ho risolto, poi ti giro delle info che possono essere utili per altri che come me utilizzano il contatore collegato ad un plc modbus master.

    • 27 maggio 2015 a 22:10 | #7

      Ottimo Roberto, se hai qualche dritta da condividere è sempre ben accetta. :)

  5. Roberto
    28 maggio 2015 a 9:35 | #8

    Devo cambiare la velocità di trasmissione del contatore, ho un’interfaccia usb rs485 e uso il putty: mi puoi dare qualche dritta? impostazione di putty, comandi…o c’è qualche altro modo per modificarlo?

    • 28 maggio 2015 a 16:19 | #9

      Il metodo più semplice che conosco è usare il programmino citato nell’articolo qui sopra, con il quale puoi leggere/inviare qualsiasi informazione/impostazione al contatore. Ovviamente ci vuole un raspberry o un PC con linux. Puoi anche usare una macchina virtuale con ubuntu, se riesci a far vedere la chiavetta usb alla macchina virtuale.

      Altra soluzione è inviare la relativa stringa di comando tramite il software modscan che ti ho citato. Personalmente non ho mai provato, ma si tratta solo di capire come formattare la stringa da inviare. Basta fare qualche prova con la lettura dei valori per capire con inviare correttamente la stringa per impostare la velocità.

  6. Franco
    11 giugno 2015 a 7:15 | #10

    Gran lavoro, complimenti…
    Visto che ormai hai capito come comunicare con il contatore non potresti dare qualche dritta su come poter leggere i dati utilizzando Arduino magari via terminale seriale?
    Grazie f

    • 19 giugno 2015 a 13:07 | #11

      Scusa ma sono in ferie. Non ho mai usato Arduino e sinceramente non ho intenzione di provarci.

  7. Andrea
    14 giugno 2015 a 10:23 | #12

    Ciao Flavio…al momento del comando “make clean && make” ricevo il seguente messaggio:

    pi@raspberrypi ~/SDM120C $ make clean && make
    rm -f *.o sdm120c
    make: *** Nessuna regola per generare l’obiettivo “sdm120c.o”, necessario per “sdm120c”. Arresto.

    …sai darmi qualche dritta per risolvere il problema?

  8. Enrico
    12 luglio 2015 a 11:26 | #13

    Un grazie per il tuo lavoro e un paio di suggerimenti che possono essere utili agli altri:
    * il repository git ha cambiato url, quello nuovo è: https://github.com/gianfrdp/SDM120C
    * per gli utenti su arch linux la libreria modbus è disponibile nel repository AUR qui: https://aur.archlinux.org/packages/libmodbus/ e per poterlo compilare bisogna modificare nel PKGBUILD le architetture supportate aggiungendo armv7h: arch=(‘i686′ ‘x86_64′ ‘armv7h’)
    Grazie!

  9. 5 agosto 2015 a 12:23 | #14

    salve Flavio,
    ottimo lavoro cui ci sono arrivato tramite il sito energeticambiente.

    Premessa
    ancorchè anni fà feci la tesi in LaTex su Linux, e in passato usai MS-DOS, le mie conoscenze attuali di Linux estremamente basse.

    Obbiettivo di lungo termine
    Minimizzare l’energia ceduta/regalata all’enel, attivando il condizionatore (d’estate) ed il riscaldamento in pompa di calore (d’inverno) in funzione dell’energia immessa in rete. Ad oggi come condizionatore/pompa di calore ho due split Daikin (uno dei quali lo sto attrezzando con online controller per controllo da remoto); in futuro vorrei installare una pompa di calore tipo Rotex per riscaldamento acqua calda e/o sanitaria.

    Prima mossa:
    settimana scorsa ho acquistato raspberry con il solo scopo di montarci SBFspot (https://sbfspot.codeplex.com/) per lettura e pubblicazione real-time dei dati di produzione del mio impianto FV. Miracolosamente ha funzionato tutto (raspberry e SBFspot su pvoutput.org) nel giro di poche ore.

    Misurazione dei consumi/energia immessa:
    Vedo su internet che ci sono diversi produttori che confezionano sistemi di monitoraggio real-time (la stessa SMA, di cui possiedo un inverter); ma se lo si può fare con il raspberry e con strumenti di precisione che misurano A e non W…perchè no? Preferirei ovviamente una soluzione integrata, quale sicuramente quella che proponi 123Solar+meterN, ma al tempo stesso accessibile su app da smartphone. Pertanto siccome pvoutput consente di caricare anche i dati di potenza consumata, sarei orientato a registrare i dati con l’ESTRON (tramite sw di Gianfrdp) e in qualche modo scriverli nel file prodotto da SBFspot che viene poi caricato su pvoutput. Oltretutto ho notato (leggendo le istruzioni di Walter62) che 123solar per SMA si appoggia a SMAspot (ora sostituito da SBFspot)

    Domande
    1) Esiste il modo per scrivere/caricare i dati letti sull’ESTRON direttamente sul file prodotto da SBFspot che viene poi caricato su pvoutput? Nel caso non esistesse come faccio a combinare SBFspot già configurato per pvoutput con 123Solar + MeterN
    2) vedo che tra i dati misurati dall’ESTRON c’è anche la potenza esportata: sarebbe quella ceduta all’ENEL nel caso lo inserisca subito a monte del QE generale dell’abitazione?

    grazie e saluti,
    gabriele

  10. Andrea
    20 ottobre 2015 a 8:16 | #15

    Ciao,
    ho un problema con due SDM120 (che peraltro avevo comprato da te su eBay un annetto fa) e che mi sta facendo impazzire, magari è qualcosa di stupido e puoi aiutarmi.
    All’epoca li montai nei quadretti: tutto bene sul display locale, leggono potenza eccetera. Ora sto provando a leggere l’uscita a impulsi e i dati via MODBUS ma… sono autistici:
    - Entrambi non danno segni di vita sulle uscite a impulsi (banalmente collego il “-” a un alimentatore, il “+” tramite una resistenza da 1000 ohm al positivo dell’alimentatore da 12V, ma oscilloscopio digitale alla mano non escono impulsi).
    - Uno collegato in RS485 a un raspberry con RaspiCOMM, doppino lungo due metri, resistenze da 120 ohm agli estremi, utility presa qui https://github.com/gianfrdp/SDM120C non risponde in alcun modo. Anche qui con l’oscilloscopio digitale vedo passare le richieste sul bus, ma lui non risponde.
    - L’altro collegato allo stesso modo in RS485… si spegne! Appena “sente” la tensione di bias sul bus spegne il display e dopo un secondo ri siaccende, lampeggiando come un vecchio orologio LCD con le pile scariche!
    Non riesco a capire se mi sta sfuggendo qualcosa di molto banale, se mi sono capitati due oggetti difettosi o cosa.
    Qualche consiglio?

    • 22 ottobre 2015 a 22:17 | #16

      Per le uscite ad impulsi si è recentemente scoperto che purtroppo ci sono state delle partite che presentavano i fotoaccoppiatori montati al contrario. Qui puoi vedere qualche info a riguardo

      Per il bus credo che sbagli qualcosa perchè non ho mai sentito di un problema del genere

  11. Andrea
    20 ottobre 2015 a 8:26 | #17

    @Andrea
    Aggiunta: ho ovviamente provato anche con terminazioni diverse o senza terminazioni sul bus. Non cambia nulla. La “query” dal raspino la vedo sull’oscilloscopio digitale e il segnale è pulito e nei parametri.
    Anche le cose ovvie come provare a scambiare la polarità sul bus le ho provate, e lo stesso raspberry se connesso a un moduli di I/O ModBUD della Audon ci parla senza problemi.

    • 22 ottobre 2015 a 22:19 | #18

      Sinceramente non sò che dirti, è la prima volta che sento di un problema simile. In tanti stanno utilizzando questi contatori senza problemi con la porta rs485

  12. Andrea
    23 ottobre 2015 a 9:40 | #19

    Ok,

    per il bus problema risolto, per qualche strano motivo i miei SDM avevano l’impostazione della parità ad N invece che E come dovrebbe essere di default (e come si aspetta l’utility).
    Per chi avesse lo stesso problema basta dare all’utility l’opzione -PN; comunque anche se non è documentato e il programmino di suo non lo fa la parità si può cambiare, il parametro è lo stesso documentato nel protocollo dell’SDM220. Sotto incollo il patch al programma che lo modifica aggiungendo il comando “-y”, con un -yE e un riavvio la cosa si è risolta.

    Appena ho un attimo di tempo contribuisco la modifica su GIT.

    Per le uscite a impulsi temo proprio di essere incappato in due misuratori della partita difettosa… soluzioni da proporre a parte usare il saldatore?

    diff SDM120C-master/sdm120c.c SDM120C-master2/sdm120c.c
    75a76,80
    > #define PRTNONE 0
    > #define PRTEVEN 1
    > #define PRTODD 2
    > #define PRTNONE2S 3
    >
    129a135
    > printf(“\t-y parity \tSet meter parity (E, N, O)\n”);
    577a584
    > int newparity = -1;
    627c634
    while ((c = getopt (argc, argv, “a:Ab:BcCdefgij:lmnopP:qr:R:s:S:tTvw:xy:z:12″)) != -1) {
    720a728,740
    > case ‘y’:
    > c_parity = strdup(optarg);
    > if (strcmp(c_parity,EVEN_parity) == 0) {
    > newparity = PRTEVEN;
    > } else if (strcmp(c_parity,NONE_parity) == 0) {
    > newparity = PRTNONE;
    > } else if (strcmp(c_parity,ODD_parity) == 0) {
    > newparity = PRTODD;
    > } else {
    > fprintf (stderr, “Parity must be one of E, N, O\n”);
    > exit(EXIT_FAILURE);
    > }
    > break;
    903c923,930
    0 && new_baud_rate > 0) {

    > int parchanges = 0;
    >
    > if (new_address > 0)
    > ++parchanges;
    > if (new_baud_rate > 0)
    > ++parchanges;
    > if (newparity > -1)
    > ++parchanges;
    905c932,934
    if (parchanges > 1) {
    >
    > log_message(debug_flag, “You can only change one of -s, -r and -y at a time\n\n”);
    935a965,981
    > modbus_close(ctx);
    > modbus_free(ctx);
    > ClrSerLock(PID);
    > return 0;
    > }
    >
    > } else if (newparity > -1) {
    >
    > if (count_param > 0) {
    > usage(programName);
    > modbus_close(ctx);
    > modbus_free(ctx);
    > ClrSerLock(PID);
    > exit(EXIT_FAILURE);
    > } else {
    > // change Parity
    > changeConfigFloat(ctx, NPARSTOP, newparity, RESTART_TRUE, 2);

    • 25 ottobre 2015 a 17:29 | #20

      Io non ho mica capito che casino hai fatto. Se usi il software sdm120c di granfrd puoi impostare la parità in funzione di come è impostato il tuo contatore. fra le varie opzioni c’è anche da dirgli la parità da usare. Io proprio non ho capito come stai usando il tuo contatore ….

  13. Andrea
    23 ottobre 2015 a 10:43 | #21

    Ho controllato e in effetti i miei due cosi hanno il fotoaccoppiatore montato al contrario.
    Purtroppo a me l’uscita a impulsi serve, il produttore ha dato qualche segno di vita in merito a questo problema?
    Sarei anche disposto a ricomprarli ma come faccio ad essere certo che non me ne capitino altri due “bacati”?
    Sai dirmi se si può stare tranquilli almeno sul fatto che l’SDM220 sia esente da questo problema? Se sì passerei a quelli.

    • 25 ottobre 2015 a 17:31 | #22

      L’uscita ad impulsi non la usa praticamente nessuno, perchè si possono leggere molto semplicemente tutti i parametri energetici tramite modbus. Sembra ci sia stata una partita di sdm120c con questo problema. Per gli sdm220 non saprei.

      Se sei abbastanza abile con il saldatore potresti anche provare a girare i fotoaccoppiatori … c’è chi l’ha fatto.

  14. Andrea
    8 novembre 2015 a 1:11 | #23

    Non è il tipo di risposta che mi aspettavo ma va bene così.
    Visto l’atteggiamento ho sbagliato io, avrei dovuto controllare subito e bloccare il pagamento di paypal.
    Comprerò due SDM220, ovviamente da qualcun altro.
    Saluti,

  15. Andrea
    8 novembre 2015 a 1:13 | #24

    Ah,
    “l’uscita a impulsi non la usa praticamente nessuno”. Io sì, peccato.
    Mi aspetto che l’annuncio su eBay venga corretto in “misuratori difettosi con uscita a impulsi guasta”, non vorrei mai che i prossimi ordini fossero di qualcuno che quando li riceve blocca il pagamenti e da un feedback negativo, si sa mai :)

  16. Andrea
    8 novembre 2015 a 1:14 | #25

    Ah, addenda due:
    Se fossi abbastanza serio c’è chi è bravo con le sostituzioni, c’è chi ci è riuscito.

    • 8 novembre 2015 a 13:39 | #26

      Vedi Andrea questo tuo atteggiamento è proprio quello che fà passare la voglia di condividere le informazioni in rete GRATUITAMENTE.

      Io ho detto che sembra ci sia stata una partita difettosa, NON CHE TUTTI SONO DIFETTOSI.
      Ed in rete trovi conferma che c’è gente che li usa anche con le uscite ad impulsi.
      Se vuoi provare tu con i cinesi a cercare di farti sostituire questi prodotti …. TANTI AUGURI …. vai a sbattere contro un muro di gomma.

      I contatori, se utilizzati secondo la mia guida, FUNZIONANO PERFETTAMENTE.

      Hai idea di quanto tempo, quante prove, e quanti soldi ho speso per acquistare prodotti vari e sperimentare i vari aspetti e per arrivare ad un qualcosa di funzionante?
      Hai idea di quanto tempo ho speso per scrivere una guida di oltre 80 pagine condivisa in rete gratuitamente, completa ed alla portata di tutti?
      Sinceramente questo tuo atteggiamento mi offende.
      Se oggi vendo qualche contatore su ebay non è sinceramente per guadagnare chissà cosa, ma semplicemente per aiutare chi vuole crearsi il proprio sistema di monitoraggio.
      Non c’è prezzo che ripagherebbe tutto il tempo che ho dedicato alla sperimentazione ed alla realizzazione della guida.

      Nella fretta, nella mia precedente risposta forse mi sono espesso male.
      Le uscite ad impulsi le ho utilizzate anch’io in un primo momento (vedi la mia prima guida), ma ora, avendo la possibilità di leggere tutti i parametri energetici della rete tramite modbus (e non solo l’energia consumata), mi sembra riduttivo utilizzare gli impulsi, oltre a tutti i problemi di sovraccarico della CPU del raspberry utilizzando questo sistema. Per questo ti ho detto che non è conveniente usarli.

      Comunque se vuoi e se sei interessato ad altri contatori posso controllare e verificare se le uscite ad impulsi sono funzionanti prima di spedirteli.

      • 8 novembre 2015 a 16:23 | #27

        Per verifica, ho controllato alcuni contatori SDM120modbus che ho in casa, e sono tutti con i fotoaccoppiatori montati correttamente, pertanto anche le uscite ad impulsi dovrebbero funzionare regolarmente.

  17. Alessandro
    1 dicembre 2015 a 11:05 | #28

    Ciao, uso lo stesso script accoppiato ad Emoncms ma noto che saltuariamente ho delle letture fuori scala tipo 32456 Watt (su un impianto da 3,5kW) ed anche il valore del contatore, saltuariamente, mi restituisce un valore un pò più basso del precedente mentre alla lettura successiva torna regolare… Sai da cosa potrebbe dipendere? Ti è capitato?
    Grazie!

    • 2 dicembre 2015 a 15:43 | #29

      I picchi sono sicuramente a causa di disturbi sul bus.
      Il valore più basso del precedente può succedere in caso di mancanza di alimentazione, in quanto il contatore non memorizza di continuo i dati su flash, ma evidentemente fà anche delle memorizzazioni intermedie su memoria volatile che vengono perse in caso di mancaza di rete.

      La soluzione è di inserire un controllo nello script di lettura che se la lettura è inferiore dell’ultima, mantiene l’ultima.
      Cosa peraltro già presente negli script indicati nella mia guida.

  18. Tullio
    5 febbraio 2016 a 18:51 | #30

    Ho appena ordinato l’ultimo dispositivoo SDM120C su ebay. Sono sicuro che funzionerà alla grande

  19. Cristina
    18 maggio 2016 a 11:05 | #31

    Per poter utilizzare il Raspberry si deve avere un inverter Aurora o Sma? Oppure si può applicare su altri inverter? Io ho un Elettronica Santerno e vorrei installare l’hardware..

  20. Gianluca
    25 agosto 2016 a 11:28 | #33

    Ciao, vorrei sapere se questo script può essere usato anche con i moduli seriali RS485 non usb, stile questo: https://www.homegear.eu/index.php/File:LC_Electronics_MAX485.jpg
    Purtroppo ho il raspberry montato in una scatola a misura e l’accessorio USB non mi entra fisicamente.
    Grazie

    • 25 agosto 2016 a 13:47 | #34

      In teoria dovrebbe funzionare, ovviamente specificando la porta corretta relativa alla seriale del Raspberry.
      Dico in teoria perchè io non ho mai provato.

  21. Gianluca
    25 agosto 2016 a 15:00 | #35

    Ciao e grazie della risposta. Pensavo anche io che funzionasse… Ho provato a lanciare il comando: sdm120c /dev/ttyAMA0 ma la risposta è: NOK.
    Ho appena ordinato un USB to RS485, almeno faccio una prova per escludere problemi di librerie o quant’altro….

    Grazie di nuovo

    • 25 agosto 2016 a 15:55 | #36

      Dovrebbe funzionare, ma devi specificare anche altri parametri:
      sdm120c -a1 -b2400 -PN -z5 -j10 /dev/ttyAMA0
      ovviamente correggi n. indirizzo, velocità e parità con i tuoi valori.
      Non sò poi se devi impostare anche la velocità della seriale del raspi che coincida con quella del contatore….

      Fammi sapere se funziona.

      Possibilmente discutiamo del problema sul forum che ho attivato:
      123Solar & MeterN Italian forum
      c’è anche una sezione apposita per gli adattatori RS485 da utilizzare:
      https://www.flanesi.it/forum/viewforum.php?f=16

  22. Matteo
    30 ottobre 2016 a 12:38 | #37

    Ciao, davvero un ottimo lavoro.
    Ti chiedo, è possibile leggere contatore sdm120c e inverter Aurora tramite un unico cavo RS485 e quindi unico adattatore usb?

    Ho problemi a tirare 2 cavi.

    Grazie mille.

  23. 9 dicembre 2016 a 21:49 | #39

    Ciao a tutti.
    Prodotto interessante.
    Mi confermate che l’sdm120c non è bidirezionale?

    Voglio dire: se l’impianto solare immette, l’sdm120c misurerà zero oppure un valore negativo?

    • 11 dicembre 2016 a 15:34 | #40

      E chi ha mai detto che non è bidirezionale?

      Il contatore SDM120modbus è BIDIREZIONALE come tutti i suoi fratelli maggiori (220, 230, 630).

      Cosa e come misura dipende da dove lo inserisci nel tuo impianto.
      Scusa ma la tua domanda non ha senso.

  24. Giuseppe
    16 gennaio 2017 a 10:49 | #41

    Ciao Flavio,

    grazie per il tuo lavoro…una semplice domanda…hai scoperto un modo per azzerare il totalizzatore KWH a bordo dell SDM ?

    Grazie
    Giuseppe

    • 17 gennaio 2017 a 12:59 | #42

      L’SDM120C non è azzerabile. Eventualmente c’è L’SDM230 che oltre al contatore non azzerabile ha anche un contatore per l’energia attiva ed uno per la reattiva che è azzerabile.

  25. Ale
    1 maggio 2018 a 10:48 | #43

    @Roberto
    Ciao ho anche io lo stesso problema, comunica con il plc mai valori son tutti a 0, come hai fatto a risolvere?
    Grazie

  26. Paride
    6 giugno 2018 a 17:43 | #44

    Ciao Flane , tempo fa lessi di questo sdm120C e ne comprai la versione 120CT con il TA fino a 50A, ho provato con il firmware di reaper 7 qui https://github.com/reaper7/SDM_Energy_Meter
    ,su esp8266 esp12-E ma non riesco a leggere i valori , mi da sempre ZERO nella live page . cosa potrei andare a modificare ? gli indirizzi dei parametri nel registro degli sdm (tensione, corrente
    ,potenza , cosp ecc) sono identici , guardando sul datasheet del 120C e del 120CT ma comunque sia non va .

  27. Gaetano
    11 luglio 2018 a 9:48 | #46

    Ciao Flavio,
    Sulla base delle preziose indicazioni nella tua guida ho acquistato un SDM120c ed un adattatore “vestito nero” per collegarlo ad un Raspberry sul quale gira DomoticZ. Per 2gg e’ andato tutto benissimo (ho fatto grafici del consumo istantaneo, granularita’ raccota dati a 5min, email di warning al superamento di soglia [es.: 3000W]), insomma, alla grande!!!!
    Ieri sera ho scollegato altre cose che gestiva il Raspberry (tuner USB per utilizzo con TVHeadEnd) e da quel momento non sono piu’ riuscito a leggere dati dall’SDM120c (“NOK”); ho cambiato computer, anche adattatore RS485, niente … la connessione SDMRS485_USB e’ la medesima, un cavo alimentazione bipolare sezione 1.5mm2, senza alcuna resistenza (prima andava benone). Ho anche provato a togliere brevemente tensione all’SDM (per farlo “ripartire”…) purtroppo senza esito positivo. Avresti qualche consiglio da darmi? :-o ?
    Grazie in anticipo per la collaborazione!

  28. Gaetano
    11 luglio 2018 a 10:35 | #48

    P.S.: utilizzati paramentri -P N -j 10 -z10, il resto in linea con la configurazione dell’SDM (che, peraltro, ha configurazione inalterata rispetto a quando la lettura funzionava) … sono andato anche in debug del modbus, fondamentalmente risulta un timeout della connessione anche se fisicamente e’ tutto correttamente collegato :(

  29. Gaetano
    11 luglio 2018 a 10:35 | #49

    OK, vado sul forum, grazie!

  30. Francesco
    28 luglio 2018 a 18:58 | #50

    Ciao a tutti.
    Chiedo scusa se l’argomento fosse stato già trattato, nel caso vi prego di fornire il link.
    Ho un impianto FV e vorrei monitorarlo tramite la guida di Flavio.
    Il problema è che la mia fornitura è trifase 400V tramite la quale alimento il solo motore del pozzo. Il resto di casa, compreso il FV, sono collegati a neutro e T1. Vorrei se possibile monitorare anche l’assorbimento del pozzo, quindi sia utenza trifase che tutte le utenze 240V. E’ possibile? E quale contatore ad impulsi dovrei acquistare?
    Grazie e complimenti per le chiarissime guide.

    • 28 luglio 2018 a 21:54 | #51

      Nessun contatore ad impulsi, molto meglio i contatori modus.
      Ti conviene usare un contatore trifase SDM630modbus e poi dei singoli contatori modbus monofase per la varie utenze.
      Il contatore trifase non è possibile leggerlo con il software sdm120c, ma c’è sul forum il software monitor sviluppato dall’utente Garluk che permette di leggere anche il contatore trifase. Ovviamente la configurazione prevista per nell’immagine Solarstretch va rivista ad hoc per il tuo caso.
      Per ulteriori chiarimenti usa il forum

  31. 10 dicembre 2018 a 17:21 | #52

    Ciao e complimenti per il sito e la guida che ho scoperto solo ora ma inizierò a spulciare per bene.
    Mi hanno appena installato un inverter solar edge ed ho OpenHab come domotica, volendo collegarlo e monitorare live la potenza prodotta, questo modulo din va connesso alla porta seriale del inverter?
    grazie mille

    • 11 dicembre 2018 a 15:57 | #53

      Non puoi connetterlo direttamente via seriale all’inverter, o almeno non credo proprio che sia compatibile e si possa fare.
      Con il contatore puoi eventualmente inserirlo sulla linea dell’inverter per monitorare la produzione con un raspberry e l’immagine SolarStretch che ho condiviso, con il monitoraggio per sistemi generici in quanto al momento non c’è niente di definitivo per leggere direttamente gli inverter Solaredge anche se qualcosa in rete si stà muovendo.
      Per ulteriori chiarimenti usa il forum

  32. giuseppe
    31 gennaio 2019 a 16:40 | #54

    ciao Flane,
    mi è arrivato l’ SDM120 ho effettuato tutte le connessioni,ho un problema,non riesco a cambiare indirizzo al contatotore.
    Con il comando
    root@raspberrypi:/home/pi# sdm120c -a 1 -P N -b 2400 -j10 -z10 -w10 /dev/ttyUSB0
    Voltage: 230.40 V
    Current: 1.75 A
    Power: 371.40 W
    Active Apparent Power: 374.90 VA
    Reactive Apparent Power: -50.00 VAR
    Power Factor: 0.99
    Phase Angle: 0.00 Degree
    Frequency: 50.00 Hz
    Import Active Energy: 2121 Wh
    Export Active Energy: 0 Wh
    Total Active Energy: 2121 Wh
    Import Reactive Energy: 50 VARh
    Export Reactive Energy: 233 VARh
    Total Reactive Energy: 283 VARh
    OK

    mi riporta i valori corretti,ma se lancio il comando per cambiare indirizzo e velocità del contatore mi riporta
    root@raspberrypi:/home/pi# sdm120c -a 1 -s 2 -b2400 -j10 -z10 -w10 /dev/ttyUSB0
    20190131-16:34:48.656550: sdm120c(8639) error: (110) Connection timed out, -1, 0
    NOK

    sai darmi un suggerimento,grazie.
    giuseppe

    • 31 gennaio 2019 a 18:01 | #55

      Prima di dare il comando di modifica dell’indirizzo hai messo in modalità SET il contatore premendo e tenendo premuto il pulsanto per più di 3 s fino a che compare la scritta SET sul display?
      Per ulteriori chiarimenti usa il forum

  33. giuseppe
    31 gennaio 2019 a 22:01 | #56

    grazie Flane,sono riuscito a configurare in contatore con il software su windows.
    Ho un altro problema,con metern,i test preliminari sono ok,quando vado ad effettuare i test degli indicatori,mi ritorna la dicitura :null is not valid, the correct format is 1_1(1234.5*V)
    Considera che sto utilizzando la tua immagine e per adesso ho configurato solo metern,disabilitando solar.
    grazie

  34. marco
    5 febbraio 2019 a 7:34 | #57

    l illuminazione dello schermo del contatore si puo disattivare?
    grazie mille

    • 11 febbraio 2019 a 15:59 | #58

      Sul contatore SDM120modbus non è possibile disattivare la retroilluminazione, a differenza del fratello maggio SDM230modbus dove è possibile temporizzare o disattivare l’illuminazione.
      Per ulteriori chiarimenti usa il forum

I commenti sono chiusi.

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi