Projets:Vesc
Contents
- 1 Description du projet
- 2 Liens utiles
- 3 Cahier des charges
- 4 Analyse de l'existant
- 5 Equipe (Porteur de projet et contributeurs)
- 6 Matériel nécessaire
- 7 Outils nécessaires
- 8 Coût
- 9 Délai estimé
- 10 Fichiers source
- 11 Étapes de fabrication pas à pas
- 12 Durée de fabrication du prototype final
- 13 Electronique
- 14 Nouvel essai du 28/05/2019 : Paramétrage du moteur dans VESC Tools
- 15 PARTIE SOFT DEBUT
- 15.1 VESC Tool>Onglet Connection
- 15.2 VESC Tool>Onglet Connection
- 15.3 VESC Tool>Onglet Firmware
- 15.4 VESC Tool>Motor settings
- 15.4.1 Motor setup wizard
- 15.4.1.1 Clic sur motor setup wizard puis next après la page d'accueil
- 15.4.1.2 Load defaut configuration: Cliquer sur Yes si c'est la première configuration de la carte sinon si vous souhaitez conserver une configuration existante cliquer sur Non
- 15.4.1.3 Choisir BLDC
- 15.4.1.4 set currents limit
- 15.4.1.5 set voltage limits
- 15.4.1.6 choose sensor mode : sensorless
- 15.4.1.7 BLDC settings
- 15.4.2 VESC Tool>Moteur settings>General
- 15.4.3 VESC Tool>Moteur settings>BLDC
- 15.4.4 Motor settings>FOC>General
- 15.4.5 Motor settings>PID controllers
- 15.4.1 Motor setup wizard
- 15.5 VESC Tool> App settings
- 16 VERSION FINALE
- 16.1 VESC Tool>Motor settings>General
- 16.2 VESC Tool>Motor settings>Current
- 16.3 VESC Tool>Motor settings>Voltage
- 16.4 VESC Tool>Motor settings>RPM
- 16.5 VESC Tool>Motor settings>Wattage
- 16.6 VESC Tool>Motor settings>Temperature & Advanced
- 16.7 VESC Tool>Motor settings>BLDC>General
- 16.8 VESC Tool>Motor settings>BLDC>sensorless
- 16.9 VESC Tool>Motor settings>BLDC>Sensors
- 16.10 Sauver la config moteur
- 16.11 VESC Tool>App settings>General
- 16.12 VESC Tool>App settings>ADC>General
- 16.13 VESC Tool>App settings>ADC>Mapping
- 16.14 FINALISATION Motor Settings>Additional infos
- 17 Fichiers de config du moteur et de l'application créé par Christian
Description du projet
Ce projet récapitule tous les éléments nécessaires pour faire fonctionner un moteur électrique de vélo avec une carte de contrôle désigné par Benjamin Vedder.
Liens utiles
Cahier des charges
Analyse de l'existant
Equipe (Porteur de projet et contributeurs)
- Porteur de projet
- Contributeurs
- Animateur (coordinateur du projet)
- Fabmanager référent
- Yohann Véron
- Responsable de documentation
Matériel nécessaire
- carte VESC 4.12 préparée: https://diyelectricskateboard.com/collections/featured-items/products/torque-esc-bldc-electronic-speed-controller
- Programme VESC Tool Free (nous utilisons ici la v 0.95): https://www.vesc-project.com/vesc_tool
- 1 x condensateur électrolytique 2000uF 63 V s'il n'est pas intégré à la carte achetée (si intégré à la carte (nous avons une version clonée il y a 3 x 680uF en 63 V, 105 degrés : )
- 1 potentiomètre B10K
- 1 moteur de vélo électrique 250 WATTS
- 1 batterie de vélo
- Option: 1 alimentation stabilisée pour tester si pas de batterie
- câble silicone grosse section (10AWG, 5mm2)
- Câble multibrin diamètre 1mm2
- cosses à sertir adapté au JST
- Câble DATA mini USB
- JST femelle P:2mm Pas:2mm, de 3 points
- JST femelle P:2mm Pas:2mm, de 6 points
Outils nécessaires
- Multimètre
- Station de soudage 50 Watts min (si carte nue)
- pince à sertir
Coût
Délai estimé
Fichiers source
Étapes de fabrication pas à pas
Durée de fabrication du prototype final
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
Nouvel essai du 28/05/2019 : Paramétrage du moteur dans VESC Tools
Ref carte VESC
Regarder la version de la carte (écrit sur la carte :v 4.12)
Ajout photo
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 : DONE * retrouver (cf John) le dispositif de mesure de batterie ou contrôleur moteur avec potentiomètre que Christian avait fait : DONE
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).
PARTIE SOFT DEBUT
Brancher la carte en USB sur l'ordinateur et l'alimenter sur la batterie comme indiqué sur le schéma.
VESC Tool>Onglet Connection
Dans l'onglet Connections>USB Serial, cliquer sur Refresh serial port list (Option Baud sur 115200)
Si aucun port n'est détecté, laisser le câble USB branché, et redémarrer le logiciel.
Cliquer ensuite sur l'icône Connection.
Si vous avez le message d'erreur suivant, il faut mettre à jour le firmware (voir l'étape suivante)
//A corriger
VESC Tool>Onglet Connection
Onglet USB serial
- Rafraichir encliquant sur refresh
- Reconnecter sur le bon port .
//Fin à corriger
VESC Tool>Onglet Firmware
https://vesc-project.com/node/179
Onglet included file
ATTENTION: un mauvais firmware peut endommager définitivement la carte si ce n'est pas le bon !! Sélectionner la version de la carte dans la fenêtre de gauche (V 4.12) et VESC_defaut.bin dans la fenêtre de droite. Cliquer sur le bouton upload (flèche vers le bas)
- Uploader le firmware VESC_default.bin correspondant au hardware v4.12 et attendre au moins 10 secondes avant de le débrancher comme indiqué dans le message au cours de la procédure
PHOTO 5 & 6 & 7 & 8 & 9 & 10
- Une fois téléversé le nouveau firmware on attends bien les 10 secondes puis on débranche l'alimentation de la carte. Vérifier ensuite que le firmware est le bon en cliquant sur la flèche qui va vers le bas (upload)
VESC Tool>Motor settings
Motor setup wizard
Avec Motor Settings sélectionné dans le menu à gauche, cliquer tout en bas de la page sur Motor setup wizard
Clic sur motor setup wizard puis next après la page d'accueil
Load defaut configuration: Cliquer sur Yes si c'est la première configuration de la carte sinon si vous souhaitez conserver une configuration existante cliquer sur Non
Choisir BLDC
set currents limit
Configure Battery Cutoff message
Message important : si vous utilisez une batterie,il faut fixer les limites min et max d'utilisation de la batterie pour éviter de la détruire.
Si on utilise une batterie ou une alim :dire Yes si on utilise une batterie, et No si alimentation, voir ci-dessous
set voltage limits
Si utilisation d'une batterie de vélo 42V
Entrer les valeurs suivantes dans la fenêtre Battery Cutoff calculator (partie inférieur de la fenêtre) puis cliquer sur Apply pour que les limites de tensions s'actualisent dans la fenêtre supérieure
- Type: Lithium Ion (full at 4.2V/cell)
- Cells : 12
Si utilisation d'une alimentation stabilisée
Notre batterie contient 5 éléments (cells)
- Cells: nb d'éléments = 5 cad entre 17 et 15.5V
[/A verifier]
choose sensor mode : sensorless
BLDC settings
Dans l'onglet BLDC Parameters, indiquer les valeurs comme ci-dessous et cliquer sur l'icone triangle :start detection. Puis cliquer sur OK après avoir vérifier que rien n'encombre la rotation du moteur. Cliquer ensuite sur Apply, puis Finish.
VESC Tool>Moteur settings>General
Moteur settings>General>General
Moteur settings>General>Voltage
Moteur settings>General>RPM
Moteur settings>General>Wattage
Moteur settings>General>Temperature
Moteur settings>>Additional infos
Ces infos complémentaires resteront dans le contrôleur
VESC Tool>Moteur settings>BLDC
Moteur settings>BLDC>General
Moteur settings>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]
Moteur settings>BLDC>Sensors
Moteur settings>BLDC>Advanced
Motor settings>FOC>General
Entrer les valeurs de I, D et W comme sur l'image ci-dessous dans la fenêtre du bas.
Puis, activer dans le menu de droit RT et RT APP puis :
- Cliquer sur RL
- Attendre la détection
- Cliquer sur Lambda (y à l'envers)
- Attendre la détection mais le moteur n'est pas censé tourner
[A vérifier]
- Appliquer les paramètres
[/A vérifier]
Motor settings>FOC>Sensorless
Motor settings>FOC>Advanced
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)
Motor settings>PID controllers
Motor settings>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 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)
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
- 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
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
VERSION FINALE
VESC Tool>Motor settings>General
Photo 11
VESC Tool>Motor settings>Current
Photo 12
VESC Tool>Motor settings>Voltage
Photo 13
dans la fenetre du milieu en bas, indiquer 12 cells si vous utilisez les batterie de vélo Arcade. (Sinon référez-vous à la doc des batteries que vous utilisez)
Cliquez sur Apply
Photo 14
VESC Tool>Motor settings>RPM
Photo 15
indiquer la valeur maximum de rotation du moteur dans le paramètre MAx ERPM (ici 12000RPM) (révolutaion par minute)
- (M.Ar) - Si vous voulez faciliter les marches arrières il faut indiquer dans la case max ERPM reverse : -0,10
VESC Tool>Motor settings>Wattage
Photo 16
Onglet Wattage : mettez la puissance de votre moteur dans la case Maximum Wattage : ici 250W
- (M.Ar) : Si vous voulez faciliter les marches arrières il faut indiquer dans la case Maximum Breaking Wattage : -0,1W
VESC Tool>Motor settings>Temperature & Advanced
Photo 17 & 18
- Onglets température et advanced il n'y a rien à modifier
VESC Tool>Motor settings>BLDC>General
Dans la colonne de gauche allez dans : Motor settings / BLDC
- dans la fenetre du milieu,
- Onglets general : recopier les parametres de l'images suivante : Photo 19. Dans le parmètre Se,sormode choisir Sensored
- dans la fenetre en bas dans l'onglet "detect BLDC parameters" : Photo 20
- Cliquer sur l'icone du triangle dans un rond (icone play) (Attention cela va mettre en route le moteur) : photo 21 - Veiller à ce que le moteur ne soit pas en charge (que rien ne le freine ou ne l'empêche de tourner, attention si vous utilisez le banc de moteur la courroie ne doit pas être tendue du tout), il doit être libre. - Vous obtenez la table des capteurs de hall de votre moteur (vous pouvez noter et archiver ces paramètres) :photo 22 et 23
VESC Tool>Motor settings>BLDC>sensorless
- Onglet sensorless : il n'est pas utile dans le cas ou nous utilisons les capteurs de hall du moteur
VESC Tool>Motor settings>BLDC>Sensors
- Onglet Sensors : Cliquez sur apply, et la table se rempli automatiquement avec les bonnes valeurs
photo 25 & 27
Sauver la config moteur
Dans la colonne de droite, cliquez sur le bouton : Write motor configuration
photo 28
VESC Tool>App settings>General
photo 29
Paramètre App to use : Choisir ADC photo 30
VESC Tool>App settings>ADC>General
- Onglet general : Choississez Duty Cycle
OU
- (M.Ar) - Choississez Duty Cycle Reverse Center (ce qui permet de reculer sans que la roue bloque, deja dit en intro)
photo 31
VESC Tool>App settings>ADC>Mapping
Onglet Mapping : Il va falloir paramétrer votre poignée de gaz (accélérateur) photo 32
- Dans la colonne de droite active les icone RT et RT APP (vous verrez ainsi les valeurs en temps réelles)
photo 33 & 34 & 35
- dans la fenetre du bas : ADC Voltage Mapping : choississez Duty Cycle ou Choississez Duty Cycle Reverse Center ( (M.Ar) si vous avez choisi d'avoir cette possibilité en implémentant l'interrupteur qui permet de passer d'un mode à l'autre (mode normal et mode roue libre)
Si vous avez choisi Duty Cycle Reverse Center : photo 36 - appuyer sur le bouton reset min et max : Photo 39 - 40 - Mettez le bouton de selection (interrupteur) en M Ar pour atteindre le minimum (cad 0V) : Photo 41 - Puis mettre le bouton en mode normal et tourner l'accélérateur au min et max pour atteindre les valeurs seuil : Photo 42 - Apply Photo 43 & 44
- Sauvegarder avec le bouton Write App Configuration
Photo 45
FINALISATION Motor Settings>Additional infos
- Dans la colonne de gauche allez dans : Motor settings / Additionnal infos : photo 46 - Compléter les champs avec vos renseignements : changer le nb de cells, le poids, la marque du moteur, qui correspond à votre config : photo 50 - Ajouter une description pour vous rappeler de votre config :photo 51 - Write motor config