Simplification de la conception de capteurs tactiles capacitifs à l'aide du kit CY8CKIT de Cypress
Avec la contribution de Rédacteurs nord-américains de DigiKey
2016-12-15
Le contrôle tactile est une exigence fondamentale pour de nombreux produits grand public, des appareils électroménagers aux dispositifs corporels. Cependant, pour les développeurs, la conception de capteurs tactiles relève souvent à la fois de l'art et de l'ingénierie en raison des interdépendances entre la conception fonctionnelle et la configuration physique. Par conséquent, les équipes de développement peuvent se retrouver retardées lorsqu'elles utilisent des interactions de conception multiples pour obtenir les meilleures performances des boutons, des curseurs et d'autres éléments.
Pour faciliter le développement de projets, le kit de prototypage PSoC 4000S CapSense de Cypress Semiconductor offre une gamme complète d'éléments matériels et logiciels nécessaires pour évaluer la détection tactile capacitive et accélérer sa mise en œuvre dans un large éventail de produits.
Cet article décrit le fonctionnement des différentes approches de détection tactile capacitive et certaines mises en garde que les concepteurs doivent comprendre lors de l'utilisation de ces approches dans une conception. Il présente ensuite le kit PSoC CapSense, son fonctionnement et son utilisation. Des exemples de code sont fournis.
Pourquoi utiliser la technologie tactile capacitive ?
La nature des capteurs tactiles capacitifs les rend parfaitement adaptés à une vaste gamme d'applications. En éliminant les pièces mobiles dans les boutons et les interrupteurs mécaniques conventionnels, les systèmes de capteurs tactiles sont très fiables et peu susceptibles de tomber en panne en raison de l'usure. En outre, étant donné qu'ils peuvent être complètement encapsulés dans des matériaux de protection, ils peuvent fonctionner dans des environnements difficiles. Au-delà de leur fiabilité, les capteurs tactiles peuvent s'adapter facilement à différentes formes, ce qui aide les ingénieurs à répondre à la demande des consommateurs qui souhaitent des conceptions soignées et élégantes dans les appareils électroménagers, les automobiles et d'autres produits grand public.
Les capteurs tactiles capacitifs tirent profit du changement de capacité qui se produit lorsqu'un doigt ou une main s'approche d'une surface tactile dédiée. Les capteurs tactiles détectent ce changement en utilisant deux approches différentes : capacité propre ou capacité mutuelle.
Dans un capteur tactile à capacité propre, un doigt placé sur le capteur crée une voie conductrice vers la terre, ce qui provoque une augmentation soudaine de la capacité qui est alors considérablement plus importante que les différentes sources de capacité parasite entre le capteur et le plan de masse (Figure 1) . La capacité propre est généralement privilégiée pour les applications tactiles monopoints, comme les boutons ou les curseurs.

Figure 1 : Détection des changements de capacité entre la broche E/S et la masse grâce à la capacité propre. L'utilisation d'un remplissage hachuré relié à la terre tout autour du capteur permet d'améliorer l'immunité au bruit de ce dernier. (Source : Cypress Semiconductor)
À l'inverse, la détection par capacité mutuelle mesure la capacité entre les électrodes de transmission et de réception (Figure 2). Ici, lorsqu'un contrôleur applique une tension à la broche de transmission, la quantité de charge mesurée au niveau de la broche de réception est directement proportionnelle à la capacité mutuelle entre les deux électrodes. Cette technique peut offrir un rapport signal/bruit (SNR) plus élevé que la capacité propre, ce qui entraîne une plus grande immunité au bruit. Ce rapport signal/bruit plus élevé permet également d'utiliser des couches plus épaisses, comme les écrans de protection et les écrans d'affichage nécessaires dans les applications industrielles.
En outre, les capteurs organisés en matrice peuvent permettre aux développeurs de suivre simultanément les changements de capacité mutuelle à différents points. Par conséquent, cette approche est privilégiée dans les applications multipoints utilisant des pavés tactiles, que l'on trouve généralement dans les produits grand public plus compacts, ou des écrans tactiles utilisés dans les applications axées sur l'affichage dans les appareils électroménagers et les automobiles.

Figure 2 : Dans un système de détection à capacité mutuelle, un contrôleur commute la tension vers une électrode de transmission (TX). La quantité de charge mesurée au niveau de l'électrode de réception (RX) est proportionnelle à la capacité mutuelle entre elles. Le contact d'un objet conducteur, comme un doigt, entraîne un changement dans la capacité mutuelle mesurée. (Source : Cypress Semiconductor)
Conception de capteur
Comme le montrent les Figures 1 et 2, les capteurs capacitifs sont construits à partir de rubans sur des cartes multicouches. Pour un bouton de base à capacité propre, la conception la plus simple consiste à placer le ruban du capteur, entouré d'un plan de masse hachuré, sur le dessus de la carte. Le capteur est relié à la broche d'entrée d'un contrôleur qui est généralement fixé au bas de la carte, également associé au plan de masse. Enfin, la couche supérieure est recouverte d'un composé protecteur non conducteur au-dessus du capteur. Pour les claviers, les ingénieurs étendent cette conception de base en construisant des capteurs individuels dans une matrice de boutons adressables.
Les concepteurs peuvent créer des curseurs linéaires à partir de plusieurs capteurs généralement disposés en zigzag. Comme décrit ci-dessous, cette configuration fournit des informations que le logiciel de capteur tactile associé peut utiliser pour calculer de façon plus précise la position du doigt. Les pavés tactiles et les écrans tactiles étendent davantage cette approche à l'aide de deux curseurs linéaires pour déterminer la position X-Y d'un doigt placé sur la surface du pavé ou de l'écran.
En pratique, la conception physique des capteurs tactiles capacitifs peut être assez complexe, car les ingénieurs doivent réduire la capacité parasite, ce qui réduit la sensibilité du capteur. En plus de la conception minutieuse du plan de masse en lui-même, le plan de masse hachuré nécessite un respect strict des règles de conception physique spécifiques. Par ailleurs, dans les appareils électroménagers et d'autres produits où le liquide peut fausser les mesures des capteurs, les ingénieurs doivent élaborer des structures plus complexes pour éviter les mesures erronées lorsqu'un liquide est présent sur la surface de détection. Les réseaux de capteurs à capacité mutuelle étendent encore la complexité de la conception avec des matrices de capteurs construites à partir de rubans de transmission et de réception sur plusieurs couches de carte à circuit imprimé.
Même si les concepteurs doivent être très minutieux dans la création de ces capteurs, le développement des capteurs tactiles capacitifs suit largement un processus de conception typique. Cependant, avant le lancement de la production complète des cartes de capteurs, les ingénieurs doivent généralement ajuster les paramètres matériels et logiciels pour tenir compte des caractéristiques spécifiques des composants, des capteurs et des cartes, ainsi que des exigences spécifiques pour les performances des capteurs et pour l'alimentation globale. Des dispositifs spécialisés de système sur puce (SoC), comme le PSoC 4000S de Cypress Semiconductor, intègrent des fonctionnalités spécifiques conçues pour simplifier les mises en œuvre de capteurs tactiles capacitifs, notamment les exigences de réglage.
CapSense de Cypress
Basée sur un cœur de processeur ARM® Cortex®-M0+, la gamme de dispositifs PSoC 4 de Cypress combine la mémoire avec des périphériques analogiques et numériques programmables conçus pour répondre à un large éventail d'applications. En particulier, le PSoC 4000S fournit la fonctionnalité CapSense exclusive de Cypress, qui comprend une chaîne complète de signaux pour le traitement des capteurs tactiles capacitifs. Ainsi, les ingénieurs peuvent mettre en œuvre une conception de capteur tactile avec seulement quelques composants supplémentaires (Figure 3).

Figure 3 : Le dispositif PSoC 4000S de Cypress Semiconductor intègre un cœur ARM Cortex-M0+, une mémoire et des périphériques avec une chaîne de signaux de capteurs capacitifs CapSense de Cypress. Les développeurs n'ont besoin que de quelques composants supplémentaires pour mettre en œuvre des solutions de détection basées sur des conceptions à capacité propre ou mutuelle. (Source : Cypress Semiconductor)
Pour les conceptions de capteurs à capacité propre, les ingénieurs relient chaque capteur à une broche E/S à usage général (GPIO) et ajoutent un condensateur CMOD externe supplémentaire (Figure 3). Les conceptions de capteurs à capacité mutuelle utilisent des GPIO distinctes pour chaque ligne de réception et de transmission de capteur, ainsi qu'une paire de condensateurs externes, CINTA et CINTB. De plus, un condensateur CTANK externe prend en charge la mise en œuvre d'électrodes blindées utilisées pour réduire la sensibilité à la présence de liquides sur la surface au-dessus du capteur.
Le PSoC 4000S prend en charge les méthodes à capacité propre et à capacité mutuelle. Pour la détection de capacité propre, la fonction CapSense Sigma-Delta (CSD) du SoC mesure les changements de capacité propre au niveau d'une GPIO à l'aide d'un convertisseur courant-numérique. Pour la détection de capacité mutuelle, la fonction Capsense Crosspoint (CSX) du SoC commande une électrode Tx et détecte la charge au niveau d'une électrode Rx. La charge mesurée au niveau de l'électrode Rx est proportionnelle à la capacité mutuelle entre les deux électrodes.
Dans les deux approches, le convertisseur génère un nombre brut qui reflète la capacité propre mesurée au niveau d'une GPIO ou la capacité mutuelle mesurée au niveau d'une broche Rx. En comparant le nombre brut aux seuils programmables de bruit et de signal, le microprogramme peut déterminer si un doigt est présent sur le capteur d'un bouton ou sur un capteur associé à un emplacement particulier sur un curseur ou un pavé tactile (Figure 4).

Figure 4 : Le bloc PSoC 4000S CapSense de Cypress génère des nombres qui indiquent un contact lorsque les valeurs dépassent un seuil de bruit programmable et atteignent des seuils tactiles programmables. CapSense prend également en charge les niveaux d'hystérésis supérieurs et inférieurs au seuil de détection tactile cible. (Source de l'image : Cypress Semiconductor)
Le bloc CapSense peut effectuer cette analyse sans nécessiter d'intervention du processeur. Par conséquent, les concepteurs peuvent programmer le cœur Cortex-M0+ pour effectuer d'autres tâches pendant les analyses de capteurs. En pratique, cependant, les changements de courant associés à une activité de processeur indépendante peuvent provoquer du bruit au niveau des circuits analogiques sensibles dans le bloc CapSense. Par conséquent, les développeurs limitent généralement l'activité du processeur lors des analyses, en particulier pour les applications qui nécessitent des environnements à haute sensibilité et à faible bruit.
En effet, différents capteurs peuvent présenter différents niveaux de bruit et de sensibilité en raison des variations de fabrication, ce qui nécessite un réglage minutieux des paramètres matériels et logiciels pour corriger ces différences. Cependant, au-delà de ces variations systématiques, des changements plus brusques des conditions environnementales peuvent introduire des facteurs qui ont un impact dynamique sur la sensibilité, les performances et la précision.
Pour maintenir de bonnes performances malgré les conditions changeantes, la fonction SmartSense du dispositif PSoC 4000S offre une capacité de réglage automatique qui définit automatiquement les paramètres afin de conserver une sensibilité et des performances optimales. Lorsque le bloc CapSense est initialisé, SmartSense recalcule les paramètres tels que la résolution d'analyse, ainsi que les paramètres des horloges internes et d'autres circuits internes clés. Toutefois, au début de chaque analyse, SmartSense peut mettre à jour automatiquement des paramètres plus dynamiques, notamment les valeurs de seuil de bruit et de seuil de contact. Ainsi, SmartSense peut compenser de manière dynamique les différents environnements de bruit et même les pics de bruit aléatoires qui ne peuvent pas être anticipés pendant la conception.
Dans certains cas, cependant, les concepteurs peuvent quand même avoir besoin d'utiliser des méthodes de réglage manuel. Par exemple, SmartSense prend en charge les conceptions avec une capacité parasite jusqu'à 45 pF. Les conceptions avec une capacité parasite très élevée peuvent donc nécessiter un réglage manuel. De plus, SmartSense prend uniquement en charge les conceptions de capteurs à capacité propre. Les conceptions de capteurs à capacité mutuelle nécessitent donc un réglage manuel. En fait, Cypress recommande l'utilisation d'un réglage manuel même pour les conceptions à capacité propre, lorsque l'application nécessite un contrôle très strict de paramètres spécifiques, tels que la durée d'analyse des capteurs.
Développement rapide
Avec toutes ses fonctionnalités intégrées, un dispositif complexe comme le PSoC 4000S peut nécessiter un travail considérable pour la programmation de chaque bloc sur puce. Pour faciliter la programmation et la configuration, Cypress propose son environnement logiciel PSoC Creator gratuit. PSoC Creator est un environnement de conception intégré (IDE) qui permet de masquer la complexité des détails de la configuration matérielle du dispositif et des couches logicielles associées.
PSoC Creator est conçu pour fonctionner avec les kits de conception PSoC 4 de Cypress qui incluent un débogueur ou un programme d'amorçage intégrés. Par conséquent, le développement avec un dispositif PSoC est très simple. Il suffit de connecter la carte de développement au port USB du système et de choisir les paramètres appropriés. Par exemple, les développeurs peuvent activer le réglage automatique SmartSense simplement en le sélectionnant sur un écran de configuration PSoC Creator (Figure 5).

Figure 5 : L'environnement de conception intégré PSoC Creator de Cypress simplifie la programmation et le développement. La configuration du dispositif et des fonctionnalités comme le réglage automatique SmartSense est réduite à une série de sélections sur les écrans dédiés à des domaines spécifiques du dispositif. (Source de l'image : Cypress Semiconductor)
La combinaison du matériel PSoC 4000S et de l'environnement de conception intégré PSoC Creator offre un avantage important dans la mise en œuvre de conceptions de détection capacitive. Pourtant, comme mentionné précédemment, des problèmes tels que la capacité parasite, les sources de bruit et d'autres considérations de conception détaillées restent des obstacles pour les équipes de développement qui cherchent à développer une solution de capteur tactile capacitif. Cypress répond au besoin de développement rapide avec son kit de prototypage PSoC 4000S, qui fournit une mise en œuvre matérielle tactile complète et un logiciel d'exemple. Le kit combine la carte de débogage KitProg2 de Cypress, une carte de capteur à boutons, une carte de curseur linéaire et une carte principale avec le PSoC 4000S et le dispositif EZ-BLE PRoC de Cypress pour les communications Bluetooth Low-Energy (BLE).
Les développeurs peuvent rapidement commencer à tester les applications de capteurs en connectant simplement la carte au port USB (Figure 6). En utilisant PSoC Creator, le développeur peut sélectionner et compiler un projet d'exemple, utiliser le programmateur micrologiciel de l'environnement de conception intégré pour programmer le dispositif PSoC 4000S sur la carte principale, puis utiliser le débogueur intégré pour découvrir le fonctionnement. Le kit prend en charge à la fois la détection de capacité propre et de capacité mutuelle sur les cartes à boutons et à curseurs. Par ailleurs, les développeurs peuvent utiliser PSoC Creator pour configurer le kit afin d'utiliser des capteurs dans l'une ou l'autre configuration.

Figure 6 : Le kit de prototypage PSoC 4000S de Cypress offre une conception déconnectable unique comprenant une carte de débogage connectée par USB, une carte de capteur tactile, une carte de curseur linéaire et une carte principale qui peut être séparée pour le développement de conceptions de capteurs capacitifs personnalisés. (Image : Cypress Semiconductor)
Le logiciel PSoC Creator et la suite logicielle pour le kit de prototypage PSoC 4000S peuvent être téléchargés gratuitement. Tandis que PSoC Creator est utilisé pour configurer et programmer le dispositif PSoC 4000S embarqué du kit, la suite logicielle comprend un ensemble complet de bibliothèques de logiciels avec un logiciel d'exemple illustrant les modèles de conception clés pour les applications tactiles capacitives.
Par exemple, la routine main.c dans les exemples de boutons et de curseurs illustre l'initialisation du dispositif suivie d'un échantillonnage continu des capteurs. Dans ce code, une instruction de commutation effectue séquentiellement une analyse des capteurs après un réglage automatique en option, attend que l'analyse soit terminée, puis traite tous les capteurs activés (Liste 1). La bibliothèque de Cypress comprend des paquets qui mettent en œuvre les appels logiciels de bas niveau requis pour chaque phase de la séquence.
DEVICE_STATE currentState = SENSOR_SCAN;
. . .
/* Start CapSense block */
CapSense_Start();
. . .
for(;;)
{
/* Switch between SENSOR_SCAN->WAIT_FOR_SCAN_COMPLETE->PROCESS_DATA states */
switch(currentState)
{
case SENSOR_SCAN:
/* Initiate new scan only if the CapSense block is idle */
if(CapSense_NOT_BUSY == CapSense_IsBusy())
{
#if ENABLE_TUNER
/* Update CapSense parameters set via CapSense tuner before the
beginning of CapSense scan
*/
CapSense_RunTuner();
#endif
/* Scan widget configured by CSDSetupWidget API */
CapSense_ScanAllWidgets();
/* Set next state to WAIT_FOR_SCAN_COMPLETE */
currentState = WAIT_FOR_SCAN_COMPLETE;
}
break;
case WAIT_FOR_SCAN_COMPLETE:
/* Put the device to CPU Sleep until CapSense scanning is complete*/
if(CapSense_NOT_BUSY != CapSense_IsBusy())
{
CySysPmSleep();
}
/* If CapSense scanning is complete, process the CapSense data */
else
{
currentState = PROCESS_DATA;
}
break;
case PROCESS_DATA:
/* Process data on all the enabled widgets */
CapSense_ProcessAllWidgets();
/* Controls LEDs Status based on the result of Widget processing. */
LED_Control();
. . .
}
}
}
Liste 1 : Le logiciel d'exemple de Cypress illustre l'utilisation des capacités de détection capacitive du PSoC 4000S. Dans cette application d'exemple, après l'initialisation du bloc PSoC 4000S Capsense, une boucle sans fin effectue séquentiellement des analyses de capteurs (CapSense_ScanAllWidgets), attend que les analyses soient terminées, puis traite les résultats (CapSense_ProcessAllWidgets). (Source du code : Cypress Semiconductor)
Lorsqu'ils sont prêts à tester leurs propres conceptions de capteurs, les développeurs peuvent retirer la carte de débogage et les deux cartes de capteurs pour continuer leur développement uniquement avec la carte principale. Le kit met en évidence les embases pour les connexions entre les capteurs du kit et les broches GPIO du PSoC 4000S, permettant ainsi de créer en toute simplicité des capteurs personnalisés.
Pour les développeurs qui cherchent à développer leurs capteurs en se basant sur la conception du kit, la conception de référence associée fournit des schémas matériels complets et des logiciels associés. Par exemple, la conception de référence matérielle illustre l'utilisation d'une série de capteurs pour le curseur linéaire (Figure 7). La suite logicielle associée fournit un logiciel d'exemple qui illustre une technique pour améliorer la précision de l'estimation de la position du doigt.

Figure 7 : Dans la conception de référence du kit de prototypage PSoC 4000S de Cypress, un curseur linéaire comprend un ensemble de capteurs disposés en zigzag pour améliorer la résolution de l'identification du placement des doigts. La conception inclut une électrode de transmission, permettant un fonctionnement en modes à capacité mutuelle et à capacité propre. (Source de l'image : Cypress Semiconductor)
Grâce à la disposition en zigzag d'un curseur linéaire, lorsqu'un doigt touche un point spécifique sur le curseur, il touche également partiellement les segments adjacents. Le kit logiciel utilise ces informations dans une routine de bas niveau (capsense_CalcCentroid) qui calcule le centroïde des valeurs à l'aide du capteur (Si) qui présente le nombre maximal, et des capteurs (Si-1, Si+1) situés de part et d'autre (Liste 2). En interpolant la position du doigt de cette manière, le logiciel est capable de générer une solution de placement de doigts à une résolution plus élevée qu'en utilisant uniquement le capteur qui présente la plus grande valeur. L'application logicielle d'exemple active ensuite les LED, ce capteur et les capteurs en dessous (S0,S1,…,Si-1,Si).
. . .
/* Si+1 - Si-1 */
numerator = (uint32) capsense_centroid[capsense_POS_NEXT] -
(uint32) capsense_centroid[capsense_POS_PREV];
/* Si+1 + Si + Si-1 */
denominator = (int32) capsense_centroid[capsense_POS_PREV] +
(int32) capsense_centroid[capsense_POS] +
(int32) capsense_centroid[capsense_POS_NEXT];
/* (numerator/denominator) + maximum */
denominator = (((int32)(uint32)((uint32)numerator << 8u)/denominator) + (int32)(uint32)((uint32) maximum << 8u));
. . .
/* Round result and put it to uint8 */
position = ((uint8) HI16((uint32)denominator + capsense_CENTROID_ROUND_VALUE));
return (position);
Liste 2 : La routine capsense_CalcCentroid extrait les nombres des capteurs à partir d'une table de valeurs pour chaque capteur (capsense_centroid), pour le capteur précédent, le capteur actuel et le capteur suivant dans l'ensemble linéaire afin de renvoyer le résultat du calcul du centroïde indiqué ici. (Source du code : Cypress Semiconductor)
Conclusion
Basées sur les techniques de détection capacitive, les interfaces tactiles offrent aux utilisateurs une méthode intuitive pour contrôler des appareils, allant des dispositifs corporels aux machines à laver. Outre ses exigences d'alimentation minimales, la détection capacitive offre une haute fiabilité et une durée de vie étendue, difficiles à atteindre avec des boutons et des commutateurs mécaniques. Pourtant, les développeurs qui cherchent à mettre en œuvre des systèmes de détection robustes peuvent facilement être retardés par les itérations de conception nécessaires pour résoudre les caractéristiques de conception et de configuration physique des circuits interdépendants dans les systèmes de détection capacitive. Un kit de prototypage complet et une conception de référence basés sur le PSoC 4000S de Cypress Semiconductor offrent une solution prête à l'emploi qui peut aider les développeurs à déployer rapidement des conceptions robustes de détection tactile capacitive pour une large gamme d'applications.
Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.




