Projets:Canne a son V2

De wikilab
Canne a son V2

Canne a son v2 photo presentation.jpeg

Ce projet recherche ces compétences :

Réplication du prototype

Informations
Description Prototype de canne blanche électronique pour détecter des obstacles. Ce projet est une évolution du projet Canne à son.
Catégorie Malvoyance
Etat d'avancement Réalisés
Techniques arduino, esp, impression 3d, modélisation 3d, électronique
Durée de fabrication de 4 à 8 h
Coût matériel De 100 à 200 euros
Niveau Difficile
Licence by-sa
Date de création 2022-06-02
Équipe
Porteur de projet Francois LB
Contributeurs EliottDaniello
Animateur Delphine
Fabmanager Delphine
Référent documentation Delphine
Partenaires: INRIA
Nom humanlab Humanlab_MHK
Documentation
Statut de la documentation Complète
Relecture de la documentation Non vérifiée

Description du projet

Ce prototype de canne blanche électronique a pour but de détecter des obstacles. C'est une évolution du projet Canne à son.


Le but de ce prototype n'est pas de remplacer la canne, mais de rajouter un boîtier dessus permettant de détecter des obstacles et de faire un retour à l'utilisateur. Le retour se fait pour le moment de manière sonore, avec des sons émis par un buzzer, mais il peut être envisagé dans le futur que le retour à l'utilisateur soit fait de manière haptique, ou encore par un casque bluetooth à conduction osseuse.


Le système se base sur un microcontrôleur M5 Atom, lui-même basé sur un ESP32. Il possède donc du wifi et du bluetooth qui permettrait de nombreuses évolutions. La partie captation se fait grâce à 3 capteurs, dont deux technologies différentes. Un lidar, le TF Mini Plus, comme utilisé sur la Canne à son V1, ainsi que deux capteurs ultrasons CH201. Ils sont très petits, consomment peu et permettent de mesurer une distance jusqu'à 4m, ce qui les rend idéal pour ce projet.


La combinaison de ces deux technologies permet d'obtenir une détection d'obstacles la plus fiable possible peu importe les situations; le lidar sera plus précis en intérieur, cependant les capteurs ultrasons fonctionneront mieux pour les surfaces vitrées et en extérieur. Dans sa configuration actuelle, la canne est capable de détecter des obstacles se trouvant sur son chemin, tel qu'un mur, une porte, une chaise, des escaliers ou des trous dans le sol, mais aussi des obstacles uniquement à hauteur de tête, comme par exemple un volet roulant d'un magasin. Ce prototype est notamment efficace pour se déplacer entre deux voitures sur un parking, sans les toucher.


Les capteurs sont placés de la manière suivante :


Canne a son V2 explication capteurs.jpg


Le lidar pointe légèrement vers le sol, et permet d'obtenir une mesure précise afin de savoir si l'utilisateur va rencontrer des obstacles (un trou ou un escalier, mais aussi un trottoir ou un mur).


Le premier capteur ultrason est orienté de manière horizontale, et permet de détecter les obstacles les plus classiques tels qu'un mur ou un bureau, en étant couplé avec le lidar.


Le second capteur ultrason est légèrement orienté vers le ciel, et permet de détecter des obstacles se trouvant uniquement en hauteur, tel qu'un volet roulant de magasin. REMARQUE : La détection d'obstacles en hauteur fonctionne, mais ne détecte pas 100% des obstacles. Cette partie pourrait être améliorée pour une meilleure expérience d'utilisation.


Le boîtier comporte un bouton ON/OFF, permettant d'allumer et d'éteindre le système sans devoir débrancher le câble USB de la batterie. Il y a également un bouton situé sur le dessus du boîtier, qui permet de désactiver temporairement le retour à l'utilisateur, sans pour autant éteindre le système.


Canne a son onoff.jpg


Le microcontrôleur peut être reprogrammé très facilement sans ouvrir le boîtier, en utilisant le câble usb de l'alimentation. Il suffit de le brancher sur un ordinateur à la place de la batterie externe.


Tout le système est alimenté par une batterie externe de 5000 mAh, donnant au système une autonomie de 30 heures.

Cahier des charges

Le cahier des charges reprend ce qui avait été dit dans la réunion du 17/03/22 à propos du projet Canne à son.


Voici le cahier des charges :

  • Sera un complément de la canne blanche et n'est pas destiné à la remplacer
  • détecter les obstacles en hauteur de la ceinture à un peu plus haut que la tête
  • doit permettre de détecter un corridor vide sur une largeur de 70 cm environ et distance de deux à trois mètres pour se frayer un chemin
  • rester simple (mise en oeuvre et retour d'information)
  • robuste (comme la canne)
  • open source
  • être paramétrable facilement (retour d'info, seuils etc .. : doit permettre le choix du retour en vibration, ou retour sonore)
  • fixable et déclipsable de la canne
  • boîtier étanche
  • plus petit que la première version
  • autonomie: 8 heures
  • mode de recharge : brancher un câble USB facilement
  • avoir un bouton-poussoir pour activer et désactiver le prototype à la demande


Cette version répond à toutes les problématiques du cahier des charges d'origine, à l'exception du retour haptique, qui pourra être développé dans une v2 de ce projet.

Analyse de l'existant et liens utiles

Des projets identiques existent déjà. Dans une version commerciale, il existe :


  • Tom Pouce : Identique à ce que l'on souhaite faire, un boîtier rajouté sur une canne.
  • Minitact : Uniquement un petit boîtier s'utilisant sans canne blanche, et ayant pour ambition de la remplacer.


Du côté de MHK, des prototypes ont déjà été réalisés :

Matériel

Circuit imprimé

Le circuit imprimé peut être réalisé à la main ou commandé sur internet. Attention cependant, certaines pistes sont très fines à cause des connecteurs de nappes, il est donc recommandé de le commander déjà réalisé. Les fichiers Gerber et Drill ainsi que la liste des composants pour le réaliser sont disponibles dans le dossier PCB sur le GitHub (voir le dossier CAMdata_PCB_CanneASon.zip) : https://github.com/myhumankit/Canne_a_son/tree/main/PCB


Pour le réaliser, il vous faudra les composants suivants :

Autres composants du boîtier

Datasheet

Capteur ultrason CH201 : https://invensense.tdk.com/products/ch201/#documentation


Lidar TF mini plus : https://wikilab.myhumankit.org/images/1/19/TFmini-Plus_Product-Datasheet.pdf


I2C level shifter : https://wikilab.myhumankit.org/images/2/29/PCA9306_-_Dual_bidirectional_I2C-bus_and_SMBus_voltage-level_translator.pdf


Level shifter spécifique : https://wikilab.myhumankit.org/images/c/cd/TXB0104_4-Bit_Bidirectional_Voltage-Level_Translator.pdf

Outils

  • Imprimante 3D
  • Fer à souder
  • Pistolet à colle
  • Four à refusion/plaque chauffante pour la soudure de CMS (Facultatif, il sera plus aisé de souder les petits connecteurs de nappes avec, mais plusieurs alternatives sont possibles. Il est déjà possible de le souder soi-même avec un fer à souder, mais cela demande d'être très précis. Il est sinon possible de prendre l'option de faire souder ces composants sur le PCB lors de la commande du circuit imprimé.)

Fichiers sources

Tous les fichiers sources sont disponibles sur le GitHub du projet : https://github.com/myhumankit/Canne_a_son

Fichiers 3D

Les fichiers 3d sont disponibles dans le dossier 3DFiles : https://github.com/myhumankit/Canne_a_son/tree/main/3DFiles

Il contient une archive Fusion 360, permettant de modifier les fichiers 3D pour les adapter à vos besoins. Cela permet par exemple de modifier le diamètre de la canne.

Il y a également deux fichiers stl déjà exportés de Fusion 360, dans le cas où le boîtier ne nécessite pas de modifications. Ces fichiers sont prévus pour une canne de 13mm de diamètre.

PCB

Les fichiers relatifs au PCB sont disponibles dans le dossier PCB : https://github.com/myhumankit/Canne_a_son/tree/main/PCB

Il contient le projet Eagle, permettant de modifier le schéma électrique et le pcb. Si nécessaire, les symboles et empreintes des composants sont disponibles dans le dossier LibComponent.

Il y a également les fichiers Gerber et Drill, ainsi que la liste des composants, permettant de réaliser la carte sans passer par le logiciel Eagle.


Voici le schéma du pcb : (Dispo sur le GitHub)


Canne a son pcb schematic.jpg


À noter que cette carte peut s'utiliser de deux manières :

  • Soit intégré dans le boîtier tel que présenté dans ce projet
  • Soit en tant que carte de développement pour des capteurs CH201/CH101 pour d'autres projets. Alors, le M5 Atom se fixe directement sur la carte, et se trouve comme cela :


Canne a son v2 pcb 3D.jpg

Programme microcontrôleur

Tous les fichiers de programmation sont disponibles sur le GitHub du projet : https://github.com/myhumankit/Canne_a_son

Le projet utilise PlatformIO, qui permet de programmer des arduinos à partir d'un IDE tel que Visual Studio Code.

Voici un mode opératoire pour l'installation de PlatformIO sur VSCode : https://platformio.org/install/ide?install=vscode


Une fois VSCode et PlatformIO installé, et le projet ouvert, il y a plusieurs fichiers qui composent l'architecture d'un projet PlatformIO. Les fichers .cpp (main.cpp, etc) sont dans le dossier "src", tandis que les fichiers .h sont dans le dossier "include".


Tous les paramètres du programme peuvent être modifiés via le fichier boardConfig.h, situé dans le dossier "include". Il est par exemple possible de configurer la fréquence des bips, le nombre de capteurs, ...

L'algorithme de détection peut quant à lui être modifié dans le fichier main.cpp, situé dans le dossier "src".


Pour téléverser le programme sur le M5 Atom, il suffit de choisir le mode "PlatformIO Upload" et de lancer la compilation. En cas de besoin, voici la doc de PlatformIO pour VSCode : https://docs.platformio.org/en/stable/integration/ide/vscode.html

Étapes de fabrication pas à pas

1ère étape : Impression 3D

Deux parties nécessitent d'être imprimé : la partie supérieure du boîtier et la partie se fixant sur la canne. Attention, ces deux pièces ne s'assemblent que dans un sens, elles ne sont pas réversibles.

2ème étape : PCB

Après avoir réalisé le PCB, il faut souder tous les composants dessus en suivant les indications du schéma électronique présent sur le GitHub.

3ème étape : Paramétrage du Lidar du mode UART à I2C

Le lidar fonctionne par défaut en mode UART. IL faut le paramétrer car le système est conçu pour l'utiliser avec le mode I2C.


Pour cela, il faut télécharger le logiciel du lidar, trouvable dans le lien suivant sous le nom "TFmini Plus_GUI" : https://github.com/TFmini/TFmini-Plus


Connecter ensuite le lidar à un Arduino ou un adaptateur USB-FTDI. Dans le cas d'un Arduino, connecter le pin RX au câble RX du lidar, et le pin TX au câble TX. Connecter le RESET de l'arduino au GND pour reprogrammer le lidar et non pas l'arduino. Dans le cas d'un adaptateur USB-FTDI, connecter le pin RX sur câble TX, et le pin TX au câble RX.


Démarrer le logiciel, se connecter à l'Arduino/adaptateur FTDI. Immédiatement des mesures s'affichent sur le graphe. Il faut alors envoyer les paramètres suivants grâce au champ de texte à gauche de la fenêtre du logiciel : 5A 05 0A 01.


Le lidar arrête alors de mettre à jour les données dans le graphe, ce qui montre qu'il est bien passé en mode I2C.

4ème étape : Assemblage du système

Pour information, la carte électronique visible sur les photos est une version de test, elle comporte des rajouts que vous n'aurez pas sur votre PCB.


La 1ère étape de l'assemblage consiste à insérer 4 écrous M3 dans la pièce imprimée en 3D comme sur la photo.


Canne a son V2 Fabric1.jpg


Ensuite, il faut coller à l'aide d'un pistolet à colle les deux capteurs ultrasons CH201 à leurs emplacements.


Canne a son V2 Fabric2.jpg


Placer ensuite le lidar et le viser à l'aide de 2 vis M2.


Canne a son V2 Fabric3.jpg


La face avant de la partie imprimée en 3D doit alors ressembler à ceci :


Canne a son V2 Fabric4.jpg


Prendre le câble Grove, et le couper en deux. Dénuder les fils jaune et blanc, et les souder comme sur la photo (Rectange 3). Souder également des câbles jumper qui se brancheront sur le M5 Atom (Rectangle 1 et 2).


Canne a son V2 Fabric5.jpg Canne a son V2 Fabric6.jpg


Couper le câble USB A vers USB C en deux, et passer la partie USB A dans le trou de la seconde pièce imprimée en 3D.


Canne a son V2 Fabric7.jpg


Souder les deux fils vert et blanc correspondant à la data entre les deux parties du câble USB.


Canne a son V2 Fabric8.jpg


Il faut maintenant souder l'alimentation de la carte (Rectangle 1), les fils qui iront à l'interrupteur (Rectangle 2), et le lidar (Reclangle 3).


Canne a son V2 Fabric9 bis.jpg


Insérer l'interrupteur ON/OFF dans son emplacement et le souder (aux fils du rectangle 2 de la précédente image).


Canne a son V2 Fabric9.jpg


Brancher la prise USB C sur le M5 Atom.


Canne a son V2 Fabric10.jpg


Connecter le câble Grove et les câbles jumper au M5 Atom. Les coller au pistolet à colle pour s'assurer que rien ne bouge.


Canne a son V2 Fabric11.jpg


Connecter les deux capteurs CH201 au PCB. Connecter au connecteur 1 (Rectangle 1) le capteur horizontal, et au connecteur 2 (Rectangle 2) le capteur orienté vers le ciel.


Canne a son V2 Fabric12.jpg


Fermer le boîtier avec les 4 vis M3x10mm.


Il ne reste plus qu'à programmer le microcontrôleur comme expliqué dans la partie Programme microcontrôleur.