Sistema domotico MassaBus

I DISPOSITIVI MASSABUS SONO ORA IN VENDITA COMPLETI E AGGIORNATI QUI!

Domotica fai da te. Il sistema MassaBus è un sistema domotico adatto per controllare ed automatizzare ambienti domestici ed aziendali. Esso si basa sullo standard di comunicazione RS485, molto usato a livello industriale per la sua elevata resistenza ai disturbi induttivi e capacitivi. L’interfacciamento del sistema al computer centrale avviene tramite una porta seriale standard RS232 mentre la comunicazione nel bus viene gestita in modalità MASTER – SLAVE con una rete RS485 di tipo half-duplex che permette di estendere il sistema fino ad una distanza di 1200 metri.

Il sistema può essere usato per automatizzare i vari dispositivi presenti in una abitazione o in una azienda e per monitorare degli ambienti interni o esterni. Attualmente il sistema permette di collegare fino a 32 dispositivi (limite dettato dalla rete RS485 ma espandibile fino  a 254 attraverso opportune schede di rigenerazione del segnale) comprendenti un dispositivo MASTER composto da un PC e dei dispositivi SLAVE che permettono di gestire uscite digitali e monitorare ingressi digitali, tensioni,  temperature e altro.

Caratteristiche principali:

  • Interfacciamento al computer tramite seriale RS232;
  • bus di comunicazione RS485 avente alta resistenza ai disturbi;
  • interfaccia RS232 isolata elettricamente dal bus di comunicazione RS485;
  • sistema estendibile senza rigeneratori fino a 1200m e 31 dispositivi slave, oppure oltre 1200m e fino a  253 dispositivi slave attraverso l’uso di rigeneratori di segnale;
  • Alimentazione centralizzata;
  • Flessibilità, possibilità di ampliamento ed adattamento agli ambienti in cui è predisposto;
  • Controllo centralizzato tramite PC predisposto con software di gestione;
  • I/O isolati dal sistema;
  • Utilizzo componenti di facile reperibilità;
  • Massima libertà nella programmazione degli indirizzi: ogni unità indirizzabile può avere da 1 a 254 come indirizzo e l’indirizzo può essere programmato direttamente via software;
  • Le schede slave dispongono di alcune caratteristiche comuni quali: un led di segnalazione attività, un interruttore che consente di attivare la programmazione degli indirizzi e un pulsante di reset per applicare i nuovi indirizzi o per effettuare il reset della scheda;
  • Tutte le schede interfacciate al bus RS485 dispongono di dip switch per adattare la scheda alle caratteristiche del bus.

Il sistema MassaBus prevede come mezzo fisico trasmissivo un doppino twistato non schermato (UTP) per il trasporto dei segnali differenziali A e B ed un terzo conduttore che si occupa di interconnettere la massa in comune ai vari dispositivi. Il doppino twistato può anche essere di tipo schermato (FTP o SFTP) che permette di avere una maggiore resistenza ai rumori esterni, utile soprattutto in ambienti particolarmente rumorosi dal punto di vista elettromagnetico. Oltre ai segnali è necessario prevedere anche 2 fili conduttori che collegheranno l’alimentatore del sistema con i singoli dispositivi del bus. Questi fili andranno scelti di opportuna sezione in accordo con la dimensione e la struttura del sistema adottata.

Il sistema MassaBus strutturalmente è composto dagli elementi visibili in figura.

Comunicazione logica del sistema

Il sistema MassaBus per poter gestire la propria architettura a bus non ha bisogno solo degli accorgimenti illustrati nel capitolo precedente, ma deve anche prevedere un ben preciso protocollo di comunicazione che permetta, oltre al trasferimento dati, anche l’indirizzamento dei dispositivi presenti nel bus. Questo tipo di protocollo viene detto “protocollo di linea”. Esso è stato ideato da me e si rifà ai protocolli di linea adottati a livello 2 ISO OSI nelle reti, adattati all’utilizzo specifico nel sistema MassaBus.

Tale protocollo ha le seguenti caratteristiche:

  • E’ un protocollo di linea a pacchetti organizzati in trama.
  • Indirizza fino a 254 dispositivi (da 1 a 254).
  • Permette 63 tipi di comando ai dispositivi (da 1 a 63).
  • Consente l’invio di 2 campi dati ad 8 bit per pacchetto.
  • Utilizza una rivelazione (ma non di correzione) degli errori attraverso operazioni di XOR, detta “Checksum”.
  • Ha una trama avente 11 byte.

Il protocollo di linea applicato nel sistema prevede per la comunicazione una forma a pacchetto avente una trama (figura 2.12) composta da 11 byte, aventi ognuno una funzione specifica.

I byte hanno le seguenti funzioni nella trama:

  • Start byte (0): questo byte indica l’inizio della trama.
  • Indirizzo destinatario(1): è un indirizzo ad 8 bit che indica il destinatario del pacchetto.
  • Indirizzo mittente (2): è un indirizzo ad 8 bit che indica il mittente del pacchetto.
  • Type e zero flag (3): questo byte è composto da 2 parti: i primi due bit meno significativi rappresentano gli “zero flag”, mentre gli altri bit indicano il tipo di comando a cui si riferisce il pacchetto. Gli zero flag sono bit posti a 1 quando il campo data 1 o data 2 ha valore zero (il meno significativo indica uno zero, in data 1, quando ha valore 1, il secondo bit indica uno zero, in data 2, quando ha valore 1). Questo accorgimento è necessario poiché il master utilizza linguaggi di alto livello aventi spesso problemi nel trattare dati aventi in mezzo alla trama valori nulli (pari a 0).
  • Data 1 e data 2 (4 e 5): rappresentano i 2 byte inviati dal pacchetto
  • Checksum low (6): contiene come bit più significativo un 1 fisso e come 4 bit meno significativi i 4 bit meno significativi del Checksum calcolato prima della trasmissione.
  • Checksum high (7): contiene come bit più significativo un 1 fisso e come 4 bit meno significativi i 4 bit più significativi del Checksum calcolato prima della trasmissione. I bit posti ad 1 fisso dei due byte di Checksum low e high consentono di evitare il formarsi di byte aventi valore 0 e di sequenze simili agli end byte.
  • End byte (8,9 e 10): sono una sequenza di 3 byte aventi valore 3, che non può presentarsi in altri campi altri della trama, indicanti la fine del pacchetto.

Indirizzamento dispositivi

L’indirizzamento dei dispositivi MassaBus avviene tramite un codice binario ad 8 bit, permettendo di indirizzare fino a 254 dispositivi. Tale numero massimo è dovuto alle limitazioni sull’utilizzo degli indirizzi, in particolare:

  • L’indirizzo 0 non può essere utilizzato
  • L’indirizzo 255 è riservato al master per comunicazioni di broadcast ( a tutti i dispositivi slave, in contemporanea) e per la programmazione iniziale degli indirizzi.

Il master deve essere unico nella rete e deve disporre di un unico indirizzo tra 1 e 254, assegnatogli prima dell’ assegnazione degli indirizzi agli slave. I dispositivi slave possono essere al massimo 253 con indirizzi da 1 a 254. Questo protocollo non si interessa del mezzo fisico utilizzato, pertanto per poter usare 254 dispositivi è necessario prevedere unità di rigenerazione del segnale essendo la rete RS485 limitata, nei transceiver utilizzati, a 32 dispositivi interconnessi senza rigenerazione.

Di seguito trovate una tabella che indica le vari funzioni dei campi presenti nel pacchetto. Solitamente la comunicazione di base avviene con una chiamata del master al slave e lo slave subito risponde al master. L'unica eccezione è appunto in caso di broadcast in cui gli slave comandati non rispondono. Nelle comunicazioni normali la tipologia pacchetto tra domanda master e risposta slave, salvo errori, non cambia. A cambiare è solo il campo dati che cambia significato di volta in volta. Di seguito la tabella permette di capire l'associazione tipologia pacchetto e significato campo dati in domanda e risposta al master.

 

Hardware & Software attuale del sistema MassaBus, cliccare sui link per i dettagli (tutte le parti sono in fase di pubblicazione)

La parte hardware del sistema MassaBus si articola attualmente su queste tipologie di dispositivi:

  • Scheda alimentazione provvede ad alimentare l’intero sistema
  • Scheda di interfaccia bus provvede a convertire i segnali dell’interfaccia PC RS232 in segnali adatti al bus RS485 del sistema
  • Scheda Multi I/O device permette di controllare 8 uscite a relè, 8 ingressi optoisolati e dispone di un ingresso analogico 0-5V per collegare sensori o dispositivi aventi in uscita un segnale analogico
  • Scheda Mini I/O device permette di controllare 4 uscite a relè e 4 ingressi optoisolati
  • Scheda Temperature sensor permette il controllo della temperatura presente in un ambiente o in un oggetto
  • Scheda PAN camera control permette di controllare la rotazione di una telecamera a 360°

Inoltre è possibile arricchire la dotazione sensoriale e di interazione del sistema con appositi dispositivi accessori da collegare agli input/output del sistema:

  • Termostato elettronico permette di attivare un ingresso del sistema MassaBus quando la temperatura misurata tramite un sensore NTC supera la soglia impostata tramite trimmer
  • Sensore di pioggia e allagamenti permette di attivare un ingresso del sistema MassaBus quando un sensore apposito rileva la presenza di liquidi come in caso di pioggia o allagamenti

Mentre la parte software del PC si articola su questi programmi:

  • MassaBus Controller Il programma di gestione della comunicazione e di tutte le schede del bus, supporta una modalità manuale dove i comandi al bus vengono dati tramite l'intefaccia del software e una modalità automatica in cui un programma esterno (es. MassaBus Application Example) tramite una connessione TCP può invocare i comandi sul bus ed automatizzare tutto il sistema.
  • MassaBus Application Example è un software dimostrativo che lavora in simbiosi con il programma MassaBus Controller e permette di dare "intelligenza" al sistema domotico. Questo programma può essere sostituito con uno creato appositamente per soddisfare le proprie esigenze.

Questo progetto è stato presentato per la mia tesina di maturità, nel link qui sotto è possibile visualizzare il pdf con la tesina completa di spiegazioni dettagliate sul funzionamento di ogni scheda. Infatti troverete tutto quello che è pubblicato sul sito (e che deve essere ancora pubblicato) con alcune spiegazioni in più ed una dettagliata analisi dei software coinvolti.


TESINA MASSABUS (PDF)

 

Commenti   

# Massari Electronics 2012-11-29 22:30
Citazione Giuseppe:
Ciao, complimenti per il progetto....davvero impegnativo, ma penso che stia dando le sue soddisfazioni...hai mai pensato al PLC?...mi sono messo in testa di realizzare un progetto simile con comunicazione RS485 ma sui cavi a 220...senza stendere nuovi cavi per la connessione....se ti può interessare un upgrade del tuo progetto e quindi una collaborazione fatti sentire ;) Ciao
Ciao, ti ringrazio per i complimenti. Il progetto sta andando avanti e presto nascerà qualcosa di commerciale. Avevo valutato le tue idee in fase progettuale ma poi non le ho effettuate per una serie di vincoli. Comunque la collaborazione mi interessa anche per ampliare l'offerta di realizzazione del sistema. Puoi contattarmi direttamente tramite l'email presente nella pagina "Chi sono".
Rispondi | Rispondi con citazione | Citazione
# Giuseppe 2012-11-26 23:54
Ciao, complimenti per il progetto....dav vero impegnativo, ma penso che stia dando le sue soddisfazioni.. .hai mai pensato al PLC?...mi sono messo in testa di realizzare un progetto simile con comunicazione RS485 ma sui cavi a 220...senza stendere nuovi cavi per la connessione.... se ti può interessare un upgrade del tuo progetto e quindi una collaborazione fatti sentire ;) Ciao
Rispondi | Rispondi con citazione | Citazione
# Massari Electronics 2012-04-02 02:13
Citazione daddy:
Ciao! Ho trovato per caso questo progetto e credo mi metterò all'opera per la realizzazione.
Intanto volevo farti i miei complimenti per l'idea e per la realizzazione del tutto. Poi avrei un paio di domande da farti. Intanto vorrei sapere se queste schede sono autonome o se hanno bisogno di un pc nel quale installare gli automatismi necessari (se ingresso 1=1, uscita 2=1, per esempio).
E poi una curiosità: come mai hai scelto di usare la porta seriale anziche l'usb?
Sto realizzando qualcosa del genere e credo che il tuo lavoro mi concederà una marea di spunti!

Ciao, innanzitutto ti ringrazio per i complimenti.
Per quanto riguarda le domande: il sistema necessita di un nodo centrale che gestisca la comunicazione tra le schede esso può essere un pc, un sistema embedded o un microcontrollor e. La scelta della seriale è derivata dal fatto che tutti i microcontrollor i e i dispositivi embedded la supportano e spesso nei lunghi periodi risulta più affidabile dell'usb. Inoltre può essere facilmente implementabile con l'usb (nel caso il nodo centrale non abbia la seriale) tramite chip come l'FT232RL. Senza contare poi il fatto che il bus RS485 supporta tramite convertitori il protocollo RS232 (o seriale).
Rispondi | Rispondi con citazione | Citazione
# daddy 2012-04-01 13:15
Ciao! Ho trovato per caso questo progetto e credo mi metterò all'opera per la realizzazione.
Intanto volevo farti i miei complimenti per l'idea e per la realizzazione del tutto. Poi avrei un paio di domande da farti. Intanto vorrei sapere se queste schede sono autonome o se hanno bisogno di un pc nel quale installare gli automatismi necessari (se ingresso 1=1, uscita 2=1, per esempio).
E poi una curiosità: come mai hai scelto di usare la porta seriale anziche l'usb?
Sto realizzando qualcosa del genere e credo che il tuo lavoro mi concederà una marea di spunti!
Rispondi | Rispondi con citazione | Citazione
# Massari Electronics 2011-12-15 00:42
Citazione stefano:
Davvero molto bravo!! In questi giorni mi son messo in testa il pic, e tu mi sei e saresti di grande aiuto, hai fatto proprio quello che stavo cercando!! Complimenti

Grazie molte, sono felice di questo!
Rispondi | Rispondi con citazione | Citazione
# stefano 2011-12-14 23:43
Davvero molto bravo!! In questi giorni mi son messo in testa il pic, e tu mi sei e saresti di grande aiuto, hai fatto proprio quello che stavo cercando!! Complimenti
Rispondi | Rispondi con citazione | Citazione
# Massari Electronics 2011-07-05 01:27
Citazione Enrico:
Complimenti, molto interessante il tuo progetto, hai fatto un bel lavoro! Penso che farai della strada, la domotica ormai comincia ad essere sempre più attuale e ci sono sempre nuove aziende che progettano sistemi domotici sempre più avanzati...

Grazie mille!
Rispondi | Rispondi con citazione | Citazione
# Enrico 2011-07-04 23:15
Complimenti, molto interessante il tuo progetto, hai fatto un bel lavoro! Penso che farai della strada, la domotica ormai comincia ad essere sempre più attuale e ci sono sempre nuove aziende che progettano sistemi domotici sempre più avanzati...
Rispondi | Rispondi con citazione | Citazione

Aggiungi commento

Codice di sicurezza
Aggiorna

Elettronica Progetti Sistema domotico MassaBus