Progettare un sensore touch capacitivo

L’obiettivo di questo articolo è introdurre le tecniche che permettono di realizzare un’applicazione touch di tipo capacitivo, che risulti robusta e il più possibile insensibile al rumore.

I sensori capacitivi non sono altro che delle aree sul PCB riempite di rame e collegate tramite una pista ad un dispositivo in grado di rilevare piccole differenze di capacità che possono essere causate da un dito dell’utilizzatore che sfiora il sensore. Il dispositivo di rilevazione effettua periodicamente e continuativamente la lettura della capacità delsensore e quando individua una variazione è in grado di interpretarla come una pressione sul sensore. La Figura 1 mostra come avviene il processo: la capacità C0 (o CBASE) è la capacita misurata quando non si ha niente sulla pad del sensore, CF è la variazione di capacità causata dal tocco di un dito, CT è la capacità totale del sensore.

Figura 1: Schema del sensore capacitivo touch.

Figura 1: Schema del sensore capacitivo touch

Al momento del tocco le capacità risultano in parallelo e la capacità totale si può ritenere la somma delle due. In realtà l’equazione è leggermente più complessa e il sistema deve essere considerato come una rete composta da capacità, resistenze e induttori che sono il risultato del PCB, della copertura del sensore, del corpo umano e dell’ambiente circostante. Per questo motivo ogni applicazione richiede necessariamente degli aggiustamenti in base alle singole esigenze. Le tecniche per rilevare una variazione di capacità utilizzando un microcontrollore sono fondamentalmente due. La prima prevede la misura di una tensione, caricando la capacità direttamente collegata al pin del microcontrollore e misurando variazioni di tensione sul pin. Due tecniche sfruttano questa filosofia, la CTMU (Charge TimeMeasurement Unit) e la CVD (Capacitive Voltage Divider). L’alternativa è misurare la capacità con un approccio in frequenza (per esempio come la tecnica RightTouch di Microchip), utilizzando una frequenza random per individuare variazioni di capacità. In Figura 2 le forme d’onda tipiche delle tre metodologie elencate.

Figura 2: Forme d’onda per l’acquisizione di un sensore capacitivo.

Figura 2: Forme d’onda per l’acquisizione di un sensore capacitivo

EFFETTI DEL RUMORE

L’immunità al rumore per un sensore touch è un parametro importantissimo e il design deve inevitabilmente essere coinvolto per ottenere le migliori prestazioni possibili. A differenza di un semplice pulsante a pressione meccanico dove si rileva un livello alto o basso sul pin del microcontrollore, con una logica quindi prettamente digitale, un pulsante touch richiede invece una lettura analogica, perciò il processo di individuazione del tocco è composto da tre fasi:

• Acquisizione: con le tecniche in tensione o in frequenza
• Filtraggio: per aumentare l'SNR del campione acquisito
• Decodifica: per determinare se il sensore è premuto o rilasciato, utilizzando anche il campione al passo precedente

Il rumore per un sistema touch può essere di due tipi: condotto o irradiato. Il rumore condotto si manifesta nel sistema se alimentato esternamente, tramite la rete elettrica, alimentatori, porte USB e qualsiasi applicazione che preveda la condivisione della massa del sensore con la massa di un altro sistema.

Il rumore irradiato è un problema comune per tutti i sistemi touch capacitivi, in particolare, se il sensore è un ingresso ad alta impedenza, allora si comporta da antenna. In più, ogni dispositivo elettronico irradia un campo elettromagnetico che, se avviene in prossimità del sensore touch, ne modifica la capacità. Se l’acquisizione del sensore sfrutta la metodologia in frequenza, allora si devono realizzare dei salti di frequenza periodici (frequency-hopping) per eliminare il rumore legato alle armoniche della frequenza principale. Nei sistemi basati sulla misura di tensione, il rumore si manifesta invece come un offset positivo o negativo sommato al valore del campione, senza contare che, se la frequenza di campionamento del sensore è multipla di un’armonica del rumore, ci può essere risonanza: il campione si aggiunge ai picchi o alle valli del rumore e l’effetto del rumore sul campione è massimo. Per minimizzare l’effetto del rumore abbiamo a disposizione tecniche hardware e tecniche software. Analizziamone alcune.

TECNICHE HARDWARE PER MINIMIZZARE IL RUMORE

Il design hardware del sensore è una delle scelte più importanti che poi influenzano la robustezza di tutta la catena di rilevazione. Rispettare le linee guida di design significa aumentare la sensibilità del sensore e ridurre la presenza di rumore, non seguirle può rendere difficile e in alcuni casi impossibile far lavorare correttamente il sensore. La cosa più importante da ricordare è l’equazione che governa la rilevazione capacitiva:

CT = C0 + CF (1)

Come mostrato in precedenza in Figura 1, se andiamo a ridurre lo spessore della copertura del sensore in maniera proporzionale aumenterà la sensibilità. Se aumentiamo l’area del sensore (mantenendola sempre più piccola dell’area del dito) la componente CF aumenta e quindi anche la sensibilità. Bisogna valutare poi nella componente C0 come intervengono le capacità parassite, se si riesce a ridurle si sentirà maggiormente l’effetto di CF al momento della pressione. In base a questi requisiti analizziamo alcuni aspetti che influenzano i fattori dell’equazione (1).

Il PCB

Meglio collocare sul lato top le pad del sensore capacitivo e collocare sul bottom le relative piste, tutti gli altri componenti e le relative piste (specialmente di potenza). Se si dispongono di più di 2 layer, per esempio 4, dedicare il secondo layer alle piste del sensore, interporre un layer di GND ad eccezione della zona sotto le pad del sensore, e lasciare il rimanente sul lato bottom.

Forma delle pad

Per le pad solitamente si usa la dimensione 15 x 15 mm molto adatta al tocco con il dito, la distanza da pad a pad di 10 mm oppure di 2-3 volte lo spessore della copertura. Tali parametri permettono di minimizzare l’impatto che la pressione di una pad determina sulle adiacenti, se non dovesse bastare, una tecnica utilizzata è quella di creare una scanalatura nella copertura tra le pad, come in Figura 3.

Figura 3: Tecnica AirGap per ridurre il crosstalk.

Figura 3: Tecnica AirGap per ridurre il cross-talk

In questo caso la zona d’aria ha una bassa capacità, il cui effetto è dominante nella serie delle capacità che si presentano sulle pad adiacenti, determinando una bassa CF su queste. Un’altra tecnica è quella di realizzare delle piste di guardia intorno alle pad, collegando questa pista a GND si crea un percorso a bassa impedenza e si minimizza il cross-talk. Un discorso a parte necessita la realizzazione di slider. Solitamente si usa un design come in Figura 4, la prima soluzione è molto più precisa ma richiede l’analisi di 7 pad, la soluzione alternativa invece riduce l’accuratezza ma impiega solo due pad.

Figura 4: Layout raccomandato per realizzare slider.

Figura 4: Layout raccomandato per realizzare slider

Il pannello di copertura

La copertura e, in particolare, il materiale di cui è fatta, incide notevolmente sulla sensibilità del sensore capacitivo touch. L’obiettivo è avere uno spessore ridotto che determini una variazione di capacità notevole nel momento del tocco, tuttavia, questa esigenza si scontra con il requisito di robustezza del sistema che richiede uno spessore più consistente. In Figura 5 vengono mostrate le curve di sensibilità al tocco per diversi materiali in funzione dello spessore. La soluzione ottimale è avere uno spessore inferiore ai 3 mm e avere una copertura in plastica o ancor meglio in vetro.

Figura 5: Curve di sensibilità in funzione dello spessore della copertura.

Figura 5: Curve di sensibilità in funzione dello spessore della copertura

Un altro aspetto che può migliorare la resa di un sistema capacitivo touch è il layout del PCB. I consigli sono pochi ma essenziali e si possono riassumere di seguito:

• Le piste verso le pad del sensore devono essere sottili e più corte possibili per evitare accoppiamenti capacitivi.

• In alcuni casi l’aggiunta di una resistenza in serie alle pad, quando si usano i metodi CVD e CTMU, migliora la robustezza al rumore in alta frequenza. Infatti, lavorando in congiunzione con la capacità interna del pin funziona come filtro passa basso. L’importante è non esagerare con il valore di resistenza per non peggiorare la risposta del sensore. Valori tipici sono 2.5 kohm per CVD e 4.7 kohm per CTMU.

• Mantenersi lontano dalle piste di LED e di potenza.

Un ulteriore aspetto da valutare nel design di un sistema touch capacitivo, è quello dell’alimentazione. L’ideale sarebbe avere tensioni di alimentazioni alte in maniera che siano più insensibili al rumore, in più una capacità di bypass per ogni pin di alimentazione è una soluzione preferibile. Se il sistema consente di condividere la propria massa con quella dell’operatore che effettua il tocco, allora la sensibilità raddoppia.

TECNICHE SOFTWARE PER MINIMIZZARE IL RUMORE

Molto spesso i chip dedicati a gestire dei sensori capacitivi touch sono già in grado di applicare autonomamente le tecniche software che si discuteranno di seguito, tuttavia, conoscerle è importante per ottimizzare al meglio l’applicazione. Un aspetto importante da valutare è il sampling rate con cui si legge il sensore. Sicuramente una frequenza di campionamento costante è da preferire per dare tempo a tutti gli elementi della catena di acquisizione di operare correttamente e anche perché è giusto considerare che l’applicazione sia soggetta a modifiche in “tempi umani”, non è possibile avere due tocchi a distanza di pochi millisecondi!

Solitamente per le applicazioni più sensibili, magari per applicazioni gaming, ci si spinge anche a 100 campionamenti al secondo fino a scendere per le applicazioni più lente a 3 campionamenti al secondo. In alcuni casi le frequenze di campionamento e di decodifica differiscono, specie se l’ambiente del sensore è rumoroso, perciò potrebbe essere campionato il sensore ogni 50 us ma decodificato l’output ogni 10 ms. Una delle tecniche più utilizzate per evitare che il rumore in corrispondenza delle armoniche della frequenza di campionamento si sommi al campione, è quella del jittering. Ossia, dopo ogni campionamento si modifica leggermente l’intervallo di attesa prima del successivo.

Per i sensori che utilizzano la tecnica di misura della capacità in frequenza esiste l’approccio “frequency hopping” già discusso in precedenza. Una tecnica software molto utilizzata per ridurre l’effetto del rumore è quella dell’oversampling: ogni lettura del sensore è il frutto di più acquisizioni combinate tra loro. In questo modo l’effetto del rumore impulsivo viene minimizzato poiché non presente su tutti i campioni che determinano la lettura, in più la risoluzione della lettura aumenta perchè frutto di tutti i campioni acquisiti. Un ulteriore aspetto su cui il software può operare è il filtraggio, che può avvenire sia sul campione acquisito, sia prima della decodifica.

Solitamente sul campione si opera con un filtro “slew rate limiter” subito all’ingresso per ridurre il rumore e smussare il segnale, un successivo filtraggio “L-Point Running Average” crea un effetto di aggiornamento lento come punto di riferimento per la decodifica. Infine, un filtraggio passa basso di Butterworth sulle letture è in grado di ridurre il rumore prima della decodifica. L’ultimo parametro che il software deve considerare è la soglia di pressione, ossia il valore oltre il quale ritenere valida la pressione sul sensore. Una tecnica a soglia fissa potrebbe essere limitativa, specie se la riproducibilità non è garantita tra sensore e sensore. Meglio una soglia variabile, calcolata run time, anzi meglio due soglie, in modo da poter realizzare un’isteresi e individuare anche la soglia per il rilascio della pressione, come in Figura 6.

Figura 6: Isteresi nella soglia di rilevazione della pressione sul sensor touch capacitivo.

Figura 6: Isteresi nella soglia di rilevazione della pressione sul sensore touch capacitivo

Delle scelte oculate a livello di design hardware sono la base per ottenere un buon sistema touch capacitivo, in grado di essere il più possibile immune al rumore. Seguendo le indicazioni fornite in precedenza si avrà un ottimo punto di partenza con un SNR di ba

 

MAGGIORI APPROFONDIMENTI SULL'ARGOMENTO