sistema - Massari Electronics

  • MassaBus Application Example

     VERSIONE: 1.0 | SISTEMA OPERATIVO: WINDOWS (32/64bit) 2000, XP, Vista e 7 | RILASCIO: OPEN SOURCE

     

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

    Il software MassaBus Controller da solo non è in grado di controllare le funzioni affidate al sistema domotico MassaBus, per questo motivo esso dispone di una modalità automatica che permette ad un software esterno di controllare le varie unità del bus domotico attraverso un porta TCP/IP. Tale software può essere adattato al massimo per soddisfare le esigenze dell’utente finale. In questa parte si analizza un software di esempio per comprendere alcuni aspetti della domotica: il monitoraggio e la mutazione immediata delle funzioni.


    Il software di esempio progettato si occupa di visualizzare a video la temperatura di due sensori di temperatura (schede Temperature sensor) presenti nel bus e monitorare l’attivazione di un sensore di movimento piroelettrico PIR attraverso l’ingresso 1 di una scheda Multi I/O Device. Quando il sensore PIR rivelerà un movimento il software a seconda della modalità impostata via software può intraprendere due azioni: accendere una luce o attivare un allarme. Queste due funzioni vengono svolte in maniera immediata e senza alcuna modifica alla circuiteria del sistema, rappresentando quindi la praticità di utilizzo di un sistema domotico.

    La circuitazione di esempio utilizzata con il software di controllo e il sistema MassaBus è visibile in figura sotto, dove è anche possibile vedere un esempio di assegnazione degli indirizzi delle schede nel bus. 

     

    In tale circuito si nota la presenza di un campanello di allarme, di una luce e del sensore PIR per il rilevamento dei movimenti. Il campanello richiede una tensione di 12Vac, mentre la luce a led viene alimentata con 16Vdc eppure non vie è alcun problema di pilotaggio essendo il relè considerabile come un normale deviatore meccanico. Il sensore PIR invece provvede a fornire al primo ingresso una tensione di 16Vdc (che è supportabile dalla scheda nonostante l’ingresso sia progettato per una tensione di 12V) che si occupa di attivare il fotoaccoppiatore di ingresso e il led di segnalazione.

    Questa applicazione ovviamente ha una dubbia utilità, permette però di capire come un sistema domotico possa “interagire” con l’ambiente circostante. Ad esempio se nel computer master viene installato un cellulare GSM con opportuno software di controllo comunicante via TCP/IP con il software MassaBus Controller, sarà possibile controllare a distanza l’ambiente in cui il sistema MassaBus è installato. Tutto questo tramite normali SMS o chiamate dati.

    Il circuito descritto montato fisicamente è visibile in figura sotto dove si possono notare in centro la campana di allarme, il sensore PIR e introno le schede MassaBus utilizzate. 

    ALTRE IMMAGINI

    Sono disponibili i sorgenti per Visual Basic .NET (gratuito) o Visual Studio 2010 e l'eseguibile compilato per avviare direttamente l'applicazione.

    DOWNLOAD FILE SORGENTI

    DOWNLOAD ESEGUIBILE

  • MassaBus Mini I/O Device

     cimg1687

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

    Questa scheda è la versione ridotta della scheda Multi I/O Device del sistema domotico MassaBus. Dispone di 4 uscite a relè e di 4 ingressi digitali optoisolati e condivide la maggior parte dei comandi della scheda gemella più grande.

    SCHEMA ELETTRICO


    schminiio

    Lo schema è semplificato rispetto alla scheda Multi I/O Device, si nota in particolare l'uso di un microcontrollore più piccolo 16F628A e la mancanza del convertitore analogico-digitale. L'integrato ULN2803A è stato sostituito da 4 transistor per ottimizzare spazio e costi.

     

    FIRMWARE

    Il firmware è stotanzialmente identico a quello della scheda Multi I/O tranne per la mancanza delle istruzioni che eseguivano le funzioni del convertitore analogico-digitale che in questa scheda non è presente.

     

    REALIZZAZIONE PRATICA

    Di seguito è possibile osservare il circuito su PCB, l'immagine è puramente indicativa. Per realizzare le schede fate riferimento ai file allegati.

    Attenzione che alcuni componenti (diodi, resistenze) sono montati in verticale quindi un terminale va sulla scheda e l'altro terminale assume la forma di "u" rovesciata per poter arrivare anch'esso alla scheda.

    Fate attenzione anche a montare i due ponticelli presenti sulla scheda, realizzabili con del filo nudo.

    brdminiio

     

    ALCUNE IMMAGINI

      

     

    I file per la realizzazione della scheda sono in formato PDF con sorgente in formato per FidoCAD, il firmware è compilato in formato HEX con il sorgente per l'IDE MikroBasic (in versione free).


    DOWNLOAD FILE PROGRAMMA MICROCONTROLLORE   

    DOWNLOAD FILE REALIZZAZIONE SCHEDA

                                                                     

       

  • 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 (da1 a 254).
    • Permette 63 tipi di comando ai dispositivi (da1 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 data2 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 da1 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)