Afficheur trottinettes électriques
Analyse des afficheurs utilisés sur les trottinettes Okai E400, utilisées par Dott, et mise au point de méthodes de réutilisation à base de reprogrammation.
Organisations utilisatrices ou intéressées pour utiliser la ressource :
Tags : afficheur, trottinette
Catégories : Connaissance, Matériel
Thème : Vélo et Mobilités Actives, Open HardWare
Référent : Zed
Défi auquel répond la ressource : Challenge sur la 2nde vie des électrottinettes
Personnes clés à solliciter :
Autre commun proche :
Richesse recherchée :
Compétences recherchées :
Communauté d'intérêt : Communauté du challenge de seconde vie des trottinettes électriques
Type de licence :
Conditions Générales d’Utilisation (CGU) :
Niveau de développement :
Lien vers l’outil de gestion des actions :
Lien vers l’outil de partage de fichiers :
Besoins :
Prochaines étapes :
Documentation des expérimentations :
Autres informations
Liste des acteurs qui utilisent ou souhaitent utiliser ce commun : aucun pour le moment
Liste des CR d’atelier en lien avec ce commun :
Introduction[modifier | modifier le wikicode]
Les afficheurs de trottinettes électriques servent à informer de l’utilisateur de l’état du véhicule : sa vitesse, son état de charge, des codes d’erreurs etc. Nous allons explorer le contenu d’un afficheur Dott de troisième génération, fabriqué par Okai.
Connectivité[modifier | modifier le wikicode]
L’afficheur est relié directement au contrôleur moteur, aux )@gâchettes de frein et d’accélération, à la lampe avant, ainsi qu’à un ensemble de LED affichant les informations utiles à l’utilisateur.
Contenu[modifier | modifier le wikicode]
L’afficheur étant noyé dans du silicone à des fins d’étanchéité, toute investigation sur son contenu nécessite de retirer celle ci. Fort heureusement pour vous, l’opération a déjà été effectué par nos soins, et le schéma électronique résultant est directement disponible sous https://github.com/Zed314/ES400-Dashboard .
Composants principaux[modifier | modifier le wikicode]
- STM32F042K6T6 (Microcontrôleur)
- TM1620 (Driver de LED pour l’afficheur)
- VP230 (Contrôleur CAN)
- TX4139 (Convertisseur de tension)
- AMS11173.3 (Régulateur tension LDO)
Pinout des connecteurs externes[modifier | modifier le wikicode]
Connecteurs cablés[modifier | modifier le wikicode]
- Connecteur Julet 3 pin jaune (vers chargeur inductif): GND, Signal, Bat+
- Connecteurs Julet 5 pin (vers contrôleur moteur et boitier IOT ): Bat+, Enable, CANH, CANL, Bat-
- Connecteur 3 broches (rouge jaune vert, vers accélérateur): 5V, Input, GND
- Connecteurs 3 broches (rouge noir vert, vers freins): GND, Input, 5V
- Connecteur 2 broches (vers lampe): 6V?, GND
Connecteurs non utilisés[modifier | modifier le wikicode]
- Connecteur 4 broches : PB4, GND, GND, PA6
- Connecteur 2 broches : 5V, GND (piloté par PB3)
- Connecteur 2 broches : 5V, GND (piloté par PA15)
Contrôle bus CAN[modifier | modifier le wikicode]
Le contrôle du bus CAN se fait au moyen des pins 22 (PA12, envoi) et 21 (PA11, réception) du microcontrôleur de l’afficheur.
Lecture entrées accélérateur/freins[modifier | modifier le wikicode]
Les pins 10 et 11 (PA4 et PA5) permettent de lire les données en provenance des gâchettes de frein (entre 0V et 5V), et la pin 13 (PA7) est dédiée à l’accélérateur. Afin que les accélérateurs et freins soient alimentés, le pin PA8 doit être mis à l’état haut.
Activation lampe frontale[modifier | modifier le wikicode]
L’activation de la lampe frontale se fait via le pin 14 (PA8).
Reprogrammation[modifier | modifier le wikicode]
Le programme contenu à l’intérieur du microcontrôleur est verrouillé en lecture, mais pas en écriture, ce qui nous autorise à réécrire son contenu avec un programme développé par nos soins (https://github.com/Zed314/ES400-Dashboard-Code), qui permet à la fois d’utiliser un capteur de vitesse (capteur de tour de roue) et la gâchette de frein (pour le contrôle de la lampe arrière). Plus d’informations sur le câblage ici.
Matériel nécessaire[modifier | modifier le wikicode]
- ST-Link v2 (5 euros environ)
- 4 cables de prototypage (mâle-femelle)
- Un ordinateur équipé de STM32CubeIDE
- Un tournevis plat
Préparation[modifier | modifier le wikicode]
- Tenir l’afficheur côté siliconé sur le dessus, avec 4 câbles en bas et les connecteurs des freins/accélérateur en haut
- À gauche du condensateur jaune, au niveau de l’encoche gauche du plastique, creuser délicatement un sillon jusqu’au PCB, où 4 points métalliques percés devraient être visibles.
- Relier, de haut en bas, au ST-Link v2 :
- 3.3V
- SWIO
- SWCLOCK
- GND
- Le ST-Link peut désormais être relié à l’ordinateur en usb
Installer STM32CubeIDEː https://www.st.com/en/development-tools/stm32cubeide.html . Télécharger le projet depuis https://github.com/Zed314/ES400-Dashboard-Code .
Ouvrir STM32CubeIDE, puis ouvrir le projet précédemment téléchargé.
Programmation[modifier | modifier le wikicode]
Il est important de noter que si l’afficheur peut être reprogrammé via le 3.3V du port de programmation, ce n’est pas suffisant pour alimenter les composants annexes leds, contrôleurs CAN, etc. Pour tester le programme, il faut alors débrancher le 3.3v du STMLink, et alimenter l’afficheur en 15V via le connecteur approprié.
Ouvrir STM32CubeIDE, puis ouvrir le projet depuis https://github.com/Zed314/ES400-Dashboard-Code . L’essentiel du code est contenu dans le fichier main.cpp, vous pouvez le modifier à votre guise, en vous aidant du schéma disponible sous https://github.com/Zed314/ES400-Dashboard .
Une fois le projet ouvert dans STM32CubeIDE, charger via Run->Run ou via Run->Debug.
Pour le lancer en mode «debug», débrancher le 3.3v du STMLink, et connecter le 15V sur Bat+ et 0V sur GND via le connecteur Julet 5 pin.