ED BMSdiag
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Apps en online services
|
Over dit project
Intentie
Ik rijd in een elektrische auto - een smart for two electric drive. De gezondheid van de tractiebatterij is essentieel en wordt onderhouden door een batterijbeheersysteem (BMS). Het bewaakt alle 93 cellen tijdens het laden/ontladen en zorgt voor een gelijkmatige spanningsniveaubalans. Normaal gesproken kunnen alleen servicetools informatie van deze ECU lezen.
De auto is uitgerust met een GSM-modem voor toegang tot statusgegevens zoals laadstatus (SOC), het beschikbare bereik en andere eenvoudige informatie. Gedurende een bepaalde tijd stond het modem in de uitgebreide modus om diagnostische informatie over de auto te verzamelen. Nieuwsgierig naar de inhoud probeerde ik in de CAN-bus te snuffelen om te weten wat er werd uitgezonden.
Geïnspireerd door soortgelijke projecten voor andere elektrische auto's - zoals de Nissan Leaf - legde ik het volledige CAN-busverkeer vast tijdens het rijden of tijdens het opladen van de auto. De eerste gesnoven streams bevatten die diagnostische gegevens echt, maar hoe decodeer je ze?
Details over het snuffelen van de CAN-bus en reverse-engineering vindt u hier in een apart artikel.
Wat is nodig
Verkrijg de benodigde hardware. Op moderne auto's gebeurt de fysieke laag via CAN-bus. Er zijn minimaal twee CAN-bus-afschermingen beschikbaar - zie componentenlijst. Je moet verbinding maken met de diagnostische poort van de auto - de OBD-connector, dus koop een kabel of maak er zelf een. OPMERKING:er zijn twee normen voor OBD-naar-DSUB-9-kabels - kies de juiste! Zie onderstaande foto's:
Wanneer u uw eigen kabel maakt, is het een goed idee om een oude twisted pair netwerkkabel te gebruiken. Gebruik een van die gepaarde draden voor CAN-H en CAN-L. Dit zal de signaalintegriteit verbeteren. Overschrijd ook NIET langer dan 1 m om signaalreflecties te minimaliseren.
Aan de slag
Stap 1
Bereid de hardware voor en zoek een mooie hoes voor de boards.
Stap 2
Download het project van mijn github-repository. Zie details daar voor installatie. Compileer de code en flash deze naar de Arduino.
Stap 3
Maak verbinding met de auto en zet hem aan. Start de diagnostische sessie en ontvang nuttige informatie over uw batterijpakket...
Stap 4
Gebruik een spreadsheetprogramma en ontdek correlerende gegevens. Vergelijk bijvoorbeeld de SOC (State of Charge, uit het dashboard) met de echte SOC uit het BMS. Of plot de celspanningen en zie dat sommige cellen het pakket beperken tijdens het opladen, omdat ze eerst de grenswaarde bereiken...
Stap 5
Verbeter de code als je wilt - doe je eigen hacking. Het Spakfun-shield heeft een SD-kaartlezer, zodat u uw eigen CAN-buslogger kunt bouwen.
Of je bouwt een mooie frontend / app die de data weergeeft...
Ik hoop dat deze tool nuttig zal zijn - Veel plezier!
Code
ED_BMSdiag Arduino-software
https://github.com/MyLab-odyssey/ED_BMSdiag.gitSchema's
voor Sparkfun CAN-Bus schild voor CANdiy-shieldProductieproces