Comment fonctionnent les capteurs à touches sensitives ?
Les interfaces tactiles capacitives se sont vraiment imposées après le succès de l'iPod de Apple avec sa molette rotative. Depuis lors, les surfaces tactiles sont présentes dans presque toutes les applications domestiques, les applications industrielles et même nos voitures. Ici, nous explorons les principes du tactile capacitif et ses défis pour le rendre assez fiable pour son déploiement dans des applications réelles.
Il y a longtemps, nous étions tous très contents avec des boutons mécaniques. Ensuite, en 2003, est apparu un iPod d'Apple avec une interface entièrement tactile. En un instant, les distributeurs de produits mondiaux étaient hors d'eux-mêmes, et tout se devait d'avoir une interface tactile, depuis les machines à laver aux poignées de porte des voitures en passant par les cafetières.
Une grande partie du succès de l'iPod peut être attribuée à son interface utilisateur tactile. Derrière son anneau brillant et ses boutons lumineux se trouvaient des capteurs capacitifs. Mesurés plusieurs fois par seconde, tout changement de capacité indiquait la présence d'un doigt pour signaler un appui ou une rotation. Bien sûr, le phénomène physique utilisé n'était pas nouveau. L'influence de la capacité du corps humain sur les circuits électroniques a été découverte en 1919, lorsque Leon Therémine l'utilisa pour contrôler un oscillateur hétérodyne dans son instrument du même nom.
Ceux qui ont de l'expérience en électronique ont certainement vu les effets d'un doigt de la main sur un circuit. Les circuits audio ou radio répondent souvent à la présence d'un doigt en modifiant la hauteur de leur sortie ou en se réglant sur une autre station de radio. J'ai entendu une fois que quelqu'un a vu son récepteur radio fonctionner comme il devrait en plaçant son doigt près de l'un des tubes à vide. Peu enclin à laisser ledit doigt à l'arrière de la radio pour toujours, ils l'ont remplacé avec une saucisse, qui a donné de bons résultats pour un temps et la surprise pour le technicien, qui devait remplacer cette pièce de charcuterie par une réparation réelle.
Les circuits tactiles capacitifs reposent sur le changement de capacité que produit un doigt ou une partie du corps sur la fonction d'un circuit. La valeur d'un condensateur dans un circuit est augmentée par la présence d'un doigt formant une capacité parallèle à la masse.
Une approche serait d'utiliser des condensateurs dans un oscillateur. Dans cet exemple, nous faisons varier la valeur de C2 entre 1 µF et 7 µF par pas de 1.5 µF pour simuler l'introduction d'une capacité parallèle.
En regardant la transformée de Fourier rapide en sortie (FFT), nous pouvons voir que la fréquence commence à 70 Hz, chute à 40 Hz, 28 Hz, 21 Hz et ensuite 17 Hz en réponse à ces changements. Il est à noter que la sortie est une onde carrée, donc beaucoup d'harmoniques brouillent la vue.
Nous avons ici les bases d'un circuit de détection tactile. La sortie pourrait être reliée à un compteur. La différence entre un contact ou l'absence de toucher peut se déterminer en comptant le nombre d'impulsions dans un intervalle de temps donné, disons 100 ms, et en fixant un seuil de comptage. Une autre approche serait de mesurer la variation de largeur des impulsions.
A ce moment, nous entrons dans la vraie vie en essayant d'élaborer de tels circuits. Le corps humain forme une capacité comprise quelque part entre 100 pF et 200 pF. En remplaçant C1 dans notre circuit par un condensateur de 300 pF et en faisant varier C2 entre 100 pF et 200 pF, la sortie passe de 356 kHz avec aucun contact à 284 kHz en présence de la capacité maximale du corps humain. Il est à noter qu'il ne s'agit que d'une simulation et les transistors choisis pourraient ne pas fonctionner à ces fréquences en réalité. Cependant, nous avons là les ingrédients d'un capteur tactile capacitif.
Un exemple est l'unité de mesure du temps de charge (CTMU), une fonctionnalité dans certains microcontrôleurs Microchip. Il fonctionne en appliquant une charge constante (0.55 µA, 5.5 µA, ou 55 µA) au capteur pour un temps donné. Dès que ce temps est écoulé, la tension du capteur est mesurée en utilisant un convertisseur analogique-digital (CAD). Lorsque la mesure du CAD est terminée, le capteur est entièrement déchargé pour recommencer le processus. Ceci est à peu près reproduit dans le circuit ci-dessous.
Comme toute détection analogique, le signal mesuré sera sensible aux interférences et un certain filtrage sera nécessaire pour détecter précisément le contact d'un doigt. Dans les mesures ci-dessous, la proximité d'un doigt réduit la tension de crête atteinte par le capteur.
Les capteurs tactiles à capacité propre sont généralement utilisés quand un nombre limités de boutons sont nécessaires ou pour la détection de proximité. En regroupant les capteurs ensemble, ils peuvent former des interfaces rotatives ou des curseurs. L'entrelacement des pastilles de cuivre sur le circuit imprimé peut produire une transition plus douce entre les capteurs individuels.
Les interférences sont traitées en appliquant des anneaux de masse autour du capteur ou en plaçant un plan de masse maillé derrière le capteur. Cependant, il faut veiller à ne pas trop réduire la sensibilité. La taille du capteur est également importante. Idéalement, la surface du capteur devrait être celle d'une empreinte digitale humaine, soit entre 8 et 20 mm de diamètre.
Les capteurs capacitifs sont généralement montés derrière une plaque en plastique. Plus l'épaisseur du matériau est grande, plus la sensibilité du capteur est faible. En définitive, beaucoup de surfaces sont incurvées, comme les interfaces utilisateur des machines à laver, alors que les circuits imprimés sont plats. Les circuits imprimés flexibles sur polyimide peuvent-être utilisés pour résoudre ce problème, mais ces circuits imprimés flexibles sont chers. Une autre solution est de combler la distance entre la surface du capteur et le circuit imprimé avec des ressorts ou de la mousse conductrice. Alors que cela résout les problèmes mécaniques, la fiabilité sera garantie par des tests supplémentaires et un réglage plus poussé du circuit et du logiciel.
L'approche par des capteurs à capacité mutuelle utilise un capteur capacitif connecté entre deux broches d'un circuit intégré tactile dédié ou d'un microcontrôleur, mesurant les variations de la charge en présence ou en l'absence de doigt. Le doigt agit comme s'il était placé entre les deux plaques en prenant la charge du condensateur. De cette façon, un contact apparaît comme une baisse de la capacité. Cette approche permet la création d'une grille de condensateurs sur des surfaces planes pour prendre en charge les écrans tactiles, ce qui est généralement appelé tactile capacitif projeté ou PCAP. Une méthode consiste à charger de manière séquentielle les rangées X du capteur, en évaluant les capacités des rangées Y, chaque cycle se produisant des dizaines de fois par seconde. Cela est l'approche tactile préférée qui est utilisée pour les écrans des smartphones et les pavés tactiles des ordinateurs portables.
Le motif de grille en losange est un bon point de départ et fonctionne bien avec le cuivre. Idéalement, les rangées X et Y devraient être du même côté, ce qui nécessite de nombreuses connexions traversantes pour les rangées X ou Y. D'autres motifs peuvent aussi être utilisés suivant les applications, tant en taille qu'en sensibilité. Dans les smartphones, le motif est appliqué sur la plaque en verre au-dessus de l'écran en utilisant de l'oxyde d'indium-étain (ITO). Ce matériau a une résistance relativement faible et il est opaque, minimisant l'impact sur la lisibilité de l'écran et la perte de luminosité. D'autres matériaux ont été utilisés, comme des pistes en cuivre ultra-fines sur des feuilles transparentes. Pour éviter de nuire à l'aspect visuel, les pistes de cuivre sont disposées entre les pixels de l'écran.
Ces applications utilisent des chipsets dédiés, comme maXTouch. Ces solutions complètes sont appréciées par les concepteurs, car elles peuvent évaluer des centaines de capacités par seconde et appliquer les filtrages nécessaires. A leur sortie, elles réduisent l'interaction de l'utilisateur entre les coordonnées X et Y pour chaque doigt, et peuvent même fournir les gestes utilisés (pincer, glisser, tourner). Dans le logiciel d'application, ces données de capteur sont traitées de la même manière que d'autres périphériques, comme une souris, sans se soucier du décodage de la gestuelle et d'enlever le bruit des signaux.
Circuit astable@ 70 Hz :
Circuit astable @ 350 kHz :
Modèle CTMU :
Traduction : Laurent RAUBER
Une grande partie du succès de l'iPod peut être attribuée à son interface utilisateur tactile. Derrière son anneau brillant et ses boutons lumineux se trouvaient des capteurs capacitifs. Mesurés plusieurs fois par seconde, tout changement de capacité indiquait la présence d'un doigt pour signaler un appui ou une rotation. Bien sûr, le phénomène physique utilisé n'était pas nouveau. L'influence de la capacité du corps humain sur les circuits électroniques a été découverte en 1919, lorsque Leon Therémine l'utilisa pour contrôler un oscillateur hétérodyne dans son instrument du même nom.
Impact de la capacité sur les circuits
Ceux qui ont de l'expérience en électronique ont certainement vu les effets d'un doigt de la main sur un circuit. Les circuits audio ou radio répondent souvent à la présence d'un doigt en modifiant la hauteur de leur sortie ou en se réglant sur une autre station de radio. J'ai entendu une fois que quelqu'un a vu son récepteur radio fonctionner comme il devrait en plaçant son doigt près de l'un des tubes à vide. Peu enclin à laisser ledit doigt à l'arrière de la radio pour toujours, ils l'ont remplacé avec une saucisse, qui a donné de bons résultats pour un temps et la surprise pour le technicien, qui devait remplacer cette pièce de charcuterie par une réparation réelle.Les circuits tactiles capacitifs reposent sur le changement de capacité que produit un doigt ou une partie du corps sur la fonction d'un circuit. La valeur d'un condensateur dans un circuit est augmentée par la présence d'un doigt formant une capacité parallèle à la masse.
Une approche serait d'utiliser des condensateurs dans un oscillateur. Dans cet exemple, nous faisons varier la valeur de C2 entre 1 µF et 7 µF par pas de 1.5 µF pour simuler l'introduction d'une capacité parallèle.
Nous avons ici les bases d'un circuit de détection tactile. La sortie pourrait être reliée à un compteur. La différence entre un contact ou l'absence de toucher peut se déterminer en comptant le nombre d'impulsions dans un intervalle de temps donné, disons 100 ms, et en fixant un seuil de comptage. Une autre approche serait de mesurer la variation de largeur des impulsions.
A ce moment, nous entrons dans la vraie vie en essayant d'élaborer de tels circuits. Le corps humain forme une capacité comprise quelque part entre 100 pF et 200 pF. En remplaçant C1 dans notre circuit par un condensateur de 300 pF et en faisant varier C2 entre 100 pF et 200 pF, la sortie passe de 356 kHz avec aucun contact à 284 kHz en présence de la capacité maximale du corps humain. Il est à noter qu'il ne s'agit que d'une simulation et les transistors choisis pourraient ne pas fonctionner à ces fréquences en réalité. Cependant, nous avons là les ingrédients d'un capteur tactile capacitif.
Types de capteurs capacitifs : la capacité propre
Il y a deux types de capteurs capacitifs : la capacité propre et la capacité mutuelle. La capacité propre est l'approche énoncée ci-dessus, où le capteur tactile forme un condensateur par rapport à la masse et le circuit mesure ses changements de valeurs lorsqu'un doigt s'en approche. Plutôt que d'utiliser un condensateur intégré à un oscillateur, les circuits tactiles utilisent une approche qui peut plus précisément mesurer la charge appliquée.Un exemple est l'unité de mesure du temps de charge (CTMU), une fonctionnalité dans certains microcontrôleurs Microchip. Il fonctionne en appliquant une charge constante (0.55 µA, 5.5 µA, ou 55 µA) au capteur pour un temps donné. Dès que ce temps est écoulé, la tension du capteur est mesurée en utilisant un convertisseur analogique-digital (CAD). Lorsque la mesure du CAD est terminée, le capteur est entièrement déchargé pour recommencer le processus. Ceci est à peu près reproduit dans le circuit ci-dessous.
Les capteurs capacitifs sont généralement montés derrière une plaque en plastique. Plus l'épaisseur du matériau est grande, plus la sensibilité du capteur est faible. En définitive, beaucoup de surfaces sont incurvées, comme les interfaces utilisateur des machines à laver, alors que les circuits imprimés sont plats. Les circuits imprimés flexibles sur polyimide peuvent-être utilisés pour résoudre ce problème, mais ces circuits imprimés flexibles sont chers. Une autre solution est de combler la distance entre la surface du capteur et le circuit imprimé avec des ressorts ou de la mousse conductrice. Alors que cela résout les problèmes mécaniques, la fiabilité sera garantie par des tests supplémentaires et un réglage plus poussé du circuit et du logiciel.
Types de capteurs capacitifs : la capacité mutuelle
L'approche par des capteurs à capacité mutuelle utilise un capteur capacitif connecté entre deux broches d'un circuit intégré tactile dédié ou d'un microcontrôleur, mesurant les variations de la charge en présence ou en l'absence de doigt. Le doigt agit comme s'il était placé entre les deux plaques en prenant la charge du condensateur. De cette façon, un contact apparaît comme une baisse de la capacité. Cette approche permet la création d'une grille de condensateurs sur des surfaces planes pour prendre en charge les écrans tactiles, ce qui est généralement appelé tactile capacitif projeté ou PCAP. Une méthode consiste à charger de manière séquentielle les rangées X du capteur, en évaluant les capacités des rangées Y, chaque cycle se produisant des dizaines de fois par seconde. Cela est l'approche tactile préférée qui est utilisée pour les écrans des smartphones et les pavés tactiles des ordinateurs portables.
Ces applications utilisent des chipsets dédiés, comme maXTouch. Ces solutions complètes sont appréciées par les concepteurs, car elles peuvent évaluer des centaines de capacités par seconde et appliquer les filtrages nécessaires. A leur sortie, elles réduisent l'interaction de l'utilisateur entre les coordonnées X et Y pour chaque doigt, et peuvent même fournir les gestes utilisés (pincer, glisser, tourner). Dans le logiciel d'application, ces données de capteur sont traitées de la même manière que d'autres périphériques, comme une souris, sans se soucier du décodage de la gestuelle et d'enlever le bruit des signaux.
Ajouter une touche capacitive à un Arduino et un Raspberry Pi
Des circuits intégrés tactiles capacitifs prêts-à-l'emploi sont disponibles auprès de Microchip, Azoteq, and Texas Instruments. Ils simplifient grandement la construction des circuits, et proposent généralement une sortie digitale ou une interface sérielle qui communique directement avec un Arduino ou un Raspberry Pi. Cependant, il convient de noter qu'un déploiement réussi dans une application réelle nécessite beaucoup de tests avec différentes conceptions et configurations de capteurs pour assurer la fiabilité et la robustesse à long terme. Il existe également des librairies pour Arduino qui permettent la création d'un capteur capacitif avec juste une résistance. C'est plus que suffisant pour permettre aux étudiants et aux fabricants de créer des interfaces tactiles pour en explorer les concepts et tester des idées rapidement.Faites-le vous-même : code LTspice
Circuit astable@ 70 Hz :
Q1 N002 N004 0 0 BC547B
Q2 N003 N005 0 0 BC547B
R1 N001 N002 100R
R2 N001 N003 100R
R3 N001 N004 10K
R4 N001 N005 10K
C1 N005 N002 1µ
C2 N003 N004 {X}
V1 N001 0 5V
.model NPN NPN
.model PNP PNP
.lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.bjt
.tran 15s startup
.step param X 1u 2u 0.5u
.backanno
.end
Q2 N003 N005 0 0 BC547B
R1 N001 N002 100R
R2 N001 N003 100R
R3 N001 N004 10K
R4 N001 N005 10K
C1 N005 N002 1µ
C2 N003 N004 {X}
V1 N001 0 5V
.model NPN NPN
.model PNP PNP
.lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.bjt
.tran 15s startup
.step param X 1u 2u 0.5u
.backanno
.end
Circuit astable @ 350 kHz :
Q1 N002 N003 0 0 BC547B
Q2 OUTPUT N004 0 0 BC547B
R1 N001 N002 100R
R2 N001 OUTPUT 100R
R3 N001 N003 10k
R4 N001 N004 10k
C1 N004 N002 300p
C2 OUTPUT N003 {X}
V1 N001 0 5V
.model NPN NPN
.model PNP PNP
.lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.bjt
.tran 1ms startup
.step param X 100p 200p 25p
.backanno
.end
Q2 OUTPUT N004 0 0 BC547B
R1 N001 N002 100R
R2 N001 OUTPUT 100R
R3 N001 N003 10k
R4 N001 N004 10k
C1 N004 N002 300p
C2 OUTPUT N003 {X}
V1 N001 0 5V
.model NPN NPN
.model PNP PNP
.lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.bjt
.tran 1ms startup
.step param X 100p 200p 25p
.backanno
.end
Modèle CTMU :
CTouch_Pad PAD 0 10pF
CFinger PAD 0 {X}
I1 0 PAD PULSE(0 5.5u 2u 0 0 5u 100u 1)
M1 PAD N001 0 0 NMOS
V1 N001 0 PULSE(0 5 12u 0 0 50u 100u 1)
.model NMOS NMOS
.model PMOS PMOS
.lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.mos
.tran 30u
.step param X 0p 200p 20p
.backanno
.end
CFinger PAD 0 {X}
I1 0 PAD PULSE(0 5.5u 2u 0 0 5u 100u 1)
M1 PAD N001 0 0 NMOS
V1 N001 0 PULSE(0 5 12u 0 0 50u 100u 1)
.model NMOS NMOS
.model PMOS PMOS
.lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.mos
.tran 30u
.step param X 0p 200p 20p
.backanno
.end
Traduction : Laurent RAUBER