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
erich
 
Beiträge: 51
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:
Stolzer Fahrer seines Smart EDs, ohne 22kW-Lader. Warte zum neuem Smart guckend mit dem 3Phasigen-Ladekabel.
Mitglied bei Electrify-BW, ein gemeinnütziger Verein von eFahrer für eFahrer und Interessierte.


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

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
erich
 
Beiträge: 51
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
erich
 
Beiträge: 51
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 2 Gäste