Shield per Arduino Due

Salve a tutti, sto cercando di realizzare una scheda di acquisizione di segnali analogici. Vorrei usare la scheda Arduino Due per la conversione AD e la comunicazione seriale con il laptop. Non sono molto esperto con Arduino, però ho visto che c'è la possibilità di usare delle shield per interfacciare la scheda con "il mondo esterno".

Potreste indicarmi un po' di buona documentazione per capire come realizzare una shield per Arduino Due ?

Grazie

Che segnali analogici?

ECG, EEG, etc.. in pratica milliV e microV a basse frequenze (0-150 Hz)

N.B. Conosco i rischi derivanti dall'interazione della corrente elettrica con il corpo umano

L'Arduino accetta 5V max sui suoi ingressi sia digitali che analogici per cui intanto devi assicurarti che i tuoi segnali rispettino questo limite.
Inoltre l'ADC (convertitore analogico/digitale) dell'Atmega328 ha poca risoluzione, solo 10 bit, quindi puoi avere in uscita un valore che va da 0 a 1023. Con 1024 step a 5V, hai una risoluzione di 4,88 mV a step.
Se abbassi la tensione del segnale di ingresso ad 1,1V max, puoi usare il riferimento interno del micro a 1,1V, così che con i tuoi 1024 step la risoluzione ti sale a 1,07 mV/step. Questo è il massimo che puoi ottenere con l'Arduino. Se ti servono microvolt mi sa che devi rivolgerti ad ADC esterni.

Leo lui sta parlando della DUE, che lavora a 3.3V.
L'ADC ha una precisione di 10 bit di default che possono diventare 12 con analogReadResolution() (http://arduino.cc/en/Reference/AnalogReadResolution)
Per far leggere quei segnali all'Arduino dovresti amplificarli o, come ha detto prima Leo, usare un ADC esterno adatto a quelle tensioni.

Ops, mi ero dimenticato che usa la DUE. :sweat_smile:
Comunque la teoria è valida comunque, deve solo rifare i conti :wink:

leo72:
Se ti servono microvolt mi sa che devi rivolgerti ad ADC esterni.

Più che altro gli serve un circuito di precondiziomento dei segnali che non è semplice da realizzare.

Un esempio della complessità circuitale per lo stadio d'ingresso degli elettrodi EEG.

Si si, i segnali vengono amplificati con un guadagno considerevole, 10 bit sono più che sufficienti.

In generale lo schema del circuito ce l'ho già (più o meno quello postato da astrobeed). In pratica la connessione con Arduino averrebbe attraverso due uscite analogiche (da eeg ad arduino) e un ingresso digitale per il segnale di calibrazione (da arduino all'eeg), più il circuito per l'alimentazione,la massa virtuale e l'isolamento dell'utente.

Quello che chiedevo è qualche suggerimento (tutorial, schemi elettrici , modelli CAD (magari KiCAD) ) per realizzare una shield per Arduino ( DUE in particolare ).

In pratica vengono solo replicati i pin ? sono poi utilizzabili per collegare altri dispositivi, tipo qualche modulo per la connettività wireless ?

Grazie per le risposte

Ah, capito.
Per creare uno shield puoi prenderti gli schemi Eagle di un qualunque protoshield realizzato per la scheda DUE. Va bene anche uno per la MEGA, la piedinatura è uguale. In questo modo hai le dimensioni e la distanza fra i vari header corretti.
A questo punto realizzi il tuo schema.
Se vuoi poterci impilare sopra un altro shield, controlla di non andare ad usare i pin che usa l'altro.

Capito.
Bisogna replicare solo gli header o anche qualcos'altro ? in caso volessi usare una wifi shield per esmpio?

ma il montaggio va fatto in qusto modo http://makezineblog.files.wordpress.com/2008/07/img_3636.jpg?w=600&h=400

o in quest'altro http://arduino.cc/en/uploads/Main/ArduinoProtoShield_Front.jpg ?
:~

luighi:
Capito.
Bisogna replicare solo gli header o anche qualcos'altro ?

Puoi replicare il pulsante di reset, serve sempre.

in caso volessi usare una wifi shield per esmpio?

Devi prendere lo shield wifi che vuoi comprare e controllare i pin che usa.
Puoi aiutarti con questo sito:
http://www.shieldlist.org/
Ha la piedinatura di molti degli shield in circolazione.

ma il montaggio va fatto in qusto modo http://makezineblog.files.wordpress.com/2008/07/img_3636.jpg?w=600&h=400

o in quest'altro http://arduino.cc/en/uploads/Main/ArduinoProtoShield_Front.jpg ?
:~

Se vuoi impilare gli shield devi replicare il secondo montaggio,usando degli header fatti apposta che trovi in vendita da diversi shop. Robot-Italy ce li ha, anche con i pin più lunghi del solito, cosa che ti consiglio se vuoi stare un pò più lontano dalla scheda sottostante e pensi di saldare dei fili spessi sotto allo shield.

Perfetto, grazie :slight_smile:

Una cosa che non ti ho detto e non è uscita da questa discussione. Non so se lo sai ma tra una coppia di header (quella in alto a SX) c'è una spaziatura non standard. Ciò comporta che lo shield non puoi replicarlo con una millefori ad esempio, a meno di non piegare i pin di uno dei due header per farli combaciare con la scheda sottostante. Se vuoi impilare un altro shield, poi non puoi farlo perché gli header non tornerebbero comunque.

Quindi devi o prendere un protoshield già stampato oppure fai il PCB in caso o presso un service.
Spero di essere stato chiaro. :sweat_smile:

Si, ho appena letto qualcosa su questo.
Grazie cmq per la precisazione :slight_smile: