Sono alle prese con l’utilizzo di un Proximity Capacitive touch Sensor Controller denominato MPR121. Questo dispositivo può essere utilizzato in sistemi che integrano touchpad o touch switch come ad esempio, lettori MP3, smartphone, ecc. Per poterlo testare, ho utilizzato una piccola board già assemblata che ho collegato alla board Olimexino-328.

L’alimentazione del chip è compresa tra i 2 e 3.6 V. Per un corretto funzionamento bisogna interporre, tra la VDD e GND, un condensatore ceramico da 100 nF ed uno elettrolitico da 1 uF per sopprimere il noise proveniente dall’alimentazione. Infatti, un eventuale noise superiore ai 100 mV potrebbe compromettere il corretto funzionamento del chip, provocando false letture. Il chip presenta 12 I/O configurabili come ingressi o uscite. Sul piedino VREG è necessario collegare un condensatore da 100 nF e sul pin REXT una resistenza da 75 K ohm. Una volta collegati questi componenti si può alimentare la scheda.

Per poter ottenere delle misure attendibili bisogna tener conto della capacità parassita (Cb) presente sui piedini di ingresso e della capacità parassita indotta dal dito verso massa (Cx), come mostrato nello schema. Nei casi pratici, la capacità Cb si aggira intorno a 10 pF, mentre la capacità Cx può essere al di sotto di 1 pF.

Mentre, nelle applicazioni portatili alimentati a batterie, questi valori possono scendere al di sotto del pico Farad e questo comporta una maggiore sensibilità per discriminare la variazione di capacità che avviene durante il tocco. Per ovviare questo problema, l’ MPR121 utilizza una configurazione a carica costante (charge current) che permette di mantenere regolare la carica su ciascun ingresso.

Tutti i canali vengono letti sequenzialmente: quando un canale è in fase di misurazione, gli altri sono cortocircuitati verso massa. Ciascun ingresso è collegato ad un Multiplexer che evita l’utilizzo di un singolo ADC per canale. Il segnale digitalizzato così, passa attraverso 3 filtri digitali settati per attenuare il rumore sulle alte e basse frequenze. Questi filtri possono essere controllati attraverso degli appositi registri, come anche le threshold ed altre impostazioni.

Per maggiori informazioni vi allego il link del datasheet:

https://www.sparkfun.com/datasheets/Components/MPR121.pdf

Il cablaggio elettrico come mostrato in figura è molto semplice, in quanto la board utilizza il protocollo I2C:

Nel video mostro il funzionamento della tastiera elettronica che ho realizzato attraverso della carta e dei pezzi di foglio di alluminio. Essa è composta da 7 tasti e ciascuno di essi è collegato ad un ingresso del sensore touch. Ecco a voi il risultato:

Condivido la cartella contenente il firmware e la libreria utilizzata nel progetto:

https://1drv.ms/u/s!Ah8yhB72WFVxgxR_XD7PlI_rGzFG?e=zJT01V

Valerio Conicella