Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

ED BMSdiag

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
SparkFun CAN-BUS-Schild
× 1
Male-Header 36 Position 1 Row- Long (0,1")
für SparkFun CAN-Bus-Schild
× 1
SparkFun OBD-II auf DSUB-9 Kabel
für internationale "Macher"
× 1
OBD-II-zu-DSUB-9-Kabel
für deutsche (oder europäische) "Macher"
× 1
CANdiy-Shield v2 CAN-Bus-Shield
IO-Spannung wählbar zwischen 3,3V und 5V, damit Sie dieses Shield mit 3,3V-Platinen verwenden können!
× 1
Arduino-Box für Arduino
nicht vorrätig @Arduino Store, aber bei einigen Händlern noch zu finden;-)
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Absicht

Ich fahre ein Elektroauto – einen Smart für zwei Elektroantrieb. Der Zustand der Traktionsbatterie ist von wesentlicher Bedeutung und wird durch ein Batteriemanagementsystem (BMS) aufrechterhalten. Es überwacht alle 93 Zellen während des Ladens / Entladens und sorgt für eine gleichmäßige Spannungsbalance. Normalerweise können nur Servicetools Informationen von diesem Steuergerät lesen.

Das Auto ist mit einem GSM-Modem für den Zugriff auf Statusdaten wie Ladezustand (SOC), verfügbare Reichweite und andere einfache Informationen ausgestattet. Für eine gewisse Zeit war das Modem im erweiterten Modus und sammelte Diagnoseinformationen über das Auto. Neugierig auf den Inhalt habe ich versucht, in den CAN-Bus zu schnüffeln, um zu wissen, was übertragen wurde.

Inspiriert von ähnlichen Projekten für andere Elektroautos – wie dem Nissan Leaf – habe ich den kompletten CAN-Bus-Verkehr während der Fahrt oder beim Laden des Autos aufgezeichnet. Die ersten gesnifften Streams enthielten wirklich diese Diagnosedaten - aber wie kann man sie entschlüsseln?

Details zum CAN-Bus-Sniffing und Reverse Engineering finden Sie hier in einem separaten Artikel.

Was wird benötigt

Besorgen Sie sich die erforderliche Hardware. Bei modernen Autos erfolgt die physikalische Schicht über den CAN-Bus. Mindestens zwei CAN-Bus-Schirme sind vorhanden - siehe Komponentenliste. Sie müssen an den Diagnoseanschluss des Autos - den OBD-Anschluss - anschließen, also kaufen Sie ein Kabel oder stellen Sie Ihr eigenes her. HINWEIS:Es gibt zwei Standards für OBD-zu-DSUB-9-Kabel – wählen Sie den richtigen! Siehe Bilder unten:

Wenn Sie Ihr eigenes Kabel herstellen, empfiehlt es sich, ein altes Twisted-Pair-Netzwerkkabel zu verwenden. Verwenden Sie eines dieser gepaarten Kabel für CAN-H und CAN-L. Dadurch wird die Signalintegrität verbessert. Überschreiten Sie außerdem NICHT die Länge von 1 m, um Signalreflexionen zu minimieren.

Erste Schritte

Schritt 1

Bereiten Sie die Hardware vor und finden Sie ein schönes Gehäuse für die Boards.

Schritt 2

Laden Sie das Projekt aus meinem Github-Repository herunter. Siehe dort Details zur Installation. Kompilieren Sie den Code und flashen Sie ihn auf den Arduino.

Schritt 3

Verbinden Sie sich mit dem Auto und schalten Sie es ein. Starten Sie die Diagnosesitzung und erhalten Sie nützliche Informationen zu Ihrem Akku...

Schritt 4

Verwenden Sie ein Tabellenkalkulationsprogramm und finden Sie korrelierende Daten heraus. Vergleichen Sie beispielsweise den SOC (State of Charge, aus dem Dashboard) mit dem realen SOC aus dem BMS. Oder zeichnen Sie die Zellenspannungen auf und sehen Sie, dass einige Zellen den Akku beim Laden begrenzen, weil sie zuerst die Abschaltgrenze erreichen...

Schritt 5

Verbessern Sie den Code, wenn Sie möchten – hacken Sie selbst. Das Spakfun-Shield verfügt über einen SD-Kartenleser, sodass Sie Ihren eigenen CAN-Bus-Logger bauen können.

Oder Sie bauen ein schönes Frontend / eine App, die die Daten anzeigt...

Ich hoffe, dieses Tool wird hilfreich sein - Viel Spaß!

Code

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

Schaltpläne

für Sparkfun CAN-Bus Schirm für CANdiy-Shield

Herstellungsprozess

  1. Bitmap-Animation auf dem ILI9341 TFT-Touchscreen-Displayschild
  2. Webbetriebener DMX-Controller
  3. Arduino Spybot
  4. FlickMote
  5. Selbstgemachter Fernseher B-Gone
  6. Hauptuhr
  7. HSVClock
  8. Android-gesteuertes Spielzeug mit Raspberry Motor Shield
  9. Finde mich
  10. Arduino-Power