Multiplexer NMEA 0183 Arduino: Progettiamo la shield

Questa è il secondo articolo su uno dei modi per realizzare un multiplexer NMEA 0183 con Arduino. Questa mini guida è composta da:

Se non lo avete già fatto vi invito a leggere l’articolo precedente “Un po’ di background” per comprendere meglio quello che leggerete dopo.

Riassumendo abbiamo selezionato l’Arduino Mega 2560 e abbiamo capito che questo ha integrate 4 seriali di tipo TTL. Il segnale NMEA è invece qualcosa di simile alla RS-232 e quindi dobbiamo trovare un modo per convertire questi due segnali.

Per farlo possiamo e dobbiamo usare uno dei tanti chip in commercio che converto il segnale RS-232 in TTL e viceversa.

Quelli di ultima generazione hanno il vantaggio che lato RS232 pur supportando tensioni in ingresso fino a 15V o 25V a seconda dei casi e trasmettono con livelli di tensione 5V (sempre lato RS-232).

Questa è una importante caratteristica poiché se vogliamo trasmettere qualcosa dal nostro Arduino ad uno strumento o ad un display non rischiamo di bruciarlo. Da notare che lo standard NMEA prevede una forte tolleranza ai picchi di tensione in ingresso tant’è che viene raccomandato l’opto-isolamento degli ingressi.

Nel piccolo sketch (si chiamano così i programmini per Arduino) che vi presenterò non invieremo segnali ai nostri strumenti, ma la cosa è fattibile (o meglio io lo faccio senza problemi).

Apro un piccola parentesi per precisare che tutto deriva da uno studio fai da te con informazioni reperite in rete e contro validate leggendo datasheet e specifiche varie. Ad ogni modo quello che fate è a vostro rischio e pericolo, se qualcosa va male non venite a brontolare da me.

Il mio caso il progetto nasce come progetto a basso costo soprattutto per interfacciare strumenti un po’ vecchi e che magari non sarebbero più utili. Se andate ad interfacciare qualcosa di molto costoso valutate bene il da farsi. In ogni caso non ci dovrebbero essere grandi rischi se da questi strumenti leggete dati, ma fatevi qualche domanda in più e altrettante molte verifiche prima di inviare a questi strumenti dei dati.

Adesso che ho messo le mani avanti 😀 andiamo al cuore del articolo. La realizzazione della shield.

Per progettarla occorre uno strumento CAD per l’elettronica. Quello che ho usato io è Eagle scaricabile qui.

Per gli utenti Ubuntu sarà sufficiente installarlo dall’Ubuntu Software Center o ancor più velocemente digitando nella shell il classico:

~$ sudo apt-get install eagle

L’ultima versione di Eagle scaricabile oggi 27 Febbraio 2015 è la 7.2.0, mentre la versione presente in Ubuntu 14.10 è la 6.5.0, ma a noi basta ed avanza.

Una volta installato Eagle scegliete freeware. La versione freeware impone dei limiti nella progettazione che per noi vanno più che bene.

Non è scopo di questo tutorial spiegare come si usa Eagle e come si progetta una schedina elettronica. Ci sono un sacco di tutorial in rete per questo. Considerate che prima di questo progetto ero completamente allo scuro di tutto. Con un po’ di buona volontà però si riesce ad imparare velocemente quello che ci serve per i nostri scopi.

Ecco qua l’immagine della shield che ho progettato:

SUNBoard Shield
SUNBoard Shield

Trovate il file sorgenti relativi alla scheda su gihub qui:

https://github.com/lucafrosini/SUNBoard

In questo repository trovate anche il codice sorgete dello sketch Arduino, ma prima di usarlo vi consiglio di leggere prima l’articolo Programmiamo il nostro Arduino.

I file sorgenti in formato Eagle della shield li trovate nella directory https://github.com/lucafrosini/SUNBoard/tree/master/board/sp3232e_TI-max232 dove trovate anche i datasheet dei convertitori RS232-to-TTL compatibili. In particolare questa shield è compatibile con il  MAX232 della Texas Instrument (attenzione non il Max232 della Maxim) e con l’SP232e della Sipex.

Nella directory https://github.com/lucafrosini/SUNBoard/tree/master/board/others-RS232-to-TTL trovate invece i datasheet di altri convertitori che NON sono compatibili con la nostra shield (a meno che non la modifichiate voi con Eagle).

Per chi fosse interessato a capire fino in fondo la shield a breve renderò disponibile un articolo chiamato Nel cuore della shield.

Se invece non siete interessati a sapere perchè è fatta così e/o prendete per buono quello che ho fatto io potete abusare del mio progetto. Finalmente è arrivato il momento… Realizziamo la shield.