Projets:Vesc

From wikilab
Jump to: navigation, search

Contents

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


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

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)

Connection-Serial-refresh.png

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.

Connection-connection.png

Si vous avez le message d'erreur suivant, il faut mettre à jour le firmware (voir l'étape suivante)

Connectionmessage-erreur.png

//A corriger

VESC Tool>Onglet Connection

Onglet USB serial

  • Rafraichir encliquant sur refresh

Rafraichir Ports.PNG

  • Reconnecter sur le bon port .

Reconnect.PNG

//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

Firmaware-upload.png

Firmware-upload2.png

Firmware-warning.png


Controle Hard et Firmware.PNG

  • 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

Moteur setup wizard.png

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

Wizard Moteur-01.PNG

set currents limit
Configure Battery Cutoff message

Wizard Moteur-02.PNG

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

Motor-setup-wizard-configure-battery-cutoff.png

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

Wizard Moteur-03.PNG

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

Param Battery.PNG

[/A verifier]

choose sensor mode : sensorless

Senssorless.PNG

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.

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

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

MOTEUR FOC General.PNG


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

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

Fichiers de config du moteur et de l'application créé par Christian

Télécharger fichiers de config