ED BMSdiag
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Applications et services en ligne
|
À propos de ce projet
Intention
Je conduis une voiture électrique - une smart for two electric drive. La santé de la batterie de traction est essentielle et est maintenue par un système de gestion de batterie (BMS). Il surveillera les 93 cellules pendant la charge / décharge et se souciera d'un équilibre de niveau de tension égal. Normalement, seuls les outils de service peuvent lire les informations de cet ECU.
La voiture est équipée d'un modem GSM pour accéder aux données d'état telles que l'état de charge (SOC), l'autonomie disponible et d'autres informations simples. Pendant un certain temps, le modem était en mode étendu recueillant des informations de diagnostic sur la voiture. Curieux du contenu, j'ai essayé de renifler dans le bus CAN pour savoir ce qui était transmis.
Inspiré par des projets similaires pour d'autres voitures électriques - comme la Nissan Leaf - j'ai enregistré le trafic complet du bus CAN en conduisant ou en chargeant la voiture. Les premiers flux reniflés incluaient vraiment ces données de diagnostic - mais comment les décoder ?
Vous trouverez des détails sur le reniflage du bus CAN et l'ingénierie inverse dans un article séparé ici.
Ce qui est nécessaire
Obtenez le matériel requis. Sur les voitures modernes, la couche physique se fait via le bus CAN. Au moins deux blindages de bus CAN sont disponibles - voir la liste des composants. Vous devez vous connecter au port de diagnostic de la voiture - le connecteur OBD, alors achetez un câble ou créez le vôtre. REMARQUE :il existe deux normes pour les câbles OBD vers DSUB-9 - choisissez la bonne ! Voir les images ci-dessous :
Lorsque vous fabriquez votre propre câble, il est conseillé d'utiliser un ancien câble réseau à paires torsadées. Utilisez l'un de ces fils appariés pour CAN-H et CAN-L. Cela améliorera l'intégrité du signal. Ne dépassez PAS non plus 1 m de longueur, afin de minimiser les réflexions du signal.
Commencer
Étape 1
Préparez le matériel et trouvez un joli boîtier pour les cartes.
Étape 2
Téléchargez le projet depuis mon dépôt github. Voir les détails là-bas pour l'installation. Compilez le code et flashez-le sur l'Arduino.
Étape 3
Connectez-vous à la voiture et allumez-la. Démarrez la session de diagnostic et obtenez des informations utiles sur votre batterie...
Étape 4
Utilisez un tableur et découvrez les données corrélées. Par exemple, comparez le SOC (State of Charge, du tableau de bord) avec le SOC réel du BMS. Ou tracez les tensions des cellules et voyez que certaines cellules limitent le pack pendant la charge, car elles atteignent d'abord la limite de coupure...
Étape 5
Améliorez le code si vous le souhaitez - faites votre propre piratage. Le bouclier Spakfun a un lecteur de carte SD, vous pouvez donc créer votre propre enregistreur de bus CAN.
Ou vous construisez une belle interface / application affichant les données...
J'espère que cet outil vous sera utile - Amusez-vous bien !
Code
Logiciel ED_BMSdiag Arduino
https://github.com/MyLab-odyssey/ED_BMSdiag.gitSchémas
pour Sparkfun CAN-Bus shield pour CANdiy-shieldProcessus de fabrication