Différences entre versions de « Projets:Canne a son V2 »
(49 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 9 : | Ligne 9 : | ||
|Catégorie de handicap=Malvoyance | |Catégorie de handicap=Malvoyance | ||
|Etat d'avancement=Réalisés | |Etat d'avancement=Réalisés | ||
− | |Statut de la documentation= | + | |Statut de la documentation=Complète |
|Relecture de la documentation=Non vérifiée | |Relecture de la documentation=Non vérifiée | ||
|Techniques=arduino, esp, impression 3d, modélisation 3d, électronique | |Techniques=arduino, esp, impression 3d, modélisation 3d, électronique | ||
|Durée de fabrication=de 4 à 8 h | |Durée de fabrication=de 4 à 8 h | ||
|Coût matériel=De 100 à 200 euros | |Coût matériel=De 100 à 200 euros | ||
− | |Niveau= | + | |Niveau=Difficile |
|Licence=by-sa | |Licence=by-sa | ||
|Projet date=2022-06-02 | |Projet date=2022-06-02 | ||
Ligne 24 : | Ligne 24 : | ||
Ce prototype de canne blanche électronique a pour but de détecter des obstacles. C'est une évolution du projet [[Projets:Canne_a_son|Canne à son]]. | Ce prototype de canne blanche électronique a pour but de détecter des obstacles. C'est une évolution du projet [[Projets:Canne_a_son|Canne à son]]. | ||
− | |||
− | 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 | + | 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 : | Les capteurs sont placés de la manière suivante : | ||
− | [[ | + | [[Fichier:Canne_a_son_V2_explication_capteurs.jpg|400px]] |
+ | |||
+ | |||
+ | 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 | + | 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 | + | 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. | ||
− | |||
+ | [[Fichier:Canne a son onoff.jpg|400px]] | ||
− | |||
− | Tout le système est alimenté par une batterie externe de 5000 mAh, donnant au système une autonomie de | + | 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 == | == Cahier des charges == | ||
+ | |||
+ | Le cahier des charges reprend ce qui avait été dit dans la [[Projets:Canne_a_son#Cahier_des_charges_apr.C3.A8s_analyse_du_besoin_des_porteurs_de_projets|réunion du 17/03/22]] à propos du projet [[Projets:Canne_a_son|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== | == 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 : | ||
+ | |||
+ | * [[Projets:Wi-canne|Wi canne]] | ||
+ | |||
+ | * [[Projets:Canne_a_son|Canne à son]] | ||
== Matériel == | == 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 : | ||
+ | |||
+ | * 3x Résistances | Valeur : 10k | Package : 0805 | ||
+ | * 4x Résistances | Valeur : 2.2k | Package :0805 | ||
+ | * 1x Résistance | Valeur : 200k | Package : 0805 | ||
+ | * 3x Résistances | Valeur : 8.33k | Package : 0805 | ||
+ | * 2x Condensateurs | Valeur : 0.1u | Package : 0805 | ||
+ | * 1x Condensateur | Valeur : 10n | Package : 0805 | ||
+ | * 1x Condensateur | Valeur : 1u | Package : 0805 | ||
+ | * 1x Condensateur | Valeur : 2.2u | Package : 0805 | ||
+ | * 1x Diode de roue libre buzzer | Ref : S07M-GS18 | Lien : https://fr.rs-online.com/web/p/diodes-de-commutation/7104550 | ||
+ | * 2x Connecteurs Molex nappe | Ref : 503480-0800 (difficile à souder, peut-être envisager de commander le PCB avec ce composant déjà soudé) | Lien : https://fr.rs-online.com/web/p/connecteurs-fpc/8967614 | ||
+ | * 1x Mosfet N | Ref : BSS138 | Lien : https://fr.rs-online.com/web/p/transistors-mosfet/2352648 | ||
+ | * 2x Buzzers | Ref : KSSG13J12-N | Lien : https://fr.rs-online.com/web/p/buzzers-piezo/7542047 | ||
+ | * 1x Régulateur de tension 1.8V | Ref : LP2985A-18DBVR | Lien : https://fr.rs-online.com/web/p/regulateurs-de-tension/6613671 | ||
+ | * 1x I2C level shifter | Ref : PCA9306D,118 | Lien : https://fr.rs-online.com/web/p/expandeurs-e-s/2194615 | ||
+ | * 1x Level shifter spécifique | Ref : TXB0104D | Lien : https://fr.rs-online.com/web/p/translator-de-ci/7092778 | ||
+ | |||
+ | === Autres composants du boîtier === | ||
+ | |||
+ | |||
+ | * 1x Microcontrôleur | Ref : M5 Atom | Lien : https://shop.m5stack.com/products/atom-matrix-esp32-development-kit | ||
+ | * 1x Cable Grove | Lien : https://shop.m5stack.com/products/4pin-buckled-grove-cable | ||
+ | * 1x Lidar | Ref : TF Mini Plus | Lien : https://www.gotronic.fr/art-capteur-de-distance-lidar-tf-mini-plus-28966.htm | ||
+ | * 2x Capteurs Ultrasons | Ref : CH201 | Lien : https://fr.rs-online.com/web/p/kits-de-developpement-pour-capteur/2182202 | ||
+ | * 2x Nappes pour capteur US 8 voies, pas de 0.5mm | Ref : 179-2607 | Lien : https://fr.rs-online.com/web/p/cables-en-nappe/1792607 | ||
+ | * 1x Interrupteur 10x15mm | Ref : PRK22J5BBBNN | Lien : https://fr.rs-online.com/web/p/interrupteurs-a-bascule/8681559 | ||
+ | * 1x Batterie externe USB | Ref : Xtorm - Power Bank Fuel - 5000 mAh - FS201 | Lien : https://www.amazon.fr/Xtorm-AT-FS201-Power-Pebble-Power-5000-mAh/dp/B076GK1RL8/ | ||
+ | * 1x Cable USB A vers USA C standard, de préférence 1m | ||
+ | * 4x Vis M3x10mm | ||
+ | * 2x Vis M3x16mm | ||
+ | * 6x Ecrous M3 | ||
+ | |||
+ | === 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== | ==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) | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son pcb schematic.jpg|900px]] | ||
+ | |||
+ | |||
+ | À 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 : | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son v2 pcb 3D.jpg|400px]] | ||
+ | |||
+ | ===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 à l'aide d'un fer à souder 4 écrous M3 dans la pièce imprimée en 3D comme sur la photo. | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric1.jpg|400px]] | ||
+ | |||
+ | |||
+ | Ensuite, il faut coller à l'aide d'un pistolet à colle les deux capteurs ultrasons CH201 à leurs emplacements. Pour cela, appliquer directement la colle sur le PCB côté capteur. Ne pas s'étonner si le cône se décolle et le recoller au PCB. | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric2.jpg|400px]] | ||
+ | |||
+ | |||
+ | Placer ensuite le lidar et le viser à l'aide de 2 vis M2. | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric3.jpg|400px]] | ||
+ | |||
+ | |||
+ | La face avant de la partie imprimée en 3D doit alors ressembler à ceci : | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric4.jpg|400px]] | ||
+ | |||
+ | |||
+ | 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). | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric5.jpg|400px]] [[Fichier:Canne a son V2 Fabric6.jpg|400px]] | ||
+ | |||
+ | |||
+ | 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. Il y a 4 fils. | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric7.jpg|400px]] | ||
+ | |||
+ | |||
+ | Souder les deux fils vert et blanc correspondant à la data entre les deux parties du câble USB. | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric8.jpg|400px]] | ||
+ | |||
+ | |||
+ | Il faut maintenant souder le fil rouge et le noir du câble USB sur le PCB au +5V et au GND (Rectangle 1), les fils qui iront à l'interrupteur (Rectangle 2), et le lidar (Ordre : Noir, Rouge, Blanc, Vert avec le Noir sur GND) (Reclangle 3). | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric9_bis.jpg|400px]] | ||
+ | |||
+ | |||
+ | Insérer l'interrupteur ON/OFF dans son emplacement et le souder (aux fils du rectangle 2 de la précédente image). | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric9.jpg|400px]] | ||
+ | |||
+ | |||
+ | Brancher la prise USB C sur le M5 Atom. | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric10.jpg|400px]] | ||
+ | |||
+ | |||
+ | 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. | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric11.jpg|400px]] | ||
+ | |||
+ | |||
+ | 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. L'ordre est important sinon les capteurs seront inversés dans le code. | ||
+ | |||
+ | |||
+ | [[Fichier:Canne a son V2 Fabric12.jpg|400px]] | ||
+ | |||
+ | |||
+ | Fermer le boîtier avec les 4 vis M3x10mm. Le PCB se place dans la pièce en plastique fixée à la canne. | ||
+ | |||
+ | |||
+ | Il ne reste plus qu'à programmer le microcontrôleur comme expliqué dans la partie [[Projets:Canne_a_son_V2#Programme_microcontr.C3.B4leur|Programme microcontrôleur]]. | ||
+ | |||
+ | Fixer les écrous M3 au fer à souder aux emplacements prévus entre le support batterie et le boitier de l'électronique | ||
+ | |||
+ | |||
+ | ==Fixation du dispositif sur la canne== | ||
+ | * Désassembler la canne en enlevant l'extrémité qui est tenue par un élastique | ||
+ | * Glisser le dispositif de la canne à son sur la canne et réassembler la canne | ||
+ | |||
+ | ==Retours utilisateurs== | ||
+ | Plusieurs personnes ont testées le prototype en extérieur dans un environnement relativement calme avec une instructrice de locomotion du centre Angèle Vannier. Voici leurs retours. | ||
+ | |||
+ | |||
+ | R. voit très légèrement des ombres. Le dispositif de la canne à son lui apporte un sentiment de sécurité car les obstacles sont détectés avant de buter dedans. Cependant elle pense que le son peut être gênant quand on se déplace accompagné car le son parasite la discussion. Elle pense qu'un retour par vibration lui bien conviendrait bien mieux d'autant que le son de la canne focalise l'attention sur celui-ci au détriment de l'attention porté à l'environnement. Elle suggère de mettre la vibration soit directement sur la poignée de la canne, soit sur la sangle de la canne en l'élargissant sur le modèle des bâtons de marche nordique. | ||
+ | |||
+ | |||
+ | MN. a une vision périphérique uniquement. Etant donnée que la personne a une vision périphérique elle n'a pas vraiment d'intérêt à utiliser ce dispositif. le son lui demande de la concentration et gêne sa concentration pour analyser ce qu'elle a sous les pieds et ce qu'elle arrive encore à détecter visuellement. Cela lui demande trop d'effort cognitif. | ||
+ | |||
+ | |||
+ | S. a une vision tubulaire et porte une boucle magnétique car cette personne est aussi malentendante. Le test s'est d'abord fait sans la boucle magnétique et elle n'entendait absolument pas le son de la canne à son. Ensuite elle a porté sa boucle magnétique et nous avons mis le micro proche de la canne. Le son était pour elle très désagréable car trop aigu. De plus, la canne à son est programmé afin que la position verticale la désactive afin de stopper le son quand on souhaite faire une pause. S estime qu'il faudrait agrandir la plage de cette position vertical de la canne afin que même si on ne se trouve pas totalement à la verticale elle soit désactivée tout en n'impactant pas le fonctionnement normal de la canne quand elle est réactivée. Sa suggestion est également de régler le son autrement afin que les fréquences lui soient plus supportables. | ||
+ | |||
+ | |||
+ | A. ne voit pas de l'oeil droit mais voit avec l'oeil gauche. cependant il est très gênée car il a aussi un problème de nygstamus (les yeux bougent constamment de gauche à droite) et il est très sensible à la lumière qui est très éblouissante et le fatigue beaucoup. Cette personne trouve le dispositif super. Cependant il suggère de monter le son trop faible en extérieur et éventuellement de d'avoir ce retour sonore via un casque à conduction osseuse afin de pouvoir tout de même entendre l'environnement. Pour cette personne, ce qui change par rapport à une canne sans ce dispositif, c'est que les obstacles sont détectés avant de buter dedans et c'est sécurisant, ça évite de cogner dedans.Cette personne avait testé une canne à vibrations et il préfère de loin le retour sonore.De plus ce dispositif permet d'être mis en pause avec la position verticale ce qui est très appréciable. La canne à vibrations qu'il avait testé ne lui convenait pas car elle vibrait en permanence puisqu'elle n'avait pas cette option. Cette personne trouve la canne à son impressionnante et est séduit par ce système. Une amélioration serait de pouvoir choisir entre vibration et son, et même de pouvoir coupler les deux. | ||
+ | |||
+ | |||
+ | '''Les points d'attention et à améliorer:''' | ||
+ | |||
+ | - Le boîtier de la canne à son tourne autour de la canne car chaque élément de la canne tourne sur lui-même. Or, la canne à son a besoin d'une position fixe pour être efficace. Elle doit être sur le dessus de la canne. | ||
+ | |||
+ | - Les utilisateurs doivent prendre la canne en positionnant l'index sur le méplat et faire des mouvements de balayage de largeur du corps en avec comme axe central le milieu du corps. | ||
+ | |||
+ | - En montée d'escalier, il ne faut pas que la canne soit trop verticale (sinon elle se désactive) ou trop horizontale (la détection ne se fait pas correctement) | ||
+ | |||
+ | - En locomotion, avec une canne classique, la bonne pratique est de compter les marches en positionnant la canne bras tendu avec la canne droite (verticale par rapport au sol) | ||
+ | |||
+ | - Ajouter un indicateur de la charge de batterie. | ||
+ | |||
+ | - Préciser le temps d'autonomie de la batterie | ||
− | |||
− | + | [[Category:Inauguration]] |
Version actuelle datée du 14 juin 2024 à 10:16
Canne a son V2 | |
---|---|
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 :
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.
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 :
- 3x Résistances | Valeur : 10k | Package : 0805
- 4x Résistances | Valeur : 2.2k | Package :0805
- 1x Résistance | Valeur : 200k | Package : 0805
- 3x Résistances | Valeur : 8.33k | Package : 0805
- 2x Condensateurs | Valeur : 0.1u | Package : 0805
- 1x Condensateur | Valeur : 10n | Package : 0805
- 1x Condensateur | Valeur : 1u | Package : 0805
- 1x Condensateur | Valeur : 2.2u | Package : 0805
- 1x Diode de roue libre buzzer | Ref : S07M-GS18 | Lien : https://fr.rs-online.com/web/p/diodes-de-commutation/7104550
- 2x Connecteurs Molex nappe | Ref : 503480-0800 (difficile à souder, peut-être envisager de commander le PCB avec ce composant déjà soudé) | Lien : https://fr.rs-online.com/web/p/connecteurs-fpc/8967614
- 1x Mosfet N | Ref : BSS138 | Lien : https://fr.rs-online.com/web/p/transistors-mosfet/2352648
- 2x Buzzers | Ref : KSSG13J12-N | Lien : https://fr.rs-online.com/web/p/buzzers-piezo/7542047
- 1x Régulateur de tension 1.8V | Ref : LP2985A-18DBVR | Lien : https://fr.rs-online.com/web/p/regulateurs-de-tension/6613671
- 1x I2C level shifter | Ref : PCA9306D,118 | Lien : https://fr.rs-online.com/web/p/expandeurs-e-s/2194615
- 1x Level shifter spécifique | Ref : TXB0104D | Lien : https://fr.rs-online.com/web/p/translator-de-ci/7092778
Autres composants du boîtier
- 1x Microcontrôleur | Ref : M5 Atom | Lien : https://shop.m5stack.com/products/atom-matrix-esp32-development-kit
- 1x Cable Grove | Lien : https://shop.m5stack.com/products/4pin-buckled-grove-cable
- 1x Lidar | Ref : TF Mini Plus | Lien : https://www.gotronic.fr/art-capteur-de-distance-lidar-tf-mini-plus-28966.htm
- 2x Capteurs Ultrasons | Ref : CH201 | Lien : https://fr.rs-online.com/web/p/kits-de-developpement-pour-capteur/2182202
- 2x Nappes pour capteur US 8 voies, pas de 0.5mm | Ref : 179-2607 | Lien : https://fr.rs-online.com/web/p/cables-en-nappe/1792607
- 1x Interrupteur 10x15mm | Ref : PRK22J5BBBNN | Lien : https://fr.rs-online.com/web/p/interrupteurs-a-bascule/8681559
- 1x Batterie externe USB | Ref : Xtorm - Power Bank Fuel - 5000 mAh - FS201 | Lien : https://www.amazon.fr/Xtorm-AT-FS201-Power-Pebble-Power-5000-mAh/dp/B076GK1RL8/
- 1x Cable USB A vers USA C standard, de préférence 1m
- 4x Vis M3x10mm
- 2x Vis M3x16mm
- 6x Ecrous M3
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)
À 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 :
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 à l'aide d'un fer à souder 4 écrous M3 dans la pièce imprimée en 3D comme sur la photo.
Ensuite, il faut coller à l'aide d'un pistolet à colle les deux capteurs ultrasons CH201 à leurs emplacements. Pour cela, appliquer directement la colle sur le PCB côté capteur. Ne pas s'étonner si le cône se décolle et le recoller au PCB.
Placer ensuite le lidar et le viser à l'aide de 2 vis M2.
La face avant de la partie imprimée en 3D doit alors ressembler à ceci :
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).
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. Il y a 4 fils.
Souder les deux fils vert et blanc correspondant à la data entre les deux parties du câble USB.
Il faut maintenant souder le fil rouge et le noir du câble USB sur le PCB au +5V et au GND (Rectangle 1), les fils qui iront à l'interrupteur (Rectangle 2), et le lidar (Ordre : Noir, Rouge, Blanc, Vert avec le Noir sur GND) (Reclangle 3).
Insérer l'interrupteur ON/OFF dans son emplacement et le souder (aux fils du rectangle 2 de la précédente image).
Brancher la prise USB C sur le M5 Atom.
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.
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. L'ordre est important sinon les capteurs seront inversés dans le code.
Fermer le boîtier avec les 4 vis M3x10mm. Le PCB se place dans la pièce en plastique fixée à la canne.
Il ne reste plus qu'à programmer le microcontrôleur comme expliqué dans la partie Programme microcontrôleur.
Fixer les écrous M3 au fer à souder aux emplacements prévus entre le support batterie et le boitier de l'électronique
Fixation du dispositif sur la canne
- Désassembler la canne en enlevant l'extrémité qui est tenue par un élastique
- Glisser le dispositif de la canne à son sur la canne et réassembler la canne
Retours utilisateurs
Plusieurs personnes ont testées le prototype en extérieur dans un environnement relativement calme avec une instructrice de locomotion du centre Angèle Vannier. Voici leurs retours.
R. voit très légèrement des ombres. Le dispositif de la canne à son lui apporte un sentiment de sécurité car les obstacles sont détectés avant de buter dedans. Cependant elle pense que le son peut être gênant quand on se déplace accompagné car le son parasite la discussion. Elle pense qu'un retour par vibration lui bien conviendrait bien mieux d'autant que le son de la canne focalise l'attention sur celui-ci au détriment de l'attention porté à l'environnement. Elle suggère de mettre la vibration soit directement sur la poignée de la canne, soit sur la sangle de la canne en l'élargissant sur le modèle des bâtons de marche nordique.
MN. a une vision périphérique uniquement. Etant donnée que la personne a une vision périphérique elle n'a pas vraiment d'intérêt à utiliser ce dispositif. le son lui demande de la concentration et gêne sa concentration pour analyser ce qu'elle a sous les pieds et ce qu'elle arrive encore à détecter visuellement. Cela lui demande trop d'effort cognitif.
S. a une vision tubulaire et porte une boucle magnétique car cette personne est aussi malentendante. Le test s'est d'abord fait sans la boucle magnétique et elle n'entendait absolument pas le son de la canne à son. Ensuite elle a porté sa boucle magnétique et nous avons mis le micro proche de la canne. Le son était pour elle très désagréable car trop aigu. De plus, la canne à son est programmé afin que la position verticale la désactive afin de stopper le son quand on souhaite faire une pause. S estime qu'il faudrait agrandir la plage de cette position vertical de la canne afin que même si on ne se trouve pas totalement à la verticale elle soit désactivée tout en n'impactant pas le fonctionnement normal de la canne quand elle est réactivée. Sa suggestion est également de régler le son autrement afin que les fréquences lui soient plus supportables.
A. ne voit pas de l'oeil droit mais voit avec l'oeil gauche. cependant il est très gênée car il a aussi un problème de nygstamus (les yeux bougent constamment de gauche à droite) et il est très sensible à la lumière qui est très éblouissante et le fatigue beaucoup. Cette personne trouve le dispositif super. Cependant il suggère de monter le son trop faible en extérieur et éventuellement de d'avoir ce retour sonore via un casque à conduction osseuse afin de pouvoir tout de même entendre l'environnement. Pour cette personne, ce qui change par rapport à une canne sans ce dispositif, c'est que les obstacles sont détectés avant de buter dedans et c'est sécurisant, ça évite de cogner dedans.Cette personne avait testé une canne à vibrations et il préfère de loin le retour sonore.De plus ce dispositif permet d'être mis en pause avec la position verticale ce qui est très appréciable. La canne à vibrations qu'il avait testé ne lui convenait pas car elle vibrait en permanence puisqu'elle n'avait pas cette option. Cette personne trouve la canne à son impressionnante et est séduit par ce système. Une amélioration serait de pouvoir choisir entre vibration et son, et même de pouvoir coupler les deux.
Les points d'attention et à améliorer:
- Le boîtier de la canne à son tourne autour de la canne car chaque élément de la canne tourne sur lui-même. Or, la canne à son a besoin d'une position fixe pour être efficace. Elle doit être sur le dessus de la canne.
- Les utilisateurs doivent prendre la canne en positionnant l'index sur le méplat et faire des mouvements de balayage de largeur du corps en avec comme axe central le milieu du corps.
- En montée d'escalier, il ne faut pas que la canne soit trop verticale (sinon elle se désactive) ou trop horizontale (la détection ne se fait pas correctement)
- En locomotion, avec une canne classique, la bonne pratique est de compter les marches en positionnant la canne bras tendu avec la canne droite (verticale par rapport au sol)
- Ajouter un indicateur de la charge de batterie.
- Préciser le temps d'autonomie de la batterie