Différences entre versions de « Projets:Fokus Magic control 2022 »

De wikilab
Ligne 75 : Ligne 75 :
  
 
====Reste à faire====
 
====Reste à faire====
Tester cet asssemblage avec le capteur et remapper les valeurs pour qu'elle soient adaptées à l'amplitude de mouvement de l'usager (Jonathan).
+
Tester cet asssemblage avec le capteur et remapper les valeurs pour qu'elle soient adaptées à l'amplitude de mouvement de l'usager (Jonathan). Vérifier que le centre du support du doigt est bien au dessus du zéro du capteur.
  
 
==Code :implémentation de la librairie pour recevoir directement les valeurs numériques du capteur MLX90393 sur la raspi ==
 
==Code :implémentation de la librairie pour recevoir directement les valeurs numériques du capteur MLX90393 sur la raspi ==

Version du 8 juin 2022 à 15:32

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

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

Télécharger les STL pour le Air joystick V2 contenant également l'empreinte du capteur à effet de hall MLX90393 qu'il ne faut pas imprimer

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.

Pièce pour le support du doigt en polyéthylène
Assemblage des pièces


  • 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 (pièce orange) 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.
Assemblage avec le flexible


Reste à faire

Tester cet asssemblage avec le capteur et remapper les valeurs pour qu'elle soient adaptées à l'amplitude de mouvement de l'usager (Jonathan). Vérifier que le centre du support du doigt est bien au dessus du zéro du capteur.

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

Image du Porte hall modélisé pour le capteur MLX90333 utilisé dans la première version du joystick
Support hall intégré dans la partie basse du joystick.


Vue d'ensemble du montage avec le joystick connecté à la raspi


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"

  • 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.

Jpystick filament flex.jpg