Display für BMSdiag und Smart-Telemetrie Ersatz

Re: Display für BMSdiag und Smart-Telemetrie Ersatz

Beitragvon erich » Fr 14. Okt 2016, 20:53

Und wieder ein Stückchen weiter...

Bild
// Smart-ED mit Kaufakku aber ohne 22kW Lader. & Renault Zoe
** Ein PluginHybrid ist KEIN Elektroauto! **
** E-Kennzeichen nur für 100% Elektro! **
erich
 
Beiträge: 100
Registriert: Fr 20. Mai 2016, 13:37
Wohnort: Nürnberg, Franken

Anzeige

Re: Display für BMSdiag und Smart-Telemetrie Ersatz

Beitragvon MineCooky » Mi 10. Mai 2017, 06:58

Sehr cool :thumb:
smart fortwo 451er ED 3,7kW-Lader, EZ 05/2013; aktuell >199.999km
smart fortwo 453er EQ 22kW-Lader; EZ 05/2018; aktuell >25.000km
Electrify-BW e.V. Mitglied

"Aus Gaspedal wird Spaßpedal"
- Smart
Benutzeravatar
MineCooky
 
Beiträge: 4350
Registriert: Mo 23. Mai 2016, 13:11
Wohnort: Karlsruhe - Stuttgart

Re: Display für BMSdiag und Smart-Telemetrie Ersatz

Beitragvon erich » Di 30. Mai 2017, 13:19

So toll und extrem Umfangreich Odysseys BMSDiag ist, für meinen Telemetrie Ersatz ist es viel zu groß. Das muss auch schlanker gehen. Und deswegen habe ich mal am CAN-Bus geschnüffelt und habe folgendes gefunden:

ODO / Kilometerstand (der auch im Display steht)
Code: Alles auswählen
ID:412 Nibble 7,8,9,10
Beispiel:
ID: 412  Data: 3B FF 00 63 5D 80 00 10
= 635D (in HEX)
= 25437 (in base10) Kilometer


SOC / State of Charge (Drehspulanzeige)
Code: Alles auswählen
ID:518 Nibble 15,16 (Wert halbieren)
Beispiel:
ID: 518  Data: 01 24 00 00 F8 7F C8 A7
= A7 (in HEX)
= 167 (in base10) und das nun halbieren
= 83,5%


rSOC / real State of Charge (interner Wert)
Code: Alles auswählen
ID:2D5 Nibble 10,11,12 (Wert durch zehn)
Beispiel:
ID: 2D5  Data: 00 00 4F 14 03 40 00 00
= 340 (in HEX)
= 832 (in base10) und das nun durch zehn
= 83,2%


Restreichweite (die auch im Display steht)
Code: Alles auswählen
ID:318 Nibble 15,16 (Wert durch zehn)
Beispiel:
ID: 318  Data: 5C 00 00 07 FF 00 00 6C
=  6C (in HEX)
= 108 (in base10) Kilometer
// Smart-ED mit Kaufakku aber ohne 22kW Lader. & Renault Zoe
** Ein PluginHybrid ist KEIN Elektroauto! **
** E-Kennzeichen nur für 100% Elektro! **
erich
 
Beiträge: 100
Registriert: Fr 20. Mai 2016, 13:37
Wohnort: Nürnberg, Franken

Re: Display für BMSdiag und Smart-Telemetrie Ersatz

Beitragvon AlterAmi » Di 30. Mai 2017, 17:03

Super hilfreich, danke!
AlterAmi
 
Beiträge: 391
Registriert: Di 20. Aug 2013, 17:35
Wohnort: Cupertino

Re: Display für BMSdiag und Smart-Telemetrie Ersatz

Beitragvon erich » Mi 31. Mai 2017, 08:29

Hiermit kann man die Werte mit einem zweiten Arduino mit CAN-BUS-Karte simulieren.
Man spart sich das ewige hin und her gerenne zum ED ;) .

Code: Alles auswählen
//
// CAN Sender Beispiel zum simulieren einiger Werte eines SMART-ED
//
// Für eigene Werte bitte einen DEC/HEX Umrechner benutzen
// z.B. http://www.binaryhexconverter.com/decimal-to-hex-converter
//

#include <mcp_can.h>
#include <SPI.h>

MCP_CAN CAN0(10);

void setup()
{
  Serial.begin(115200);

  if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_16MHZ) == CAN_OK) Serial.println("MCP2515 Initialized Successfully!");
  else Serial.println("Error Initializing MCP2515...");

  CAN0.setMode(MCP_NORMAL);
}

//...................................................................HEX.........Wert....
byte ODO[8]  = {0x3B, 0xFF, 0x00, 0x63, 0x30, 0x39, 0x00, 0x10}; // 3039       = 12345 km
//                                        ^^    ^^

byte SOC[8]  = {0x01, 0x1B, 0x00, 0x80, 0x08, 0x0E, 0x00, 0x44}; //   44 =  68 =    34 %
//                                                          ^^

byte rSOC[8] = {0x00, 0x00, 0x4F, 0x14, 0x02, 0x37, 0x00, 0x00}; //  237 = 567 =  56,7 %
//                                         ^    ^^

byte RW[8]   = {0x5C, 0x00, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x36}; //   36       =    54 km
//                                                          ^^

void loop()
{
sendODO();
delay(10);
sendSOC();
delay(10);
sendrSOC();
delay(10);
sendRW();
delay(70);
}

void sendODO()
{
  byte sndStat = CAN0.sendMsgBuf(0x412, 0, 8, ODO);
  if(sndStat == CAN_OK){
    Serial.println("ODO - ok");
  } else {
    Serial.println("ODO - error");
  }
}

void sendSOC()
{
  byte sndStat = CAN0.sendMsgBuf(0x518, 0, 8, SOC);
  if(sndStat == CAN_OK){
    Serial.println("SOC - ok");
  } else {
    Serial.println("SOC - error");
  }
}

void sendrSOC()
{
  byte sndStat = CAN0.sendMsgBuf(0x2D5, 0, 8, rSOC);
  if(sndStat == CAN_OK){
    Serial.println("rSOC - ok");
  } else {
    Serial.println("rSOC - error");
  }
}

void sendRW()
{
  byte sndStat = CAN0.sendMsgBuf(0x318, 0, 8, RW);
  if(sndStat == CAN_OK){
    Serial.println("RW - ok");
  } else {
    Serial.println("RW - error");
  }
}
// Smart-ED mit Kaufakku aber ohne 22kW Lader. & Renault Zoe
** Ein PluginHybrid ist KEIN Elektroauto! **
** E-Kennzeichen nur für 100% Elektro! **
erich
 
Beiträge: 100
Registriert: Fr 20. Mai 2016, 13:37
Wohnort: Nürnberg, Franken

Re: Display für BMSdiag und Smart-Telemetrie Ersatz

Beitragvon erich » Mi 8. Aug 2018, 08:50

Update des Telemetrie-Ersatzes:

Das Prototype-Kästchen schaut nun so aus:
Bild

Features:
Touch-Screen-LCD
Loggen auf SD-Karte (frei definierbar) (lokal)
Loggen auf MQTT-Server (frei definierbar) (über WLAN - GSM Wlan-Hotspot-Router benötigt)
Frei definierbare Anzeigen auf den Bildschirmen
Softwareupdate entweder lokal über die SD-Karte oder Over-The-Air dierkt aus dem internet.
Eingenauter Webserver
Eingebauter GPS
Automatische Ladeerkennung und Lade-Graph Anzeige

Aktuell auswählbare Datenpunkte:
12V Batterie , 1=Pilot valide , Angezeigter SOC , Aussentemperatur , ECO Beschleunigen , ECO Bremsen , ECO Gleiten , ECO Total , Gangwahlhebel , Geschwindigkeit A , Geschwindigkeit B , Geschwindigkeit C , Gurt Beifahrer , Gurt Fahrer , Handbremse , HV-Ampere , HV-Status , HV-Volt , Kilometerstand , Klima , Ladedauer Minute , Ladedauer Stunde , Ladend , Licht , LichtHeck , Pilot max Ladestrom , Powerbar , Powerflow , Real SOC , Rekup Paddel , Restreichweite , StatusGangwahlhebel , Status HV-V , Strecke ab Reset , Strecke ab Start , TuerenWischer , Uhrzeit Minuten , Uhrzeit Stunden , Verbrauch ab Reset , Verbrauch ab Start , Zuendung, GPS-Position

Wenn noch jemand zusätzliche Can-Definitionen hat, dann bitte gerne an mich, damit sie in die Firmware eingepflegt werden können.

Interessant wären noch die Bedeutungen der Bit-Werte in der Klima-ID "0x443".
Also Lüftingsanforderung, Heizen, Kühlen, Temperaturen, etc.

Auch suche ich noch die Bits in denen steht ob jemand auf dem Fahrer/Beifahrersitz sitzt. Die Gurtschlösser habe ich, aber die Sitzsensoren verstecken sich noch.

Dann noch weitere Details zum Laden an sich.
Z.B. Temperatur Akku, jegliche Werte welche neben dem SOC die aktuelle "kwh" im Akku anzeigen.
Im Idealfall ohne aktive Abfragen. Wir wollen nur "schnüffeln", nicht schreiben.

Die gleiche Firmware läuft auch auf der ZOE.
Dort sieht es so aus:
Bild
Bild
Bild

Für zu Hause gibt es ein kleines E-Paper-Display was den Akkustand im 5min Rythmus anzeigt:
Bild
// Smart-ED mit Kaufakku aber ohne 22kW Lader. & Renault Zoe
** Ein PluginHybrid ist KEIN Elektroauto! **
** E-Kennzeichen nur für 100% Elektro! **
erich
 
Beiträge: 100
Registriert: Fr 20. Mai 2016, 13:37
Wohnort: Nürnberg, Franken

Vorherige

Zurück zu fortwo ed - Allgemeine Themen

 
  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
  • Ähnliche Artikel im Blog

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast