V
vspadrva
Themenstarter
- Dabei seit
- 04.07.2018
- Beiträge
- 24
- Reaktionspunkte
- 41
Moin,
ich habe bereits im dem 'anderen' pedelec und E bike Forum meine Untersuchung und Ergebnisse veröffentlicht, hoffe aber hier zusätzlich noch weitere interessierte Leute zu erreichen.
Zunächst einmal ein Dank an Arthus Dent der schon vor über einem Jahr damit angefangen hat und auf dessen Arbeit ich aufgebaut habe.
Mein E-Bike NCM Venice + 48V mit Das-Kit C7 Display und vermutlich Lishui Kontroller.
Auf der Rückseite des Displays steht
C600-1705-B640
V2.7-EN
Das Display lässt nach Codeeingabe (8018) nur ein Ändern von drei Unterstützungsstufen (Eco Normal Power) und die Auswahl der Spannung 36 oder 48V zu. Abriegelgeschwindigkeit und Raddurchmesser sind nicht zugänglich.
Es gibt sehr schlecht verfügbare 119€ teure 'Tuningdisplays bei denen die beiden letzten Dinge auch veränderbar sind.
Also habe ich das Kabel aufgeschnitten und per Oszilloskop und Logic Analyser die Funktion der Kabel und die Steckerbelegung herausgefunden
(gelb ist Daumengas mit den üblichen ungefähr 1 bis 4 Volt)
Auf den Datenleitungen werden Nachrichten mit
9600 baud bei 3,3Volt TTL Pegeln ausgetauscht so das ich per USB TTL Adapter das Protokoll untersuchen konnte.
Mit ca. 10Hz kommen 12 Byte vom Display zum Kontroller, der mit 10Byte antwortet
Ohne Nachricht vom Display wird vom Kontroller nichts gesendet. Wenn man das Einschaltsignal auf die Versorgungsspannung legt benutzt der Controller die letzte Einstellung und funktioniert auch ohne Display.
Zum besseren testen habe ich mit eine Pfostenleiste in das Kabel gelötet so das ich einzelne Signale einfach unterbrechen kann:
Nun aber die spannenden Ergebnisse:
Display --> Motorcontroller
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11
3A 2C 0A 46 1A 48 08 06 EC 00 0D 0A
Byte0: immer 3A
Byte1: immer 2C
Byte2: ändert sich je nach Unterstützungslevel
09 bei Eco
0A bei Normal
0B auf Power
Byte3: ändert sich mit der Fahrstufe
0x56 Schiebehilfe
0x40 Stufe 0
0x41 Stufe 1
... bis 0x46 Stufe 6
Byte4: Endgeschwindigkeit 0x1A=26km/h
Byte5: ?
Byte6: ?
Byte7: ?
Byte8: Prüfsumme (b1+b2+b3+b4+b5+b6+b7) mod 256
Byte9: ?
Byte10 und 11: 0D 0A (CR LF)
* Der Controller antwortet entsprechend:
Controller -> Display
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9
3A 2C 00 60 EA 00 76 01 0D 0A
b0: immer 3A
b1: immer 2C
b2: Motorstrom 0x00 bis 0x2A
noch nicht überprüft macht aber Sinn, im Stand Hinterrad hoch und pedelieren bringt nur kurz eine 01
b3: Radumlaufzeit v=1325/b3 (bei 27,5") im Stillstand immer 0x60
b4: b3 und b4 sind Lowbyte und Highbyte der Radumlaufzeit.
b5: Motor läuft: 0x00 im Stillstand, geht auf 0x16 sobald der Motor eingeschaltet wird
b6: Prüfsumme (b1+b2+b3+b4+b5) mod 256
b7: im Stand 0x00 wenn sich das Hinterrad 6km/h+-0,8km/h dreht geht es auf 0x01. Auch bei ca. 2km/h, in einem kleinerem Geschwindigkeitsfenster.
b8 und 9: 0D 0A (CR LF)
Als nächstes habe ich mir einen Microkontroller (Teensy) geschnappt und die Nachrichten die vom Display zum Kontroller kommen so verändert das er wenn ich Stufe zwei auswählte an den Kontroller Stufe 6 mit 36km/h Maximalgeschwindigkeit schicke.
Mit 3d gedruckem Gehäuse:
Je nach Akkuspannung regelt der Kontroller bei 29 bis 32km/h ab.
Da ja das Fahrad auch in den USA von Magnumbikes als Metro plus mit 500Watt und 45km/h verkauft wird hoffe ich das da noch mehr geht. Es kann aber sein das dort ein anderer Motor verbaut wird der schneller drehen kann.
Wenn Interesse besteht kann ich auch eine detailiertere Anleitung wie man einen 5 Euro Microkontroller dort anschließt und programiert schreiben. Falls es jemand einfach nachbauen möchte.
Man könnte auch einen einfachen Zwischenstecker bauen und hätte damit eine steckbare Lösung.
Sebastian
ich habe bereits im dem 'anderen' pedelec und E bike Forum meine Untersuchung und Ergebnisse veröffentlicht, hoffe aber hier zusätzlich noch weitere interessierte Leute zu erreichen.
Zunächst einmal ein Dank an Arthus Dent der schon vor über einem Jahr damit angefangen hat und auf dessen Arbeit ich aufgebaut habe.
Mein E-Bike NCM Venice + 48V mit Das-Kit C7 Display und vermutlich Lishui Kontroller.
Auf der Rückseite des Displays steht
C600-1705-B640
V2.7-EN
Das Display lässt nach Codeeingabe (8018) nur ein Ändern von drei Unterstützungsstufen (Eco Normal Power) und die Auswahl der Spannung 36 oder 48V zu. Abriegelgeschwindigkeit und Raddurchmesser sind nicht zugänglich.
Es gibt sehr schlecht verfügbare 119€ teure 'Tuningdisplays bei denen die beiden letzten Dinge auch veränderbar sind.
Also habe ich das Kabel aufgeschnitten und per Oszilloskop und Logic Analyser die Funktion der Kabel und die Steckerbelegung herausgefunden
(gelb ist Daumengas mit den üblichen ungefähr 1 bis 4 Volt)
Auf den Datenleitungen werden Nachrichten mit
9600 baud bei 3,3Volt TTL Pegeln ausgetauscht so das ich per USB TTL Adapter das Protokoll untersuchen konnte.
Mit ca. 10Hz kommen 12 Byte vom Display zum Kontroller, der mit 10Byte antwortet
Ohne Nachricht vom Display wird vom Kontroller nichts gesendet. Wenn man das Einschaltsignal auf die Versorgungsspannung legt benutzt der Controller die letzte Einstellung und funktioniert auch ohne Display.
Zum besseren testen habe ich mit eine Pfostenleiste in das Kabel gelötet so das ich einzelne Signale einfach unterbrechen kann:
Nun aber die spannenden Ergebnisse:
Display --> Motorcontroller
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11
3A 2C 0A 46 1A 48 08 06 EC 00 0D 0A
Byte0: immer 3A
Byte1: immer 2C
Byte2: ändert sich je nach Unterstützungslevel
09 bei Eco
0A bei Normal
0B auf Power
Byte3: ändert sich mit der Fahrstufe
0x56 Schiebehilfe
0x40 Stufe 0
0x41 Stufe 1
... bis 0x46 Stufe 6
Byte4: Endgeschwindigkeit 0x1A=26km/h
Byte5: ?
Byte6: ?
Byte7: ?
Byte8: Prüfsumme (b1+b2+b3+b4+b5+b6+b7) mod 256
Byte9: ?
Byte10 und 11: 0D 0A (CR LF)
* Der Controller antwortet entsprechend:
Controller -> Display
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9
3A 2C 00 60 EA 00 76 01 0D 0A
b0: immer 3A
b1: immer 2C
b2: Motorstrom 0x00 bis 0x2A
noch nicht überprüft macht aber Sinn, im Stand Hinterrad hoch und pedelieren bringt nur kurz eine 01
b3: Radumlaufzeit v=1325/b3 (bei 27,5") im Stillstand immer 0x60
b4: b3 und b4 sind Lowbyte und Highbyte der Radumlaufzeit.
b5: Motor läuft: 0x00 im Stillstand, geht auf 0x16 sobald der Motor eingeschaltet wird
b6: Prüfsumme (b1+b2+b3+b4+b5) mod 256
b7: im Stand 0x00 wenn sich das Hinterrad 6km/h+-0,8km/h dreht geht es auf 0x01. Auch bei ca. 2km/h, in einem kleinerem Geschwindigkeitsfenster.
b8 und 9: 0D 0A (CR LF)
Als nächstes habe ich mir einen Microkontroller (Teensy) geschnappt und die Nachrichten die vom Display zum Kontroller kommen so verändert das er wenn ich Stufe zwei auswählte an den Kontroller Stufe 6 mit 36km/h Maximalgeschwindigkeit schicke.
Mit 3d gedruckem Gehäuse:
Je nach Akkuspannung regelt der Kontroller bei 29 bis 32km/h ab.
Da ja das Fahrad auch in den USA von Magnumbikes als Metro plus mit 500Watt und 45km/h verkauft wird hoffe ich das da noch mehr geht. Es kann aber sein das dort ein anderer Motor verbaut wird der schneller drehen kann.
Wenn Interesse besteht kann ich auch eine detailiertere Anleitung wie man einen 5 Euro Microkontroller dort anschließt und programiert schreiben. Falls es jemand einfach nachbauen möchte.
Man könnte auch einen einfachen Zwischenstecker bauen und hätte damit eine steckbare Lösung.
Sebastian