• Aucun résultat trouvé

PERMETTANT LE SUIVI D ’ UN DOIGT À DISTANCE

3. S OLUTION TECHNIQUE RETENUE

3.7. É LECTRONIQUE DE MESURE

3.7.1. Carte d’acquisition et de traitement des données capteurs

Les capsules du pouce et de l’index comportent un nombre important de capteurs de proximité (9 par doigt soit 18 en tout). Ces capteurs communiquent via un bus série I2C. En théorie, on peut les relier ensemble à l’aide d’un seul bus de données. Dans la pratique cependant, leur adresse est fixée en usine et ne peut pas être changée. Dans ces conditions, si on les relit tous au même bus, on ne peut pas envoyer de trames à un capteur précis et on ne sait pas de quel capteur proviennent les données. Pour résoudre ce problème, il serait possible de les mettre en série avec un interrupteur pour les interroger les uns après les autres. Cela augmenterait toutefois sensiblement le temps nécessaire à l’interrogation des 18 capteurs et il ne serait pas possible de tourner à une fréquence de 1 kHz, ce qui est nécessaire pour assurer la stabilité du dispositif dans les conditions habituelles de simulation.

Pour contourner ce problème, nous utilisons un PCB développé sur mesure par le CEA LIST. Cette carte, illustrée par la figure 3.9, est équipée de 18 ports I2C, 9 pour chaque doigt (dans l’optique de pouvoir faire évoluer ultérieurement le prototype en intégrant une pièce suivant la paume à distance à l’aide d’autres proximètres, 6 liaisons I2C supplémentaires ont été prévues), d’un module FPGA permettant de créer différents bus I2C afin de pouvoir acquérir l’ensemble des données en parallèle et d’un microcontrôleur chargé du traitement des données obtenues et de leur transmission à un module EtherCAT qui transfère ces dernières à un PC maître chargé de calculer les positions et les orientations des doigts.

Figure 3.9 : Schéma électronique de la carte d’acquisition et de traitement des données des proximètres.

Parmi les différents réseaux fonctionnant en temps réel, nous avons choisi d’utiliser un bus EtherCAT (un bus de terrain dérivé de l’Ethernet) car sa vitesse de transfert maximale de 200Mbits/s est nettement plus élevée que celle d’un bus CANopen (un bus dérivé du bus CAN souvent utilisé dans l’industrie) qui est limitée à 1Mbits/s. Le bus EtherCAT est particulièrement adapté à une utilisation temps réel. Il est favorisé pour des systèmes nécessitant un court temps de rafraîchissement. Le délai de transmission étant pour nous aussi important que l’exactitude des données, l’interface haptique échangeant de nombreuses informations avec le contrôleur, que ce soit pour calculer la position des doigts ou pour gérer la commande

3.7.2. Architecture électronique globale

La mesure de la position de chacun des doigts par rapport à la capsule correspondante nécessite l’utilisation des 5 cartes intégrant les proximètres (appelées cartes filles) et de la carte d’acquisition et de traitement illustrée par la figure 3.9 (appelée capteur mère). Le bus I2C en sortie des proximètres infrarouges est utilisé pour la communication entre ces cartes. Ce réseau, illustré par la figure 3.10, permet d’envoyer une requête à un capteur spécifique grâce à son adresse unique.

Figure 3.10 : Architecture électronique globale du système de mesure. Notre système comporte donc :

- Des cartes capteurs filles avec le minimum d’électronique et une liaison I2C.

- Une carte capteur mère avec 24 liaisons I2C, la puissance de calcul nécessaire pour mettre en forme ces données et une liaison EtherCAT pour transmettre l’ensemble de ces informations au réseau de communication.

3.7.3. Stratégie de mesure

Un problème courant sur les dispositifs tels que celui que nous avons conçu est le parasitage des capteurs entre eux. En effet, si deux capteurs proches lancent une acquisition simultanée, ils vont s’entre-perturber. Pour éviter ce phénomène, il est nécessaire de procéder en plusieurs vagues d’acquisition, le nombre de vagues devant toutefois rester le plus faible possible puisque l’on cherche à avoir la fréquence d’échantillonnage la plus élevée possible (typiquement 1kHz comme sur les interfaces haptiques classiques).

Figure 3.11 : Répartition des capteurs suivant les différentes vagues de mesures.

Comme le montre la figure 3.11, nous avons choisi ici de séparer l’acquisition des capteurs des deux anneaux, puisque ces derniers se situent seulement à 7mm les uns des autres. La mesure du capteur situé au fond de la capsule est effectuée en même temps que la vague d’acquisition de l’anneau de capteurs le plus éloigné de celui-ci. Cette stratégie est intégrée à la carte capteur mère, son rôle étant de gérer les différentes acquisitions.

Des mesures effectuées à l’aide d’une carte Arduino ont permis de montrer que la demande d’une mesure prend 88µs, que le temps d’acquisition est de 250µs et que la lecture de la valeur prend 112µs si on se contente de lire les 8 bits de poids fort et 224µs si on lit l’ensemble des 16 bits de données. Comme le montre la figure 3.12, cela permet théoriquement de faire les acquisitions de chaque vague en 500µs si on se contente de lire les 8 bits de poids fort de chaque capteur. Les acquisitions des deux vagues ne pouvant pas être simultanées, on procède à la lecture des données et à la demande d’une mesure de la première vague pendant le temps d’acquisition de la seconde, et réciproquement.

Figure 3.12 : Chronogramme de l’ordonnancement des mesures des données capteurs pour une lecture des 8 bits de poids fort.

Avec ce principe, la fréquence de fonctionnement théorique est de 2kHz en mode 8 bits et de 1.6kHz en mode 16 bits. Il faut noter que ces tests ont été faits avec une carte Arduino dont la fréquence I2C est de 0.8GHz alors que la fréquence maximale des capteurs est de 3.4GHz. On peut donc espérer de meilleurs résultats lors de la communication de la carte capteur mère. Dans la pratique, pour éviter des sauts de cycle si une des actions prend plus de temps (l’acquisition du capteur photosensible est par exemple dépendante du temps), nous utiliserons le mode 16 bits à 1kHz, qui est la fréquence de fonctionnement souhaitée. Cette solution est en outre plus robuste (si on interroge le capteur avant la fin de la mesure, le

Figure 3.13 : Chronogramme de l’ordonnancement des mesures des données capteurs pour une lecture des 16 bits à 1kHz comme implanté dans la carte capteur mère.