Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

ED BMSdiag

Componenten en benodigdheden

Arduino UNO
× 1
SparkFun CAN-BUS-schild
× 1
Mannelijke kop 36 Positie 1 rij - lang (0,1")
voor SparkFun CAN-Bus schild
× 1
SparkFun OBD-II naar DSUB-9 kabel
bedoeld voor internationale "makers"
× 1
OBD-II naar DSUB-9 kabel
bedoeld voor Duitse (of Europese) "makers"
× 1
CANdiy-Shield v2 CAN-Bus Shield
IO-spanning selecteerbaar tussen 3,3V en 5V, dus je kunt dit schild gebruiken met 3,3V-kaarten!
× 1
Arduino Box voor Arduino
niet op voorraad @Arduino-winkel, maar je vindt het nog steeds bij sommige distributeurs;-)
× 1

Apps en online services

Arduino IDE

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

Schema's

voor Sparkfun CAN-Bus schild voor CANdiy-shield

Productieproces

  1. Bitmap-animatie op ILI9341 TFT Touchscreen Display Shield
  2. Web-gestuurde DMX-controller
  3. Arduino Spybot
  4. FlickMote
  5. Zelfgemaakte tv B-Gone
  6. Hoofdklok
  7. HSVClock
  8. Android bestuurd speelgoed met Raspberry Motor Shield
  9. Vind mij
  10. Arduino Power
  11. Tech-TicTacToe