Bafang C965 Display Kommunikationsprotokoll

Diskutiere Bafang C965 Display Kommunikationsprotokoll im ForumsController Forum im Bereich Controller/Regler, Fahrerinformation & Elektronik; Ich versuche gerade das Kommunikationsprotokoll der Displays für die BBS01/02-Motoren zu verstehen (für die Anbindung an den FC) und habe gerade...
J

jenkie

Themenstarter
Dabei seit
28.06.2011
Beiträge
1.774
Punkte Reaktionen
430
Details E-Antrieb
elfkw HR + Forumscontroller
Ich versuche gerade das Kommunikationsprotokoll der Displays für die BBS01/02-Motoren zu verstehen (für die Anbindung an den FC) und habe gerade ein C965 hier. Das Display sendet Nachrichten, die 2, 3, 4 oder 5 Bytes lang sind mit einer Baudrate von 1200.

Die 4-Byte Nachrichten sind die einzigen, die sich beim Verstellen der Unterstützungsstufe ändern. Im Detail lauten die Nachrichten (alles in Dezimaldarstellung):
Nachricht -> Stufe
22 11 3 36 -> 5
22 11 23 56 -> 4
22 11 21 54 -> 3
22 11 13 46 -> 2
22 11 11 44 -> 1
22 11 0 33 -> 0
22 11 6 39 -> Schiebehilfe

Ich erkenne hier kein Muster. Bei allen anderen Displays die ich kenne ändert sich ein Byte jeweils um ein Bit, wenn sich die Unterstützungsstufe ändert. Kennt jemand das Protokoll und kann hier weiterhelfen?
 
S

steinbock

Dabei seit
06.04.2012
Beiträge
358
Punkte Reaktionen
88
Ort
Tübingen
Details E-Antrieb
elfkw HR mit CST + Forumscontroller + VESC 6.41
Die Zahl hinten ist die Quersumme der vorherigen Zahlen ;)

Die "22 11" am Anfang sind fest für diesen Befehl, also bleibt nur noch die Zahl "in der Mitte" für die Unterstützungsstufe.
 
J

jenkie

Themenstarter
Dabei seit
28.06.2011
Beiträge
1.774
Punkte Reaktionen
430
Details E-Antrieb
elfkw HR + Forumscontroller
Das mit der Summe ist mir noch garnicht aufgefallen - schöne Erkenntnis, vermutlich eine Checksumme.

Ein Muster bei den Stufen erkenne ich allerdings nicht. Vor allem die 3 bei der höchsten Stufe macht überhaupt keinen Sinn. Man könnte natürlich jetzt einfach die Zahl einer Stufe zuordnen, aber ob das dann bei jedem Display die gleiche Zahl ist?...
 
Stuggi Buggi

Stuggi Buggi

Dabei seit
16.07.2012
Beiträge
3.397
Punkte Reaktionen
1.485
Ort
Stuggi Buggi Town
Details E-Antrieb
Xofo CST 250W, KT36ZWS, Samsung 25R
Man kann dieses Display wohl auf 3 oder 5 oder 9 feste Stufen voreinstellen. Eventuell ist bei einer Voreinstellung auf 9 Stufen die Logik dahinter leichter erkennbar.
 
J

jenkie

Themenstarter
Dabei seit
28.06.2011
Beiträge
1.774
Punkte Reaktionen
430
Details E-Antrieb
elfkw HR + Forumscontroller
Gute Idee, probiere ich am langen Wochenende
 
J

jenkie

Themenstarter
Dabei seit
28.06.2011
Beiträge
1.774
Punkte Reaktionen
430
Details E-Antrieb
elfkw HR + Forumscontroller
Ich habe jetzt mal auf 9 Stufen umgeschaltet.
Man erkennt ein Muster, aber mir erschließt sich noch nicht wieso man das so programmieren sollte.

Stufe->gesendetes Byte
0->0
1->1
2->11
3->12
4->13
5->2
6->21
7->22
8->23
9->3
P->6
 
Stuggi Buggi

Stuggi Buggi

Dabei seit
16.07.2012
Beiträge
3.397
Punkte Reaktionen
1.485
Ort
Stuggi Buggi Town
Details E-Antrieb
Xofo CST 250W, KT36ZWS, Samsung 25R
Ich habe da kein Problem damit. Die 9 Stufen sind im Controller vorgegeben. Wenn ich eine andere Stufenanzahl im Display einstelle, dann ändern sich damit halt auch teilweise die Adressen dazu. Es ging ja nur darum das Muster zu erkennen. Anhand deiner Auswertung ist ja die neue Zuordnung erkennbar. Im Code alle 9 Stufen berücksichtigen, dann lässt sich das Display in allen Einstellungsvarianten nutzen.

9-Stufen / 5-Stufen

1->1
2->11 --------- 1
3->12
4->13 --------- 2
5->2
6->21 --------- 3
7->22
8->23 -------- 4
9->3 ---------- 5
 
Zuletzt bearbeitet:
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.367
Punkte Reaktionen
4.254
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Man erkennt ein Muster, aber mir erschließt sich noch nicht wieso man das so programmieren sollte.
Das sieht mir nach Faulheit des Programmierers aus :)
Ursprünglich gab es nur drei Stufen, die weiteren Stufen wurden dann nachträglich "dazwischengefummelt"

Gruß
hochsitzcola
 
J

jenkie

Themenstarter
Dabei seit
28.06.2011
Beiträge
1.774
Punkte Reaktionen
430
Details E-Antrieb
elfkw HR + Forumscontroller
Dann ist jetzt ein großer Teil des Protokolls bekannt. Kommunikation erfolgt Klartext mit 1200 Baud.
Das Display sendet permanent, der Controller antwortet anf Anfragen vom Display, die mit dem Byte 17 anfangen. Nachrichten, die keine Antwort benötigen, fangen mit 22 an.

Folgende Nachrichten sendet das Display:

Stufe und Schiebehilfe, 4 Bytes:
22 11 n ERC
Hierbei ist n die Stufe, siehe oben und ERC die Summe der vorherigen 3 Bytes.

Licht, 3 Bytes:
22 26 240 (Licht aus)
22 26 241 (Licht an)

Sonstige Einstellungen, 5 Bytes:
22 26 240 17 32
(noch nicht entschlüsselt, denke mal Radumfang etc.)

Anfrage Geschwindigkeit, 2 Bytes:
17 32
Antwort Controller, 3 Bytes:
0 spd ERC
Hierbei ist spd die Geschwindigkeit, Auflösung etwa 0,13 km/h. ERC ist Geschwindigkeitsbyte + 32

Anfrage Errorcode, 2 Bytes:
17 8
Antwort Controller, 1 Byte:
ERR
Hierbei ist ERR der Fehlercode, 1 heißt kein Fehler.

Anfragen Unbekannt, 2 Bytes

17 17
Antwort Controller: 100 100
17 10
Antwort Controller: 0 0
17 49
Antwort Controller: 48 48

Das Ende einer Nachricht muss man wohl am Timing erkennen. Dazu noch ein Bild, unten (TX) ist vom Display, oben (RX) kommt vom Controller

RIGOL Print Screen08.05.2016 15_49_49,163.png
 
J

jenkie

Themenstarter
Dabei seit
28.06.2011
Beiträge
1.774
Punkte Reaktionen
430
Details E-Antrieb
elfkw HR + Forumscontroller
Bis auf die 17 49-Anfrage ist jetzt alles klar:

Info Radumfang, 5 Bytes
22 31 HB LB ERC
Hierbei ist HB*256+LB invers proportional zum Radumfang (700c entspricht 201), ERC ist wieder die Summe der vorherigen Bytes

Anfrage Akku, 2 Bytes
17 17
Antwort Controller (2 Bytes): n ERC
Hierbei ist n der Akkustand in % und ERC nochmal das gleiche

Anfrage Leistung, 2 Bytes
17 10
Antwort Controller (2 Bytes): n ERC
Hierbei ist n die Leistung in Watt/10 und ERC nochmal das gleiche

Das Protokoll ist auch im FC implementiert, sodass die Bafang Displays eingesetzt werden können.
 
P

pzotteld

Dabei seit
26.10.2018
Beiträge
3
Punkte Reaktionen
1
Danke für die ausführliche Beschreibung.
Mein Bafang Display ist abgesoffen und ich Spiel mit dem Gedanken was eigenes zu bauen...
 
T

temp

Dabei seit
31.05.2018
Beiträge
470
Punkte Reaktionen
580
Info Radumfang, 5 Bytes
22 31 HB LB ERC
Hierbei ist HB*256+LB invers proportional zum Radumfang (700c entspricht 201), ERC ist wieder die Summe der vorherigen Bytes
Anfrage Geschwindigkeit, 2 Bytes:
17 32
Antwort Controller, 3 Bytes:
0 spd ERC
Hierbei ist spd die Geschwindigkeit, Auflösung etwa 0,13 km/h. ERC ist Geschwindigkeitsbyte + 32
Ich hole diesen alten Thread mal wieder hoch. Ich glaube die Beschreibung der o.g. Parameter ist fehlerhaft.
Vor mir liegt ein C850 Display, das folgende Werte für den Parameter 22 31 abhängig vom eingestellten Radumfang liefert:

28" 186
27.5" 192
27 " 192
26" 200
24" 217
22" 236
20" 260
18" 289
16" 325

Interessant ist die Tatsache, dass exemplarisch der Wert für 26" von 200 auf 400 wechselt wenn ich in den Einstellungen für die max. Geschwindigkeit am Display 50kmh anstelle von 25kmh eintrage. Interessant ist auch, dass die Werte für 27" und 27,5" identisch sind.
Lange Rede kurzer Sinn, beim Parameter 22 31 handelt es sich nicht! um den Radumfang sondern es ist die Vorgabe der max. Raddrehzahl pro Minute an den Motor. Der Parameter 17 32 ist nicht die Geschwindigkeit, sondern die aktuellen Radumdrehungen pro Minute. Das kann man kurz gegenrechnen:

Ein 26" Rad hat einen Umfang von 2075mm. Bei einer Raddrehzahl von 201U/min ergibt sich eine Geschwindigkeit von (2075*201*60)/1000000=25,0245kmh, die auf dem Display als exakt 25,0 angezeigt
werden.

Andere Baustelle, mein Display sendet auch immer folgendes:

17 34 51

hat diesen Parameter schon mal jemand verstanden? Ich habe leider nur das Display so dass ich das nicht analysieren kann.

welche Bedeutung hat der Akku-Parameter?
17 17
mein Display zeigt nur Spannung oder Prozentwerte an die es selbst aus der Betriebsspannung errechnet, demzufolge spielt es keine sichtbare Rolle was ich auf diese Anfrage zurück sende.
 
Thema:

Bafang C965 Display Kommunikationsprotokoll

Bafang C965 Display Kommunikationsprotokoll - Ähnliche Themen

KT-LCD3 als "universal Display" flashen ?: Ich bin grade dabei, meinen eigenen Controller zu basteln. (Wird hier zeitnah vorgestellt). Da ich Hardware und Software alles selber mache, bin...
Bafang BBS01B mit Display DCP18 - Steuerung "lernfähig" ?!: Hallöchen ! Ich bin seit Anfang Juni neu mit einem Umbau eines Cube Touring EXC Bj 21 mit o.g. Elektro-Konfiguration unterwegs. Aus umständlichen...
Bafang G311 – Drehrichtung ändert sich bei Belastung: Hallo an alle Pedelec Selbstbastler. Um mein Problem zu schildern hole ich ein wenig aus. Im letzten Jahr habe ich mir ein Bullitt Rahmen gekauft...
Frenos Umbau - Cube Touring EXC Bj 21 mit Bafang Bafang BBS01B 36V 250W Mittelmotor und 36 V - 15 Ah Akku: Hallöchen ! 2020 war ich schon einmal kurz hier aktiv mit einem kleinen Klapp-ebike SW 200 von Swemo, das ein Geschenk war, aber nicht lange...
Bafang Akkustand-Anzeige Verständnisfrage: Hallo zusammen ! Habe gerade mein erstes E-Bike bekommen, das ist im Prinzip klasse, habe aber ein Problem, bei dem der Internet-Händler mir...
Oben