Projets:Fokus Magic control 2022
Description du projet
Fokus Magic control est un hackathon de deux jours dédié à la poursuite du projet Magic Control commencé lors du Fabrikarium en 2021.
Il englobe 3 ensembles principaux:
- un joystick DIY faible pression
- un contrôle d'environnement basé sur raspberry pi permettant de communiquer avec le fauteuil avec le protocole RNET dans lequel on peut naviguer via une interface web
- le reverse des trames RNET qui permettent de contrôler l'environnement (le fauteuil, et la domotique).
Cahier des charges
Air joystick v2
L'objectif est d'avoir un joystick simple à fabriquer et qui nécessite très peu de force.
Dans la première version de 2021, l'aimant collé au bout du doigt se déplaçait en l'air au dessus du capteur à effet de hall. Trouver la position zéro et les limites des axes X et Y, était difficile puisque sans repère.
Dans cette nouvelle version, il a été décidé de modéliser une pièce légèrement incurvée sur laquelle l'aimant collé au bout du doigt va glisser et au dessous- de laquelle le capteur à effet de hall est positionné. On a ainsi plus de facilité à savoir où se trouve le zéro et les limites (X,Y) de détection du joystick.
Contrôle d'environnement
- Implémenter le contrôle des vérins du fauteuil, les lumières, clignotants et klaxons
- Définir la méthode qui sera développée pour la configuration des fauteuils JSM-raspi avec le contrôle d'environnement
Interface appli web
- Intégrer les différents contrôles d'environnement dans l'interface web
Code
- Implémenter la librairie qui permet de recevoir les données du capteur à effet de hall directement en valeurs numériques en supprimant l'ADC précédemment utilisé.
Analyse de l'existant
Equipe (Porteur de projet et contributeurs)
- Porteurs du projet : Jonathan
- Concepteurs/contributeurs : Stan , Sam ; (modélisation coque dessous+réceptacle doigt), Eric (implémentation librairie pour supprimer l'ADC (convertisseur analogique numérique), Roxane et Christophe (implémentation bluetooth sur raspi 4 pour émulation souris avec le joystick pour naviguer dans le contrôle d'environnement), Fred Brice et François (reverse trames RNET)
- Animateur (coordinateur du projet), Jérôme (modélisation boitier pour raspi sur fauteuil)
- Fabmanager référent :Delphine, Roger
- Responsable de documentation :Delphine
Air joystick v2
Matériel nécessaire pour le Air joystick
- un capteur MLX90393 qui permette une récupération des axes x,y,z, voir par exemple chez adafruit https://www.adafruit.com/product/4022 (le modèle 3d du support joystick correpond à la ref d'adafruit)
- un aimant de 3 mm de diamètre
- un cable blindé avec 5 fils
- modèles 3D pour air joystick : coque dessous, réceptacle doigt
- Flexible pour accrocher le support joystick au fauteuil : https://www.otelo.fr/flexibles-arrosage-petit-debit-14-635-mm/otmt-14020a-72010613/SF-ID-00090401/ref-23730.html
Outils nécessaires pour le Air joystick
- imprimante 3D
- CNC ou imprimante pour le socle du doigt (fichier STL "partie supérieure)
- petites vis en plastique ou laiton
Coût
Fichiers source
Le fichier "Partie supérieure" a été usiné à la CNC en polyéthylène mais peut aussi être imprimé.
Télécharger le fichier de l'attache du joystick au fauteuil
Etapes de fabrication pas à pas
Assemblage pièces imprimées
- Imprimer les STL et les assembler de manière à mettre le support doigt au-dessus, le capteur à effet de hall dessous, puis la partie inférieure.
Nous avons usiné avec une CNC, la pièce supérieure du support du doigt en polyéthylène, mais cela peut aussi s'imprimer en PLA.
- Ajouter les deux vis de part et d'autre afin de maintenir l'ensemble. (AJOUTER LA REF DES VIS)
- Visser la partie mâle du flexible dans la partie inférieure afin ensuite d'ajouter les éléments de flexible à la longueur adéquate pour maintenir le joystick sous la main. L'autre embout du flexible vient se fixer sur le fauteuil.
Code :implémentation de la librairie pour recevoir directement les valeurs numériques du capteur MLX90393 sur la raspi
Pendant le hackathon Éric a effectué les tests avec le Magic joystick 2022 car le Air joystick était en cours de création. Le Air joystick n'a donc pas été testé avec le capteur à effet de hall.
Connecter les cables du capteur à effet de hall en I2C à la raspberry pi.
AJOUTER LE SCHEMA ÉLECTRONIQUE ET LE CODE DE DÉMO D'UTILISATION DU CAPTEUR UTILISÉ POUR FAIRE LES TESTS.
AJOUTER LE CODE ET LE SCHEMA MIS A JOUR IMPLÉMENTÉ DANS MAGIC CONTROL
La plaque de support du capteur "Porte-hall" du projet Magic joystick 2022 a été modélisée pour le capteur à effet de hall MLX90333, or ici nous utilisons le capteur MLX90393. Les trous ne sont donc pas adaptés au nouveau capteur. Des trous ont été refaits mais sans mesure précise pour centrer l'aimant au dessus du capteur. Il faut donc remodéliser la pièce pour que l'aimant se retrouve précisément au-dessus du zéro du capteur.
Télécharger le STL Porte_Hall pour le capteur MLX90333 utilisé dans la première version du joystick
AJOUTER LE NOUVEAU STL du porte-all pour MLX90393 et son image quand il sera modélisé
Le nouveau capteur utilisé, le MLX90393 dans son mode de réglage initial est en mode beaucoup trop sensible. Les convertisseurs analogiques numériques internes travaillent sur 19 bits et par défaut ils renvoient les 16 bits de poids faible. Du coup si on remonte sur des valeurs plus grandes, les valeurs changent de signe et ne sont pas exploitables
Pour résoudre ce problème, il y a une option de résolution à régler. C'est de remonter la valeur des 16 bits les plus forts donc on perd en résolution sur des petits mouvements par contre on gagne en amplitude.. Il faut aussi réduire le gain à 1 ce qui fait qu'on a des valeurs qui bougent dans des plages raisonnables et qui sont pas binaires mais en tout cas croissantes ou décroissantes.
C'est la résolution qui posait souci. La résolution par défaut est fixée sur la plus haute résolution, qui permet de recevoir l'information de micro mouvements mais ce qui nous intéresse c'est pas ça, c'est d'avoir la plage maximum de débattement donc avoir vraiment les valeurs les plus grandes. L'aimant doit cependant être bien centré par rapport au capteur.
Là on obtient les plages de valeurs suivantes :
- en y : -2500 ; 2000
- en x : -3000 ; +1600
On ne peut pas refaire ce centrage totalement au niveau soft car on sort des plages de sensibilité du capteur. L'idée c'est quand même de le centrer au niveau mécanique. Après il y a un offset qui est fait pour les petits décalages au niveau soft, mais au moins les amplitudes d'un côté et de l'autre doivent être à peu près équivalentes avec le centrage de l'aimant au dessus du capteur au niveau mécanique.
Durée de fabrication du prototype final
Autres pistes à explorer pour le le "Air joystick"
- Sam: Utilisation d'un leap motion (https://www.ultraleap.com/product/leap-motion-controller/) pour traquer le mouvement des doigts. Attention à la luminosité, il faudrait mettre un cache au dessus de la main pour ne pas perturber la capture du mouvement.
- Stan : Proposition d'un modèle 3D qui s'imprime en une seule pièce (AJOUTER LE STEP et STL): testé ici en impression PLA mais pas assez solide. Suggestions de Stan pour qu'il soit plus résistant : d’autres techniques d’impression (SLA, PolyJet, DLP ou MJF) permettrait de réduire l’épaisseur des resorts et garantissent un meilleur lien entre les couches.
La pièce pourrait être fonctionnelle en l'imprimant sur une Formlabs ou en la commandant chez un prestataire pro (Xometry, Shapeways etc.). Pour augmenter la durabilité il sera peut être nécessaire d’ajouter un étage de plus par axe (2 cadres de plus).
- Stan : utiliser une combinaison des pieces indus et d’impression donnera des résultats bien meilleurs.
Notamment, le palier avec un ressort (https://www.igus.fr/product/388?artNr=KGLM-02) me semblent une piste très prometteuse.
- Eric: proposition de faire un joystick avec du filament flexible qui permettrait un retour à zéro sans aimant et qui est super solide même avec 1mm d'épaisseur a priori.