Projets:Trotti wheel

De wikilab

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

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


FW 02 wiring.jpg


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.

BALa0ZVr o.jpg QI4Jvynz o.jpg



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.

YLaFF5AM o.jpg BNy8yi8P o.jpg



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.

P2jZXvcJ o.jpg Wr20V0Ep o.jpg Z319LbTM o.jpg


Etamer les deux autres extrémités des fils.

QHpaYd3K o.jpg GqRkBPJE o.jpg


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

Mui7MH74 o.jpg Zgn3aFPt o.jpg



Les souder à plat sur les trois bouts préalablement étamés de la carte.

MtdZoe8O o.jpg


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

https://www.electric-skateboard.builders/t/vesc-faq-connect-the-nyko-kama-wireless-wii-nunchuck/139/205

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:

https://www.carnetdumaker.net/articles/communiquer-sans-fil-en-433mhz-avec-la-bibliotheque-virtualwire-et-une-carte-arduino-genuino/

https://www.amazon.fr/433Mhz-%C3%89metteur-R%C3%A9cepteur-T%C3%A9l%C3%A9commande-Arduino/dp/B00G23NW6S

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

D5fdqUxm o rotate.jpg

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

Xz8H9Ig6 o.jpg

    • Ils viendront s'emboîter dans les emboîtures présentes au dessus des petites roues du fauteuil

W8pMZofj o.jpg

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

0dxRxewn o.jpg

Jour2

Fabrication du chassis

Enlever les câbles du cadre du vélo, garder le système de tendeurs de câbles.

512x

Enlever la fourche du cadre du vélo avant de couper ce dernier avec la scie pour qu'elle ne gêne pas

N4ZWdyh3 o.jpg Mtmx1H1p o.jpg

Z30NoaOp o.jpg Y51F8rqI o.jpg


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

UgngHWz5 o.jpg XiycLtlt o.jpg

Utiliser une charnière de photocopieur à souder sur la fourche et les tubes en acier

7I0RaSol o.jpg

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.

9zPwRpw1 o.jpg

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 JGR8P3g2 o.jpg Y4odecvW o.jpg

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 EiZc8OT1 o.jpg X95l4N0b o.jpg

EXrpzct9 o.jpg MZDHXyaQ o.jpg

Puis recouper les tubes en conséquence avant de les souder à la charnière

LkFTrQGN o.jpg SpWjNjsq o.jpg

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

OnXPgjmj o.jpg

Où mettre la batterie ?

Visser le support de batterie originel sur un fer plat préalablement soudé à l'avant de la fourche

Kx0iteA1 o.jpg 2zhblqca o.jpg QZQ3p1Wq o.jpg

https://youtu.be/STH7_cUc3mA

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

QLnIkZ1R o.jpg


Mettre les plaquettes de frein

WKwmffDD o.jpg WMKjTcNI o.jpg

Fabrication et assemblage du guidon sur le chassis

https://youtu.be/Vs_jXWJjwTY

https://www.youtube.com/watch?v=Vs_jXWJjwTY&list=PLDQPd8QIfZJJYC_LvKVUcKRiQMmhUMZ1V&index=2&t=0s

Monter le guidon

EcY0Bbdx o.jpg

Montage de l'électronique sur chassis

Ajouter la partie électronique

2RiPJ6av o.jpg

En vidéo c'est mieux :)

https://youtu.be/BVRuxikTGuE

La même vue sous un autre angle : https://youtu.be/ofG7gtsDKcQ

Prototype final en action

... et c'est parti !!

Vidéo de démo du prototype


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

Controle Hard et Firmware.PNG

  • Une fois uploadé on débranche l'alimentation de la carte. On attends 10 secondes. Vérifier ensuite que le firmware est le bon en cliquant sur la flèche qui va vers le bas (upload)

Fin Programmation.PNG

VESC Tool>Onglet Connection

Onglet USB serial

  • Rafraichir encliquant sur refresh

Rafraichir Ports.PNG

  • Reconnecter sur le bon port .

Reconnect.PNG

VESC Tool>Motor settings

Motor setup wizard

Clic sur motor setup wizard

Moteur setup wizard.png

Choisir BLDC

Wizard Moteur-01.PNG

set currents limit

MOTEUR Current.PNG

Wizard Moteur-02.PNG

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 .
Si utilisation d'une alimentation stabilisée

Wizard Moteur-03.PNG

Si utilisation d'une batterie

Notre batterie contient 5 éléments (cells)

    • Cells: nb d'éléments = 5 cad entre 17 et 15.5V

Param Battery.PNG

[/A verifier]

choose sensorless

Senssorless.PNG

BLDC settings

Wizard Moteur-05.PNG

VESC Tool>Moteur settings>General

Moteur settings>General>General

MOTEUR General.PNG

Moteur settings>General>Voltage

MOTEUR Voltage.PNG

Moteur settings>General>RPM

MOTEUR RPM.PNG

Moteur settings>General>Wattage

MOTEUR Wattage.PNG

Moteur settings>General>Temperature

MOTEUR Wattage.PNG

Moteur settings>>Additional infos

Ces infos complémentaires resteront dans le contrôleur

VESC Tool>Moteur settings>BLDC

Moteur settings>BLDC>General

MOTEUR BLDC General.PNG

Moteur settings>BLDC>Sensorless

MOTEUR BLDC Sensorless.PNG

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

Moteur settings>BLDC>Sensors

MOTEUR BLDC Sensors.PNG

Moteur settings>BLDC>Advanced

MOTEUR BLDC Advanced.PNG

Motor settings>FOC>General

Motor settings>FOC>General

MOTEUR FOC General.PNG


[A vérifier]

  • Appliquer les paramètres

Apply Param PID.PNG

[/A vérifier]

Motor settings>FOC>Sensorless

MOTEUR FOC Sensorless.PNG

Motor settings>FOC>Advanced

MOTEUR FOC Advanced.PNG

Laisser les autres onglets de FOC par défaut


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) [/A vérifier]


  • Puis sauver motor settings (icone colorée en jaune sur la photo ci-après)

Write Motor Config.PNG

Motor settings>PID controllers

Motor settings>PID Controllers

MOTEUR FOC PID.PNG

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.

APP General.PNG

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 PPM General.PNG

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 ADC General.PNG

App settings>ADC>Mapping

APP ADC Mapping.PNG

  • On alimente en 3.3v le potentiomètre.

Potentiometre sur vesc h.jpg


  • ADC Voltage mapping selection menu:Duty cycle
  • Cliquer sur *apply*

message please activate ... (photo mapping ADC)

ADC Mapping.PNG


  • cliquer à droite dans menu stream real time data (photo)
Procédure pour mapper les valeurs du potentiomètre (qui sera remplacé par un accélérateur)
  • 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


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 pour le démarrage!!


  • sauvegarder la config sur la carte en cliquant sur write app configuration (menu droite)

Write App Config.PNG

App settings>ADC>Throttle

APP ADC Throttle.PNG

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

  • débrancher la carte de son alimentation
  • Remplacer le potentiomètre par l'accélérateur en suivant la même logique pour les connexions
    • +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

Mapping Adc.PNG

Measure ADC voltage
  • Clic sur reset (fleche qui tourne) face au duty cycle
  • config min et max (voir chapitre potentiomètre)
  • clic sur apply
Activate RT

Cliquer sur RT dans le menu de droite