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 – Arduino CAN‑BUS & OBD‑II Diagnostische Kit

Onderdelen en benodigdheden

OnderdeelAantalOpmerking
Arduino UNO1Hoofdcontroller
SparkFun CAN‑BUS Shield1Voor CAN‑bus communicatie
Male‑Header 36‑polig 1‑rij (0.1″)1Voor SparkFun CAN‑Bus shield
SparkFun OBD‑II naar DSUB‑9 kabel1Voor internationale makers
OBD‑II naar DSUB‑9 kabel1Voor Duitse/Europese makers
CANdiy‑Shield v2 CAN‑Bus Shield1IO‑spanning selecteerbaar 3.3V/5V
Arduino Box1Behuizing voor de printplaten

Apps en online diensten

  • Arduino IDE – Voor het programmeren van de Arduino

Over dit project

Doelstelling

Ik rij in een elektrische auto – een smart for two electric drive. De gezondheid van de tractiebatterij is cruciaal en wordt beheerd door een Battery Management System (BMS). Dit systeem monitort alle 93 cellen tijdens laden/ontladen en zorgt voor spanningsbalans. Normaal kunnen alleen servicetools informatie uitlezen van deze ECU.

De auto is uitgerust met een GSM‑modem voor statusdata zoals staat van lading (SOC), bereik en eenvoudige info. Een tijdlang stond de modem in uitgebreide modus voor diagnostische gegevens. Uit nieuwsgierigheid probeerde ik de CAN‑bus te 'sniffen' om te zien wat er werd verzonden.

Geïnspireerd door vergelijkbare projecten (zoals voor de Nissan Leaf) heb ik de complete CAN‑bus verkeersstroom opgenomen tijdens rijden en laden. De eerste opnames bevatten inderdaad diagnostische data – maar hoe decodeer je dit?

Details over CAN‑bus sniffing en reverse engineering vind je in een apart artikel.

Wat heb je nodig?

Moderne auto's gebruiken CAN‑bus als fysieke laag. Er zijn minstens twee CAN‑bus shields beschikbaar (zie componentenlijst). Je moet verbinden met de diagnostische poort van de auto – de OBD‑connector – dus koop een kabel of maak er zelf een.

Let op: Er zijn twee standaarden voor OBD‑naar‑DSUB‑9 kabels – kies de juiste! Zie de afbeeldingen hieronder voor de pin‑uitgang.

Bij zelf maken van de kabel: gebruik een oude twisted‑pair netwerkkabel. Gebruik één van de gedraaide paren voor CAN‑H en CAN‑L. Dit verbetert de signaalintegriteit. Ook: overschrijd niet 1 meter lengte om signaalreflecties te minimaliseren.

Aan de slag

Stap 1 – Hardware voorbereiden

Zet de hardware klaar en zoek een geschikte behuizing voor de printplaten.

Stap 2 – Software installeren

Download het project van mijn GitHub‑repository. Zie daar voor installatie‑instructies. Compileer de code en flash deze naar de Arduino.

Stap 3 – Verbinden met de auto

Sluit de kit aan op de auto en zet de contact aan. Start de diagnostische sessie en ontvang nuttige informatie over je batterijpakket.

Stap 4 – Data analyseren

Gebruik een spreadsheet‑programma om correlerende data te vinden. Vergelijk bijvoorbeeld de SOC van het dashboard met de echte SOC uit de BMS. Of plot de celspanningen en zie welke cellen het pakket beperken tijdens laden omdat ze de afsnijgrens als eerste bereiken.

Stap 5 – Uitbreiden en verbeteren

De SparkFun shield heeft een SD‑kaartlezer, zodat je een eigen CAN‑bus logger kunt bouwen. Of bouw een mooie frontend/app om de data te visualiseren. Ik hoop dat dit tooltje nuttig is – veel plezier!

Code

ED_BMSdiag Arduino Software
https://github.com/MyLab-odyssey/ED_BMSdiag.git

Schema's

  • Voor SparkFun CAN‑Bus shield
  • Voor CANdiy‑shield

(Schema‑afbeeldingen zijn beschikbaar in de originele projectpagina.)

Productieproces

  1. Professionele gids voor bitmap-animatie op de ILI9341 2,4″ TFT Touchscreen Shield
  2. Web-gestuurd DMX-verlichtingssysteem – Arduino Master Controller
  3. Bluetooth-gecontroleerde Arduino Spybot bouwen
  4. FlickMote: Gebarengecontroleerde IR-afstandsbediening voor Slimme Huizen
  5. DIY Arduino TV-B-Gone: Universele TV-uit-schakelaar
  6. Bouw een Aangepaste LED Hoofdklok met Alarm – Zichtbaar vanaf 12 Meter
  7. HSV-klok: Levendige, aanpasbare klok voor Arduino-liefhebbers
  8. Bouw een Android-bestuurd extern voertuig met Raspberry Pi Motor Shield
  9. Find Me: Slimme Item Locator met Arduino en Bluetooth
  10. Geoptimaliseerde Voedingsoplossingen voor Arduino Projecten
  11. Arduino Boter-Kaas-Eieren met MAX7219 LED Matrix en Kartonnen Behuizing