Différences entre versions de « Projets:Trotti wheel »
Ligne 446 : | Ligne 446 : | ||
https://vesc-project.com/node/179 | https://vesc-project.com/node/179 | ||
====Onglet included file==== | ====Onglet included file==== | ||
− | Uploader le firmware VESC_default.bin correspondant au hardware v4.12 | + | '''ATTENTION: un mauvais firmware peut endommager définitvement la carte si ce n'est pas le bon !!''' |
+ | |||
+ | *Uploader le firmware VESC_default.bin correspondant au hardware v4.12 | ||
[[File:Controle Hard et Firmware.PNG|800px]] | [[File:Controle Hard et Firmware.PNG|800px]] | ||
− | Une fois uploadé on débranche l'alimentation de la carte. On attends 10 secondes. | + | *Une fois uploadé on débranche l'alimentation de la carte. On attends 10 secondes. |
+ | |||
+ | [[File:Fin Programmation.PNG|1200px]] | ||
Vérifier que le firmware est le bon en cliquant sur la flèche qui va vers le bas (upload) | Vérifier que le firmware est le bon en cliquant sur la flèche qui va vers le bas (upload) |
Version du 8 février 2019 à 12:08
Description du projet
Ce projet a été réalisé lors d'un hackathon de deux jours co-organisé par La petite rennes, My human kit et keolis. Le but est de ré-utiliser les moteurs de vélostar de kéolis pour motoriser des fauteuils roulants.
My Human Kit a déjà réalisé d'autres projets de motorisation de fauteuils roulants manuels à partir de trottinettes :
Les premières études/projets pour prendre la main sur les moteurs et pouvoir les contrôler ont également été réalisées en amont sur les projets suivants:
Cahier des charges
Détail des contraintes :
Économiques : Le coût global du système ne doit pas dépasser 1000€
Environnementales : Le projet doit être constitué d'un maximum de pièces recyclées, ré-utilisés
Industrielles : Le système doit pouvoir être reproduite par le plus grand nombre de personnes possible, notamment dans les FabLabs
Matérielles : On doit utiliser le système d'assistance électrique de vélo présent dans les vélostar de Kéolis
Analyse de l'existant
- electric longboard: https://hackaday.io/project/12123-electric-longboard
- Trampa board choisit aussi VESC dans son haut de gamme commercial: http://cintop.com/atb-motor-wiring-diagram#
Equipe
- Boris de l'association La Petite Rennes
- Tristan de l'association La Petite Rennes
- Aurélien de l'association La Petite Rennes
- Alan de l'association La Petite Rennes
- Antoine de l'association La Petite Rennes
- Vincent
- Delphine de l'association MHK
- Yohann de l'association MHK
- Guillaume de l'association MHK
- Philippe de l'association MHK
- Stéphane de l'association MHK
- André de l'association MHK
Matériel nécessaire
- Matériel de soudure à l'arc pour le châssis
- Une articulation mécanique de photocopieur
- Des barres et des tubes en acier de différentes longueur/largeur
- Un moteur de vélo à assistance électrique
- Une batterie de vélo à assistance électrique
- Un contrôleur de moteur open source : Contrôleur de moteur
- Une roue de vélo pour enfant : 20 pouces
ATTENTION : le moteur de vélo doit être lié à la roue, pour ce faire nous avons identifié 2 solutions :
- Rayonner la roue avec le moteur/moyeu, c'est très complexe - Réaliser 2 flasques en dibon pour relier la roue au moteur
Outils nécessaires
- Poste de soudure à l'arc avec des baguettes
- Outillage classique de métallier : pinces, marteau, tournevis ...
Coût
Etant donné que nous récupérons le moteur, la batterie et le contrôleur de vélo gratuitement suite à un partenariat avec keolis, le coût global s'élève à environ 150 euros. Le cout détaillé :
- ESC (Electronic Speed Control) : 100€
- des boutons, des connecteurs, des potentiomètres, des fils : 15€
- Du métal sous différente forme et longueur : 15€
- Des baguettes de soudure : 10€
Electronique
Schema général
Le prototype se compose:
- d'une batterie Lithium Polymere (LiPo)
- d'un contrôleur electronique (ESC)
- d'un module radio/wifi permettant de controler le moteur à distance (radiocommande)
- d'un module de gestion de la puissance/vitesse (un simple potentiometre)
- d'un moteur brushless
- d'un gestionnaire de charge pour les batteries (BMS)
- d'un condensateur électrolitique (préciser la valeur)
- câbles d'alimentation
Câblage
Dénuder et étamer les fils d'alimentation puis recouper de façon à ce que les fils dénudés ne soient pas trop longs.
Enrouler les pattes du condensateur puis les souder (ATTENTION Il faut souder le condensateur en respectant sa polarité !!! Le + (Patte la plus longue) sur le fil rouge et le - (Patte la plus courte) sur le noir. Puis vérifier avec un multimètre la continuité du fil et l'isolement d'un fils par rapport à l'autre.
Souder les fils d'alimentation à la carte en mettant d'abord de l'étain sur les bornes + et - puis en venant placer les fils directement dessus.
Etamer les deux autres extrémités des fils.
Ensuite, étamer les trois bouts sur la carte puis les deux extrémités des câbles qui vont alimenter les trois bobines électromagnétiques du moteur (câbles triphasés).
Les souder à plat sur les trois bouts préalablement étamés de la carte.
Programmation
ESC
Le Contrôleur Electronique de Vitesse (Electronic Speed Controler) sert à gérer le fonctionnement et l'alimentation du moteur.
Logiciel
Deux aspects sont a considérer:
- Le logiciel de configuration, de contrôle et de monitorage apte à communiquer et injecter du code dans le contrôleur d'une part.
Il s'agit de BLDC-Tool ou plus récent, les VESC Tools.
https://github.com/vedderb/vesc_tool (code source)
- Le logiciel qui représente les paramétrages propre aux besoins de l'utilisateur d'autre part.
Il s'agit du code source pour le firmware qui tourne sur le hardware (carte électronique VESC).
https://github.com/vedderb/bldc/
Installation depuis les sources sur github https://vesc-project.com/node/310 (config pour linux) Il est aussi possible d'obtenir une version pré-compilée sur le site https://vesc-project.com/node/17
Video "paramétrage automatique du moteur" : https://youtu.be/fblfjpJqHVQ
Installation et compilation de BLDC [obsolète a priori]
https://github.com/vedderb/bldc-tool
sudo apt-get install qtcreator qt-sdk libudev-dev libqt5serialport5-dev
qmake -qt=qt5
make clean && make
Allow for serial access without using sudo: sudo adduser $USER dialout
Restart for access changes to take effect sudo reboot now
Start BLDC-tool from inside of the built repo ./BLDC_Tool
Radiocommande
Il est possible de prendre commande du contrôleur de vitesse à distance, en utilisant soit une radiocommande (basée sur du 433MHz souvent), soit un module wifi (NodeMCU par exemple).
BMS
Le Système de Gestion de Batterie (Battery Managment System) sert à protéger la batterie contre différents risques. Il est en général intégré à la batterie, dans son boîtier
Compte-rendu du hackathon
Résumé du jour 1
hardware: http://vedder.se/2015/01/vesc-open-source-esc/
- Mise à jour de la carte avec les nouveaux firmware en version 3.38 (il faut alimenter la batterie en minimum 12V et max 36V )
- On a utilisé VESC Tools, pour lire les paramètres de la carte
- Fonctionnalité utilisée qui permet de faire de la détection automatique de paramètres mais ne marchait pas car il faut les pré-initialiser avec valeur proche de la réalité (à taton, les paramètres ont finalement été trouvés))
- Une fois fait on peut commander le moteur via VESC Tools, on peut voir tous les paramètres de la carte. A partir de ce logiciel on pourra contrôler le potentiomètre. (mission de demain)
Résumé du jour 2
Objectif de la journée:Contrôler l'ESC (accélération, freinage, sens de rotation éventuellement) via un potentiometre, puis en wifi avec la carte Node MCU (WIFI) pour contrôler la vitesse du moteur avec un potentiomètre.
Infos sur Node MCU: - https://linuxfr.org/news/nodemcu-esp8266-une-alternative-a-l-arduino - http://www.sigmdel.ca/michel/ha/esp8266/doit_nodemcu_v3_en.html avec schéma de brochage - précisement, il s'agit du kit de dev Geekcreit ESP12E - https://smartarduino.gitbooks.io/user-manual-for-esp-12e-devkit/content/index.html - forum http://bbs.smartarduino.com/
Ecrire des applications custom (necessite chaine compilation firmware : http://vedder.se/2015/08/vesc-writing-custom-applications/#more-916
Infos sur la config (video 2) : - https://youtu.be/4rCARx6RJEk Au début de la video le chargement du xml n'est pas nécessaire si on suit la 1ere video (Video "paramétrage automatique du moteur" : https://youtu.be/fblfjpJqHVQ ) Le dc center correspond au max de la marche arrière et ici le moteur n'a pas de marche arrière donc il est configuré comme le min
Il nous manque des specs moteurs notamment le nombre de bobines (permet de faire la conversion entre le ERPM (rotation par minute électronique) et le RPM (rotation par minute ) La formule: RPM=ERPM/(nb de paires de bobines)
En fin de journée, Steph a réglé le RPM sur le logiciel VESC Tools, il utilise la connexion UART avec la carte connectée en USB.
Répartition du matériel entre les participants:
3 cartes VESC version 4.12, ont été cablées, dont une sur le connecteur de batterie et les 2 autres sur fiche banane. La batterie est à 36 V. Un exemplaire pour la Petite rennes, un exemplaire à MHK (celui avec batterie), et un pour John
Recherches
Commande distante via Nunchuk:
http://forum.faradaymotion.com/d/12-nunchuk-controller-for-spine-with-telemetry-display/19
Commande via NRF:
https://www.electric-skateboard.builders/t/vesc-nrf-hand-controller/16212/11
https://hackaday.io/project/12123/logs?sort=newest&page=2
https://www.amazon.com/Makerfire-Arduino-NRF24L01-Wireless-Transceiver/dp/B00O9O868G
Connection from receiver to VESC:
https://www.electric-skateboard.builders/t/connection-from-receiver-to-vesc/1409
Commande distante via RF 433MhZ:
Design télécommande:
waterproof: http://efoil.builders/t/diy-waterproof-remote/108 https://www.electric-skateboard.builders/t/diy-remote-design-inputs/10161
Projets déjà existant:
- electric longboard: https://hackaday.io/project/12123-electric-longboard
- Trampa board choisit aussi VESC dans son haut de gamme commercial: http://cintop.com/atb-motor-wiring-diagram#
- servo moteur iOt: https://hackaday.io/project/249-moti-a-smart-servo
Mécanique
Jante
Avec rayonnage
Les moteurs récupérés font partie d'une roue de vélo électrique. Le moteur est donc solidaire de la roue via un rayonnage.
Sans rayonnage
Entrainement direct
%b@z8Aq&)DB(Vp00
Entrainement courroie
Schéma des solutions envisagées mais abandonnées
Jour1
Solutions envisagées pour fixer la fourche du vélo au fauteuil
- Utiliser des fixations de siège pour bébé (problème : il en faut deux similaires et nous n'en avions qu'une)
- Couper des tubes dans un cadre de vélo pour y souder la fourche
- Ils viendront s'emboîter dans les emboîtures présentes au dessus des petites roues du fauteuil
- Plusieurs tubes de différentes tailles et diamètres ont été coupés. En effet, ils présentent tous deux avantages et inconvénients : les tubes les plus petits (noirs) vont moins se tordre mais seront plus difficiles à souder tandis que les grands tubes (bleu et marron/violet) seront plus faciles à souder mais vont fléchir.
Jour2
Fabrication du chassis
Enlever les câbles du cadre du vélo, garder le système de tendeurs de câbles.
Enlever la fourche du cadre du vélo avant de couper ce dernier avec la scie pour qu'elle ne gêne pas
Lors du remontage, attention à ne pas serrer trop fort sinon cela bloque les roulements (il faut que le tout soit sans jeu mais libre).
Regarder où souder les tubes en acier coupés dans d'autres cadres de vélo
Utiliser une charnière de photocopieur à souder sur la fourche et les tubes en acier
Cela permettra à Guillaume de surélever les petites roues avant de son fauteuil en poussant sur le guidon et en insérant une goupille afin de maintenir le tout. Il faut enlever une partie du mécanisme de la charnière avant de la souder.
A l'aide d'un cutter, d'une scie ou de papier abrasif, enlever la peinture de tous les éléments à souder, sinon cela ne marchera pas.
Guillaume le fait également sur les petits tubes noirs qui s'insèrent directement au dessus des petites roues de son fauteuil pour qu'ils rentrent plus facilement.
La charnière est à souder vers le haut. Attention les yeux !
Vérifier l'inclinaison souhaitée des éléments, notamment par rapport à la charnière, avant de les souder et recouper à la scie au besoin
Limer les bouts.
D'abord souder les fins tubes bleus aux petits tubes noirs. Les tubes bleus manquaient de longueur par rapport à la charnière, il a donc fallu revoir le positionnement
Puis recouper les tubes en conséquence avant de les souder à la charnière
Fixation chassis sur fauteuil
Vidéo du positionnement et et de la fixation de la fourche sur le chassis
Un problème se pose lors de l'emboîtement de la structure dans le fauteuil : elle est difficile à retirer. Provisoirement, Guillaume enlève un peu plus de matières avec du papier abrasif, mais à terme, la structure sera accrochée au fauteuil à l'aide de fixations. On pourrait également utiliser un système plongeur-expandeur
Où mettre la batterie ?
Visser le support de batterie originel sur un fer plat préalablement soudé à l'avant de la fourche
Nous avons utilisé seulement deux des trois points de fixation du support batterie, dans l'optique d'avoir plus de stabilité il faudrait utiliser le troisième
Mettre les plaquettes de frein
Fabrication et assemblage du guidon sur le chassis
https://www.youtube.com/watch?v=Vs_jXWJjwTY&list=PLDQPd8QIfZJJYC_LvKVUcKRiQMmhUMZ1V&index=2&t=0s
Monter le guidon
Montage de l'électronique sur chassis
Ajouter la partie électronique
En vidéo c'est mieux :)
La même vue sous un autre angle : https://youtu.be/ofG7gtsDKcQ
Prototype final en action
... et c'est parti !!
Nouvel essai du 08/02/2019 : Paramétrage du moteur dans VESC Tools
Ref carte VESC
Regarder la version de la carte (écrit sur la carte :v 4.12)
Matériel nécessaire
- carte VESC commandée chez faradaymotion (www.faradaymotion.com/index.php?controller=pdf-invoice&id_order=154)
- accélérateur de mob qui fonctionne sur le principe d'un capteur d'effet de hall à l'intérieur
- batterie lipo
- 1 moteur brushless
TO DO LIST pour prochaine session
* Acheter connecteurs adaptés * retrouver (cf John) le dispositif de mesure de batterie ou contrôleur moteur avec potentiomètre que Christian avait fait
Télécharger VESC Tool
Aller sur url: https://vesc-project.com/node/310
Obligation de créer un compte pour téléchargement
TO DO :Installation sur windows et linux
Paramétrage VESC Tools
IMPORTANT: Les vrais paramètres pour le moteur seront à rentrer sur la carte, car sur le tutoriel suivant on a utilisé une alimentation à 16V au lieu de la batterie.
Le VESC n'a pas toujours le bon firmware mais il se débrouille tout seul apparemment :)
Dans le cas où il ne trouve pas le firmware tout seul, vérifier la compatibilité avec la carte et prendre le firmware correspondant . Pour nous ce serait (https://github.com/vedderb/bldc/tree/master/build_all/410_o_411_o_412) télécharger la version par defaut (précisé dans le nom du firmware).
VESC Tool>Onglet Firmware
https://vesc-project.com/node/179
Onglet included file
ATTENTION: un mauvais firmware peut endommager définitvement la carte si ce n'est pas le bon !!
- Uploader le firmware VESC_default.bin correspondant au hardware v4.12
- Une fois uploadé on débranche l'alimentation de la carte. On attends 10 secondes.
Vérifier que le firmware est le bon en cliquant sur la flèche qui va vers le bas (upload)
VESC Tool>Onglet Connection
Onglet USB serial
refresh + Reconnecter sur le bon port .
VESC Tool>Motor settings
Motor setup wizard
Clic sur motor setup wizard
Choisir BLDC
set currents limit
set voltage limits
[A verifier]
- Débrancher, connecter le moteur
- Si on utilise une batterie ou une alim :dire Yes si on utilise une batterie, et No si alimentation .
- Cells: nb d'éléments = 5 cad entre 17 et 15.5V
[/A verifier]
choose sensorless
BLDC settings
VESC Tool>Moteur settings>General
General>General
General>Voltage
General>RPM
General>Wattage
General>Temperature
VESC Tool>Moteur settings>BLDC
BLDC>General
BLDC>Sensorless
- Appuyer sur play pour détection
Detection failed (car on n'a pas de sensors ...)
[A vérifier] Cliquer sur le bouton "use key" (photo) et jouer avec flèches pour faire tourner le moteur
- Write motor configuration* (le faire après chaque config): ecrit dans le prog vesc tool+carte
[write app config (ce qu'on rajoute sur la carte, ex: potentiomètre)]
[/A vérifier]
BLDC>Sensors
BLDC>Advanced
Motor settings>FOC>General
FOC>General
[A vérifier]
- Sauvegarder
[/A vérifier]
FOC>Sensorless
FOC>Advanced
A mettre dans la bonne étape-----------------------
[A vérifier]
- clic sur measure resistance à inductance (photo)
juste à côté à droite, clic sur measure flux linkage (photo)
Toutes les valeurs sont trouvées
Cliquer sur apply (photo appli param PID)
Puis sauver motor settings (à droite)
Laisser les autres onglets de FOC par défaut [/A vérifier]
Ces infos complémentaires resteront dans le contrôleur
Motor settings>PID controllers
PID Controllers
VESC Tool> App settings
App settings>Input setup wizard
MISSING ??
App settings>General
- app to use : ADC
- VESC ID :0 (on devrait en mettre si on avait plusieurs cartes vesc)
Laisser le reste par défaut.
Et on finit par écrire la nouvelle config sur la carte :
- clic sur *write app config*
App settings>PPM>General
=>PPM correspond à PWM, là on s'en sert pas donc on ne touche pas.
Throttle curve (si on veut changer la courbe mais nous on ne la change pas) (Si on met en négatif -100%, on aurait qqch de très réactif, la vitesse augmente à fond avec une petite variation de courant.)
Throttle brake (réglage frein de la même manière).
Pour tous les autres onglets on mets off dans Control Type, si on peut
App settings>ADC>General
- control Type : duty cycle
- use filter :true
- self start :true (demarrage progressif)
- Reset :laisser par défaut
Sauvergarder app settings
App settings>ADC>Mapping
On alimente en 3.3v le potentiomètre.
- ADC Voltage mapping selection menu:Duty cycle
- Cliquer sur *apply*
message please activate ... (photo mapping ADC)
- cliquer à droite dans menu stream real time data (photo)
Procédure
- reset min et max (photo)
- on bouge le potentiomètre au min et au max
- cliquer sur apply (photo)
On peut visualiser que les valeurs sont affichés dans la fenêtre du haut
- sauvegarder la config sur la carte en cliquant sur *write app configuration* (menu droite)
Pour démarrer le moteur il faut être à zéro (sécurité intégrée) sinon il né démarre pas donc attention à la position du potentiomètre !!
App settings>ADC>Throttle
Au besoin changer mais là on laisse par défaut.
Les autres onglets par défaut(UART, Nunchuck off, NRF ).
On a enregistré nos paramètres pour une version à 16V et 3 ampères.
Sur un moteur pas à pas on augmente la freq donc tourne plus vite, sur moteur brushless (notre cas) on envoie une plus grosse tension et le moteur va aller plus vite à son point . On augmente la tension (et pas la freq). (On envoie un champs un magnétique important, la vitesse va augmenter.Comme il arrive plus vite il faut envoyer la commande avant).
Implémentation de l'accélérateur
Rebrancher sur le modèle du potentiomètre
- +3V
- GND
- ADC
Sur l'alim, mettre intensité au max , et 16V.
Puis rebrancher carte sur alim puis en usb sur ordi
Dans VESC Tools, se reconnecter , icône tout en haut à droite (cf: photo reconnect)
App settings>ADC>Mapping
- Clic sur reset (fleche qui tourne) face au duty cycle
- config min et max (voir chapitre potentiomètre)
- clic sur apply