Différences entre versions de « Projets:Reprogrammation controleur E-Bike »

De wikilab
 
(9 versions intermédiaires par le même utilisateur non affichées)
Ligne 112 : Ligne 112 :
  
  
La programmation des contrôleurs se passe en deux étapes bien distinctes :
+
===La programmation des contrôleurs se passe en deux étapes bien distinctes :===
  
  
Ligne 129 : Ligne 129 :
  
  
Cette étape consiste à écrire le programme contenu dans le .hex précédemment créé dans le STM8, c'est à dire lui faire changer son mode de fonctionnement. Lorsque l'on a le fichier .hex préparé, il est alors "assez aisé" de le charger dans la puce STM8.
+
Cette étape consiste à écrire le programme contenu dans le .hex précédemment créé dans le STM8, c'est à dire lui faire changer son mode de fonctionnement. Lorsque l'on a le fichier .hex préparé, il est alors "assez aisé" de le charger dans la puce STM8. C'est cette étape que l'on détail ici.
 +
 
 +
 
 +
* Brancher le dongle ST Link V2 :
 +
Noir = 0V ; Rouge = 3.3V ; Bleu = reset ; Jaune = swim
 +
 
 +
 
 +
[[File:cablage ST Link V2.jpg|400px]]
 +
 
 +
 
 +
[[File:cablage ST Link V2 2.jpg|400px]]
 +
 
 +
 
 +
* Installer et ouvrir le logiciel ST Visual programmer téléchargeable ici : https://www.st.com/en/development-tools/stvp-stm8.html
 +
 
 +
 
 +
[[File:ST Visual programmer.jpg|400px]]
 +
 
 +
 
 +
* Choisir le bon modèle se STM8, il nous faut le '''STM8S105x6'''
 +
 
 +
 
 +
Il existe de nombreuses références, si vous regarder chez Mouser par exemple, il y a 259 référence différentes.... [https://www.mouser.fr/c/semiconductors/embedded-processors-controllers/microcontrollers-mcu/8-bit-microcontrollers-mcu/?core=STM8 mouser - STM8]
 +
 
 +
 
 +
[[File:Choix STM8.jpg|400px]]
 +
 
 +
 
 +
* Récupérer le code qui est présent dans la puce.
 +
 
 +
Il y a trois onglets en bas de la fenêtre du logiciel, il faut donc récupérer le contenu des trois.
 +
 
 +
 
 +
[[File:3 onglets.jpg|400px]]
 +
 
 +
 
 +
Pour réaliser cette opération il faut lire les trois onglets
 +
 
 +
 
 +
[[File:Read all tabs.jpg|400px]]
 +
 
 +
 
 +
Et ensuite il faut sauvegarder le code d'origine avec le contenu des trois onglets qu'il faut enregistrer avec des noms différents, et ensuite les sauvegarder précieusement.
 +
 
 +
Onglet programme = Le code a proprement parlé, comment cela fonctionne.
 +
 
 +
Onglet data memory = Non utilisé dans notre cas.
 +
 
 +
Onglet option byte = Quelles broches (PINS) sont utilisées, pour quelles fonction = Non utilisé dans notre cas.
 +
 
 +
 
 +
[[File:Save all tabs.jpg|400px]]
 +
 
 +
 
 +
* Maintenant que nous avons sauvegardé le contenu de la puce d'origine, nous allons pouvoir ouvrir le binaire .hex de '''l'onglet programme uniquement''' créé à l'étape 1 ou celui que vous avez créer vous même ;) (sinon vous pouvez aussi prendre celui que nous utilisons qui est trouvable ici : )
 +
 
 +
 
 +
[[File:Ouvrir hex.jpg|400px]]
 +
 
 +
 
 +
* Programmer la puce
 +
 
 +
 
 +
[[File:programme hex.jpg|400px]]
 +
 
 +
 
 +
* Programmation réalisée
 +
 
 +
 
 +
[[File:Programmation realisee.jpg|400px]]
  
 
==Retours utilisateurs==
 
==Retours utilisateurs==

Version actuelle datée du 26 juillet 2024 à 11:08

Reprogrammation controleur E-Bike

Vue globale redim.jpg

Informations
Description Ce projet a pour but de reprogrammer le STM8 du contrôleur E-Bike d’origine.
Catégorie Hors handicap
Etat d'avancement En cours
Techniques électronique
Durée de fabrication de 0 à 2 h
Coût matériel De 10 à 50 euros
Niveau Facile
Licence by-sa
Date de création 2024-07-19
Équipe
Porteur de projet Yo
Contributeurs Elektron
Fabmanager Yo
Référent documentation Yo
Partenaires: INSA
Nom humanlab Humanlab_MHK
Documentation
Statut de la documentation Partielle
Relecture de la documentation Non vérifiée

Description du projet

Ce projet va nous permettre d'utiliser les contrôleurs d'origine des vélo Star sur nos projets de mobilité, car nous ne pouvions pas les utiliser en l'état.

En effet, les contrôleurs d'origine attendent l'information du capteur de pédalage (PAS) pour pouvoir actionner le moteur, et lui faire atteindre la valeur correspondant à la vitesse choisie : Vitesse 1 = 15 Km/h ; vitesse 2 = 20 Km/h ; vitesse 3 = 25 Km/h.

Hors, dans le cas d'un trotti par exemple, la personne doit pouvoir faire fonctionner son dispositif sans pédaler.

Grâce à notre partenariat avec l'INSA nous avons pu réussir cet exercice compliqué.

Cahier des charges

Pouvoir piloter un contrôleur d'origine avec un potentiomètre ou une poignée d'accélérateur électrique.

Analyse de l'existant et liens utiles

Pour nos projets de mobilité nous utilisons des contrôleur e-bike comme la référence suivante : Contrôleur E-Bike

Ils font parfaitement l'affaire pour nos projets et ne coûte plus très cher. Cependant nous récupérons les contrôleurs d'origine des vélos star, mais nous ne pouvions pas les utiliser du fait de la nécessité d'utiliser un capteur de pédalage pour actionner le moteur.

Hors, grâce à François Pasteau (1000 merci !!!) de l'INSA, nous savons maintenant les reprogrammer afin de changer leur firmware (Le logiciel interne du contrôleur). Cela nous permet de leur ajouter/retirer des fonctions. Même si cela reste très complexe, nous avons pu réaliser un .hex générique que nous pouvons charger dans le contrôleur, et ainsi pouvoir les adapter à notre usage.

Si vous êtes en capacité d'agir sur des STM8 et que ce type de projet vous intéresse, contacter Yohann : yo[AT]myhumankit.org

Matériel

Vue d’ensemble du système

Reprogrammation controleur 1.jpg


Vue du moteur ouvert

Le moteur est ouvert surtout pour supprimé la roue libre et ainsi pouvoir piloter le moteur dans les 2 sens.

Vue moteur démonté.jpg


St Link V2, c'est un Programmateur / Débogueur compatible ST-Lik V2 pour puce STM32 / STM8 via interface SWD. St Link V2

St Link V2.jpg


Vue éclaté du faisceau des vélos

Eclaté du cable2.jpg


La photo des connecteurs du câble (Avant qu'on les coupent) sont dans le projet : Etude_d'un_systeme_electrique_de_velo

cable vélo

Outils

  • Le logiciel ST Visual Programmer STM :Téléchargeable ici : stvp-stm8

Coût

  • Le programmeur ST Link vaut environ 10€

Fichiers source

Etude sur le capteur de freinage

Vue globale :

Nous avons scié le capteur de freinage en 2 afin d'en connaître son fonctionnement

Vue Globale.jpg

Nous devons ajouter la détection du freinage a notre contrôleur avec le nouveau firmware.

Pour ce faire nous devons démonter un capteur de frein afin d'étudier son fonctionnement.

Le schéma :

Schéma Capteur de frein.jpg

La photo du pcb :

Pcb.jpg

Etapes de reprogrammation pas à pas

/!\ ATTENTION /!\ /!\ ATTENTION /!\ /!\ ATTENTION /!\


  • Il est impératif de débranché le moteur et de couper l'alimentation du contrôleur lorsque le ST Link est branché.
  • Il est impératif de débranché le ST Link lorsque l'on veut faire fonctionner le moteur.


La programmation des contrôleurs se passe en deux étapes bien distinctes :

1 - Créer le fichier binaire (.hex)


Cette étape consiste à choisir les fonctions que l'on veut activer, les bornes que l'on souhaite utiliser et choisir si ce sera des entrées ou des sorties, les fusibles interne et de nombreuses autres fonctionnalités.


Nous n'allons pas détailler cette étape car elle est très complexe, nous n'avons pas la connaissance, ni le matériel, ni les compétences pour la réaliser... pour l'instant ??? cette méthodologie s'acquiert en devant ingénieur en EII et avec des années d'expérience...

Le profil de personnes capable de réaliser ces opérations est par exemple des ingénieur EII (Électronique et Informatique Industrielle) : https://www.insa-rennes.fr/eii.html


2 - Compiler le .hex dans la puce STM8 du contrôleur


Cette étape consiste à écrire le programme contenu dans le .hex précédemment créé dans le STM8, c'est à dire lui faire changer son mode de fonctionnement. Lorsque l'on a le fichier .hex préparé, il est alors "assez aisé" de le charger dans la puce STM8. C'est cette étape que l'on détail ici.


  • Brancher le dongle ST Link V2 :

Noir = 0V ; Rouge = 3.3V ; Bleu = reset ; Jaune = swim


Cablage ST Link V2.jpg


Cablage ST Link V2 2.jpg



ST Visual programmer.jpg


  • Choisir le bon modèle se STM8, il nous faut le STM8S105x6


Il existe de nombreuses références, si vous regarder chez Mouser par exemple, il y a 259 référence différentes.... mouser - STM8


Choix STM8.jpg


  • Récupérer le code qui est présent dans la puce.

Il y a trois onglets en bas de la fenêtre du logiciel, il faut donc récupérer le contenu des trois.


3 onglets.jpg


Pour réaliser cette opération il faut lire les trois onglets


Read all tabs.jpg


Et ensuite il faut sauvegarder le code d'origine avec le contenu des trois onglets qu'il faut enregistrer avec des noms différents, et ensuite les sauvegarder précieusement.

Onglet programme = Le code a proprement parlé, comment cela fonctionne.

Onglet data memory = Non utilisé dans notre cas.

Onglet option byte = Quelles broches (PINS) sont utilisées, pour quelles fonction = Non utilisé dans notre cas.


Save all tabs.jpg


  • Maintenant que nous avons sauvegardé le contenu de la puce d'origine, nous allons pouvoir ouvrir le binaire .hex de l'onglet programme uniquement créé à l'étape 1 ou celui que vous avez créer vous même ;) (sinon vous pouvez aussi prendre celui que nous utilisons qui est trouvable ici : )


Ouvrir hex.jpg


  • Programmer la puce


Programme hex.jpg


  • Programmation réalisée


Programmation realisee.jpg

Retours utilisateurs