Test di performance canale rs485

In ogni progetto di domotica con Arduino ed Android, particolare attenzione deve essere data alla gestione degli errori nei canali di comunicazione quali per esempio rs485. Questi infatti possono accadere per diversi motivi ed il sistema deve riuscire a gestirli con successo.

In particolare, nel video che segue, volevo dimostrarvi alcuni test che ho effettuato per capire se le informazioni visualizzate nel pannello multi touch vengono correttamente aggiornate non appena la connessione viene ristabilita.

Il led rosso indica che l’Arduino sta processando richieste modbus dal master. Come potete vedere, il lampeggio si ferma quando il canale rs485 viene interrotto. Non appena quest’ultimo viene ristabilito, la segnalazione led riparte. Inoltre, date un occhio alle icone delle lampadine nel monitor: quando il bus viene ripristinato, le icone rifletteranno correttamente il loro nuovo stato.

La descrizione del progetto ed il sorgente sono scaricabili. Take a look!

Come al solito, i commenti sono ben accetti! :)

Comunicazione Android Arduino via RS485 e Modbus

In questo post vi parlo di uno dei progetti a cui sto lavorando in questo periodo. Consiste nell’utilizzare un pannello multi touch Android che comunica attraverso rs485 e modbus con uno (o più) Arduino board. In particolare, l’ambito principale del progetto riguarda la domotica (accensione/spegnimento/status luci, regolazione temperatura, ecc) sebbene molte delle tecniche e concetti che vedremo possono essere applicati con successo in altri campi.


La cosa carina del touch screen che ho utilizzato è l’ampia disponibilità di porte, ampia connettività in generale: Ethernet, USB, rs232, RS485 ed anche I²C. Sebbene disponga di porte molto veloci, ho espressamente scelto di utilzzare RS485 perchè i device Arduino (Uno per esempio) per supportare per esempio l’interfaccia Ethernet hanno bisogno di elettronica aggiuntiva che fa lievitare ulteriormente il prezzo (anche se dal punto di vista della fattibilità esistono diversi progetti in rete).
RS485 è uno standard molto conosciuto nell’ambito dell’automazione industriale e nella domotica. E’ half-duplex, utilizza due fili, tollera molto bene i disturbi, si riescono a raggiungere buone velocità e connettere device remoti fino anche a 1200 metri.

Inoltre, utilizzando il protocollo serial modbus, anche questo sviluppato principalmente nell’ambito dell’automazione industriale, è open, semplice e robusto da sviluppare e manutenere. Ho scelto di utilizzare la variante del modbus denominata RTU, sebbene ne esistano di altre. Continue reading

Automazione Industriale Sviluppi Futuri

Industrial Automation remote I/O module

C’è un forte dibattito in merito alla fattibilità di utilizzare Android in installazioni industriali. Le grandi aziende che si contendono il mercato molto spesso costringono i propri clienti ad utilizzare software proprietario.

Il mondo sta cambiando ed Internet è uno dei fattori che permette agli utenti di beneficiare della disponibilità pressochè infinita di informazioni, specifiche tecniche ed anche di persone che gratuitamente condividono la propria esperienza.

La nostra visione è che a breve, sempre più applicazioni industriali beneficeranno dei suggerimenti e sforzi di communità on line e questo sarà la base per una nuova idea di automazione.

In questo post, vi mosterò come l’integrazione di Android in progetti industriali è possibile, e di facile realizzazione.

Continue reading

Automazione Industriale Android: Inverter

Il video che vi voglio presentare in questo post riguarda un esempio di Automazione Industriale Android. In particolare, vi faro’ vedere un progetto che ho realizzato in cui una multi touch screen equipaggiato di un microprocessore Cortex A8 a 1Ghz controlla un inverter, nello specifico ho usato un inverter a frequenza variable Allen-Bradley.

Dall’interfaccia touch screen Android è possibile:

  • Far partire e fermare il motore
  • Impostare la direzione (avanti, indietro)
  • Attivare/disattivare il relay di output
  • Controllare lo stato degli input digitali
  • Vedere i parametri come la corrente, la frequenza ed il voltaggio in output
  • Impostare la frequenza del motore

Prossimamente trovere nel mio canale github i sorgenti del progetto e le specifiche complete, stay tuned! Commenti sempre ben accetti :)