Eggrider UART-Protokoll für RadRunner 2

Diskutiere Eggrider UART-Protokoll für RadRunner 2 im Controller/Regler, Fahrerinformation & Elektronik Forum im Bereich Diskussionen; Hi Leute Ich versuche momentan mein eigenes Display für mein RadRunner 2 zu bauen. Ich konnte bereits das UART-Protokoll des standard Display...
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #1
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
Hi Leute

Ich versuche momentan mein eigenes Display für mein RadRunner 2 zu bauen. Ich konnte bereits das UART-Protokoll des standard Display entschlüsseln. Es verwendet das Lishui 618U Protokoll wie es hier beschrieben ist EBiCS_Firmware/display_kingmeter.c at Sensorless_VESC · EBiCS/EBiCS_Firmware. Ich habe da aber keine Möglichkeit gefunden die 6km/h Geschwindigkeitsbegrenzung des Gasgriffs auszuschalten. Diese ist in der Schweiz nicht vorgeschrieben. Mit dem Eggrider soll das aber möglich sein. Weis jemand ob der Eggrider ein anderes Protokoll verwendet was auch vom RadRunner-Controller unterstützt wird oder ob ich etwas nicht sehe? Ich habe schon versucht das 901U Protokoll zu implementieren aber ohne Erfolg. Vielleicht weil ich nicht genau weis wie der Handshake funktioniert.
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #2
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Es verwendet das Lishui 618U Protokoll
Das ist ein sehr altes Protokoll, das kaum noch verwendet wird. Es besteht eine geringe Chance, daß sich dein Controller mit dem "Lishui Controller (FOC) Parameters Adjustor" per Laptop parametrieren lässt. Das Tool bietet Lishui inzwischen nicht mehr zum Download an, aber eine alte Version findest du hier:
Bagier Sinus Controller Programmierung

Da gibt es eine Checkbox "Start by pedal sensor", die müsstest du deaktivieren....

Was da beim Parametrieren gesendet wird, hatte ich hier mal genauer untersucht...

Viel Spaß beim Basteln :)

Gruß
hochsitzcola
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #3
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
Super danke schon mal!

Also das sollte mit einem normalen FTDI Adapter funktionieren? Bei mir zeigt das Program "Device Lost" an, wenn ich es mit eingestecktem FTDI Adapter starte. Ich sehe auch keine Bits auf der TX Leitung wenn ich z.B. "Test Controller Connection" klicke. Die ftd2xx.dll Datei in den Programmordner zu packen hat auch nicht geholfen. Oder brauche ich für dieses Programm einen Prolific Adapter?
 

Anhänge

  • Lishui Controller Parameter Adjustor Screenshot.PNG
    Lishui Controller Parameter Adjustor Screenshot.PNG
    275,1 KB · Aufrufe: 19
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #4
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Bei mir zeigt das Program "Device Lost" an, wenn ich es mit eingestecktem FTDI Adapter starte
Ich habe es grad selbst noch mal ausprobiert, mit einem FTDI funktioniert die alte Version bei mir auch nicht. Mit der Neuen geht es. Dennoch ist die Wahrscheinlichkeit recht gering, daß deine Firmware sich so parametrieren lässt. Ich kenne bisher nur Groetech, die Controller mit dieser Firmwarevariante verkaufen...

Gruß
hochsitzcola

1675625107272.png
 

Anhänge

  • LishuiParameterTool1.35.zip
    1,6 MB · Aufrufe: 19
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #5
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
Jup damit kann ich mit dem FTDI verbinden aber der Controller antwortet nicht. Es besteht aber immer noch die Möglichkeit, dass es mit der älterne Version und einem PL2303 Adapter funktioniert oder? Einen solchen habe ich aber leider noch nicht. Sonst kaufe ich mir dann halt einen Eggrider wenn die Rad-Power Version wieder verfügbar ist. Irgendwie muss es möglich sein haha
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #6
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Es besteht aber immer noch die Möglichkeit, dass es mit der älterne Version und einem PL2303 Adapter funktioniert oder?
Nein, das wird genauso wenig funktionieren. Wenn du den Eggrider belauschen würdest, was der so sendet, wäre auf jeden Fall interessant! Hast du mal ein Foto von dem Rad-Power Controller? Ist das der gleiche wie im Himiway? Rad-Power und Himiway kommen ja ggf. aus der gleichen Fabrik und sind nur unterschiedlich gelabelt?!

Gruß
hochsitzcola
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #7
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
Ah schade. Wenn ich mit dem Eggrider mal was rausfinde werde ich mich wieder hier melden aber das könnte noch etwas dauern. Das ist der Controller:
IMG_20230206_222228~2.jpg
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #8
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Das ist der Controller
OK, also ein original Lishui FOC-Controller, im Gegensatz zum Himiway, mit seinem Plagiat...

Ich denke nicht, daß sich dieser Controller per UART-Befehl irgendwie zu einem in der EU nicht legalen Verhalten überreden lässt. Da wird nur eine andere Firmware helfen.

Gruß
hochsitzcola
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #9
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
Ich frage mich aber trotzdem wies der Eggrider dann macht. Kann bei diesem Controller überhaupt die Firmware aktualisiert werden? Ich habe bis jetzt keinen Programmierstecker gefunden.
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #10
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Kann bei diesem Controller überhaupt die Firmware aktualisiert werden? Ich habe bis jetzt keinen Programmierstecker gefunden
Du kannst entweder über den STLink-V2 flashen, dann muß du an den Anschluß direkt auf der Platine, oder du flashst mit einem einfachen USB-UART-Wandler über den Display-Anschluß via Bootloader. Es sind aber keine originalen Lishui Firmwarefiles im Umlauf, da müsstest du die Open Source Firmware verwenden. Dafür hättest du dann sämtliche Freiheiten....

Gruß
hochsitzcola
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #11
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
Das ist auch interessant. Ist das Projekt von dir?

Mein Controller ist eingegossen daher habe ich keinen Zugang auf die Platine und kann auch nicht kontrollieren, ob die richtigen Bauteile für die Open Source Frimware verbaut sind. Aber der Controller schickt beim Aufstarten eine UART Nachricht, die beim Lishui Controller Programmer den Download auslöst. Dafür wird nicht der default ST-Bootloader verwendet sondern ein proprietäres Protokoll, wo zu Beginn 20 mal 0x44 geschickt wird, danach alle Bytes vom .lsh File und zum Schluss 20 mal 0x55. Darum kann ich die Artikelnummer des Mikrokontrollers auch nicht über den STM32CubeProgrammer kontrollieren.

Wie gross denkst du ist die Wahrscheinlichkeit, dass die Open Source Firmware mit meinem Controller funktioniert?😅
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #12
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Wie gross denkst du ist die Wahrscheinlichkeit, dass die Open Source Firmware mit meinem Controller funktioniert?
99,99% :cool:
Nur beim J-LCD Protokoll müsste man vielleicht noch nachschärfen, das hab ich schon ewig nicht mehr verwendet....
Hat dein Rad denn einen Drehmomentsensor? Oder ist es nur PAS gesteuert?

Hat dein Motor Hallsensoren (9-Poliger Motorstecker)? Die offene Firmware kann zwar auch sensorloses FOC, das ist aber nur was für Fortgeschrittene....

Gruß
hochsitzcola
 
Zuletzt bearbeitet:
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #13
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
Nice
An der Kurbel hat es nur ein Kadenzsensor (das bedeutet PAS oder?) und der Motorstecker ist 9-Polig. Aber ist es mit der Open Source Firmware noch möglich, ein Update über UART zu machen? Ich sehe im Code keinen Mechanismus dafür.
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #14
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Entweder du nutzt die GitHub Actions Funktion da wird mit jeden Commit automatisch das lsh File erzeugt, das man sich als Artifact herunterladen kann:
improvement for backwards start under load · EBiCS/[email protected]

Oder du machst es "zu Fuss", in dem du das Lokal erzeugte hex file nachträglich in das lsh Format umwandelst. Dazu gibt's ein kleines Tool im make-Ordner.

Gruß
hochsitzcola
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #15
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
Das habe ich schon gesehen aber ich habe auf der Controller Firmware kein UART-Interface gefunden, dass mit dem Lishui Controller Programmer kommunizieren kann. Hab ich da was übersehen oder falsch verstanden? Ich will nur sicherstellen, dass ich nach dem ersten Update noch Zugriff auf den Controller habe.
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #16
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Das habe ich schon gesehen aber ich habe auf der Controller Firmware kein UART-Interface gefunden, dass mit dem Lishui Controller Programmer kommunizieren kann
Ah, gut daß du das sagst. Am sichersten ist es, die Github Action Funktion zu nutzen, oder das makefile aus dem Rootverzeichnis. Der Lishui-eigene Bootloader liegt in den untersten 4kB des Flash-Speichers. Das hexfile muß so erzeugt werden, daß der Code und die Interrupt-Tabelle erst danach geschrieben werden. So bleibt der Bootloader im Flash erhalten und wird nicht überschrieben.
Dafür gibt es im Repo zwei extra-Dateien mit der Ergänzung "bootloader" bei denen die Startadressen angepasst sind.
Linkerfile:
EBiCS_Firmware/STM32F103C6Tx_FLASH_Bootloader.ld at 5d966a7c5cbcaa75523dd18c5b78b939246bd507 · EBiCS/EBiCS_Firmware

system_stm32f1xx:
EBiCS_Firmware/system_stm32f1xx_Bootloader.c at 5d966a7c5cbcaa75523dd18c5b78b939246bd507 · EBiCS/EBiCS_Firmware

Daher findest du den Bootloader nicht im Code selbst.

Gruß
hochsitzcola
 
Zuletzt bearbeitet:
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #17
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
So ich habs jetzt mal versucht und das Update funktioniert einwandfrei. (y)

Der Motor dreht auch jedoch ist das Verhalten noch etwas merkwürdig. Wenn z.B das Rad beschleunigt wird und danach die Bremse gezogen wird, klingt der Motor als würde er angetrieben (vielleicht rückwärts?) ohne dass das Rad beschleunigt wird. Darum habe ich REGEN_CURRENT und REGEN_CURRENT_MAX mal auf 0 gesetzt. Damit geschieht das nicht mehr.

Sonst habe ich bereits THROTTLE_OFFSET, THROTTLE_MAX, WHEEL_CIRCUMFERENCE und GEAR_RATIO eingestellt. GEAR_RATIO ist (Zahnkrakz_Kurbel / Zahnkranz_Rad) * PAS_Pulse oder?

Gibt es noch andere Einstellungen die sicher gemacht werden müssen?
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #18
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
GEAR_RATIO ist (Zahnkrakz_Kurbel / Zahnkranz_Rad) * PAS_Pulse oder?
Nein, siehe Wiki:
Das ist die mechanische Untersetzung des motorinternen Getriebes * Anzahl Polpaare. Die Info findet man normalerweise auf der Homepage des Motorenherstellers. Man kann den Wert aber auch einfach durch ausprobieren herausfinden. Wenn der Speedsensor auf intern gestellt ist und der Radumfang stimmt, so lange anpassen, bis das Display die richtige Geschwindigkeit anzeigt.

Gibt es noch andere Einstellungen die sicher gemacht werden müssen?
Nein, prinzipiell funktionieren natürlich die Standardeinstellungen. Aber es ist ja grad das Spannende, daß man alles an seine persönlichen Vorlieben anpassen kann :cool:.

Schön, daß du sagst, es hat problemlos funktioniert, ich denke viele trauen sich nicht ans Flashen, weil sie Angst haben, daß es zu kompliziert ist ;)

Hast du den Weg über das Artifact-File bei github genommen, oder hast du lokal compiliert?

Gruß
hochsitzcola
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #19
R

Randy2

Themenstarter
Dabei seit
04.02.2023
Beiträge
12
Reaktionspunkte
9
Mit der Einstellung SPEEDSENSOR INTERNAL hat es schon viel besser funktioniert.

Ich verwende direkt das makefile im Root-Ordner. Es haben aber noch ein paar "external" Deklarationen gefehlt bevor es kompilierte. hexToLsh.java musste ich auch noch neu kompilieren.

Ich habe noch verschiedene Werte für GEAR_RATIO ausprobiert und jetzt rührt sich der Motor plötzlich gar nicht mehr auch nicht mit den originalen Einstellungen. Die UART Schnittstelle funktioniert aber noch. Ich weis jetzt nicht ob im Controller etwas kaputt ist oder ob der Motor ein Problem hat. Der Motor war ziemlich laut als er noch funktionierte auch mit der originalen Lishui Firmware😬
 
  • Eggrider UART-Protokoll für RadRunner 2 Beitrag #20
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.854
Reaktionspunkte
4.892
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Thema:

Eggrider UART-Protokoll für RadRunner 2

Eggrider UART-Protokoll für RadRunner 2 - Ähnliche Themen

12Fet lishui controller für Tretsensor: Wie es schon Einige gemerkt haben, bietet phoebe liu auf aliexpress neu einen 12 FET lishui controller für Erider T9/T13 Tretsensor. Mit ein paar...
Oben