Projets:Magic Joystick 2020

De wikilab

Description du projet

Réaliser un joystick à faible force, qui puisse être manipulé avec une mobilité très réduite et interfacé avec un fauteuil électrique.

Génèse du projet

Ce projet a démarré au Fabrikarium 2019, organisé avec ArianeGroup sur le site des Mureaux. Cette première étape a permis de développer des premiers prototypes de joystick à faible force et de mettre au point la communication au fauteuil par le protocole R-net. A la fin de ce premier fabrikarium, il a été fait la preuve que l'on pouvait utiliser une manette xbox reliée au fauteuil.

État technique

Le joystick à faible force existe sous forme de prototype fonctionnel, mais il va être amélioré dans cette deuxième étape.
L'interface CAN/R-net a été testée avec une matériel industriel, il reste à la faire fonctionner sur une carte raspberry pi.

Documentation de l'étape précédente sur le wiki :

Cahier des charges

Améliorer le fonctionnement du joystick, en particulier de la rotule et de la détection.
Mettre au point la communication SPI entre le capteur angulaire et la carte Raspberry Pi.
Traitement des données et calibration.
Mettre au point la communication avec le fauteuil par R-net en utilisant une carte PiCAN2.
Fusionner les 2 fonctions pour qu'elles soient utilisables sur la même carte Raspberry Pi.
Chercher une solution permettant l'alimentation électrique de l'ensemble.

Réalisation

caption schéma global simplifié

(schéma du mardi 21 oct, 10h)

Matériel nécessaire

imprimante 3D

  • pièces en impression 3D
  • (rotules en métal à faible frottement)
  • aimants néodyme 3x3mm
  • capteur de positionnement MLX90333
  • écran OLED 0.96 128x64 pixels
  • convertisseur 12bits analogique/numérique ADS1015
  • Raspberry Pi 3 + carte SD avec système Raspbian 10 «Buster» et driver pour bus CAN
  • carte PiCAN2 pour Raspberry Pi
  • cables de connection R-net

 Configuration du Raspberry Pi

OS : Raspbian 10 «Buster»
Configuration pour utiliser la carte PiCAN2 : https://www.skptechnology.co.uk/pican2-software-installation/

Captation

Pour le circuit, recherche de méthodes pour configurer la carte MLX90333
Pour l'utilisation moulage d'un doigt afin d'y fixer un aimant
Modélisation des pièces 3D pour fixer le joystick (avec Catia)

Moulage

Afin de créer un contrôleur adapté, moulage du doigt en plusieurs étapes. l'aimant est mixé sur le moulage.

La pâte utilisée pour le moulage est de type bi-composant, elle est travaillée directement sur le doigt et sèche en 5 minutes environ.

Pâte RTV 3535 vendue par Rougié & Plé : silicone RTV 3535 300G

Communication

Premiers tests avec un système Raspberry Pi + PiCAN2

caption brochage du connecteur R-net

Composants utilisés

Capteur de positionnement MLX90333

caption capteur de positionnement MLX90333

datasheet du capteur angulaire MLX90333

Module équipé d'un circuit intégré MLX90333 de Melexis, avec la capacité de capter la position 3D d'un aimant (effet Hall). Ce circuit peut communiquer de différentes manières : analogique, PWM ou série SPI. Sur cette carte, il est configuré par défaut pour une double sortie analogique, et donne les valeurs x et y. Recherches en cours pour changer de mode et récupéer les données x,y,z!

caption valeurs mesurées par le capteur MLX90333

carte PiCAN2

caption carte PiCAN2

Carte additionnelle pour Raspberry Pi, fabriquée par SK Pang Electronics permettant de mettre en oeuvre un bus CAN (nécessite l'installation d'un driver sur le système du Raspberry Pi).

Documentation de la carte PiCAN2 (à télécharger sur le site de SK Pang Electronics)

écran OLED 0.96 avec contrôleur SSD1306

caption écran OLED

Module d'écran noir et blanc 128x64 pixels avec communication par I2C

datasheet du contrôleur SSD1306
tutoriel d'utilisation avec Raspberry Pi

convertisseur analogique-numérique 12bits ADS1015

convertisseur analogique-numérique 12bits ADS1015

Convertisseur analogique numérique à 4 entrées avec communication par I2C

datasheet du composant ADS1015
tutoriel d'utilisation avec Raspberry Pi

Annexe : lexique

CAN (Controller Area Network) : Bus de communication série utilisé en électronique, particulièrement dans l'industrie automobile. Il fonctionne sur le principe du multiplexage ou chaque équipement connecté communique avec tous les autres. https://fr.wikipedia.org/wiki/Bus_de_donn%C3%A9es_CAN

Effet Hall : https://fr.wikipedia.org/wiki/Effet_Hall

ISM (Intelligent Seating/lighting Module) : (module électronique d'un fauteuil) assise «intelligente» et éclairage.

JSM (Joystick Module) (module électronique d'un fauteuil) joystick d'assistance à l'arrière du fauteuil, prioritaire sur le contrôle du déplacement.

PM (Power Module) : (module électronique d'un fauteuil) bloc moteur, module d’alimentation (unité de commande)

R-net : Le protocole R-net définit des commandes qui passent sur un bus CAN. Il a été mis au point en 2011 par PGDT (PG Drives Technology) pour le contrôle des fauteuils électriques. Il s'agit d'un protocole propriétaire, en 2016 des informations sur ce protocole ont été trouvées par Stephen Chavez par ingénierie inverse pour le projet https://github.com/redragonx/can2RNET.

SPI (Serial Peripheral Interface) : Bus de communication série utilisé en électronique. «Les circuits communiquent selon un schéma maître-esclave, où le maître contrôle la communication. Plusieurs esclaves peuvent coexister sur un même bus, dans ce cas, la sélection du destinataire se fait par une ligne dédiée entre le maître et l'esclave appelée « Slave Select (SS) ». https://fr.wikipedia.org/wiki/Serial_Peripheral_Interface