Open Source Firmware für Lishui Controller

Diskutiere Open Source Firmware für Lishui Controller im Controller/Regler, Fahrerinformation, Elektronik Forum im Bereich Diskussionen; Gibt es ganz konkrete Funktionen im Bereich Motorcontroller, die ein 64 Pin Layout erforderlich machen könnten? Was machen Kunden, wenn sie den...
Cäsar

Cäsar

Dabei seit
26.01.2020
Beiträge
286
Punkte Reaktionen
94
oder einen STM32F103RBT6 mit 64-pin layout, kommt drauf an was der Kunde möchte
Gibt es ganz konkrete Funktionen im Bereich Motorcontroller, die ein 64 Pin Layout erforderlich machen könnten? Was machen Kunden, wenn sie den ordern, mit diesem STM32, was sie mit den „billigen“ von uns nicht mehr machen können? Ich schätze, ein Dual ESC wäre mir dem STM32F103 nicht mehr möglich. Ich habe hier noch einen defekten E-Bike Controller für 2 Motoren, dort war dann auch der gleiche STM- chip wie bei den Vescs verbaut.
 
mechaniker

mechaniker

Dabei seit
04.10.2008
Beiträge
900
Punkte Reaktionen
1.388
Ort
Guangzhou + Nanjing in China und Bonn in DE
Gibt es ganz konkrete Funktionen im Bereich Motorcontroller, die ein 64 Pin Layout erforderlich machen könnten?
ja, 64-pin wurde anfangs entwickelt um das Tüv- Zertifikat für die EN15194 zu erhalten weil dort mehr safty-feature verlangt wurden die der Controller können musste. Ob das immer noch so ist kann ich nicht sagen aber es wäre ja blöd die fertige Entwicklung dann einfach in die Tonne zu treten zumal diese ja in manchen punkten wohl anspruchsvoller ist wenn diese den 64-pin chip voraussetzt. Da mein wissen zur Beurteilung der Umstände dazu nicht reicht kann ich leider nicht mehr dazu sagen
 
T

tomsen61

Dabei seit
18.09.2014
Beiträge
145
Punkte Reaktionen
117
Ort
Raum Würzburg
Die Übertragung wird durch einen PAS-Puls getriggert. Ist aber Glücksache, da einen Klick zu erwischen, die Übertragung der Daten ist ja massiv zeitversetzt...
Deshalb habe ich jetzt eine 19 min. lange Messung gemacht. Das gab dann Messdaten von 18sec. Darin sind 21 Fehlzündungen sichtbar.
Dem Gehör nach sind es auch ca. eine Fehlzündung/sec. Das würde passen.

Die 21 FZ traten ziemlich gleichmäßig verteilt nur an drei Stellen des Signalverlaufs u_alpa auf. Diese Bilder habe ich angehängt.
Oben ist i_d, da sieht man sehr schön die Störung. Das PAS-Signal habe ich reingelegt um eine Übertragunsstörung (Sprung) zu erkennen.
Unten dann u_alpha. Mit dem orangen Signal Ampl habe ich nur die Speicherabschnitte gekennzeichnet.
1641544098320.png
1641544220208.png
1641544255719.png

Gruß
tomsen61
 
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.020
Punkte Reaktionen
3.921
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Das ist echt komisch, bei meinem Hoverboard Motor gibt es keinerlei Klicks mehr.

Gruß
hochsitzcola
 
T

tomsen61

Dabei seit
18.09.2014
Beiträge
145
Punkte Reaktionen
117
Ort
Raum Würzburg
Habe beim schlechten Wetter noch weiter nach dem Fehler gesucht.
Vom Stromsignal i_q rückwärts über switchtime, u_alpha, bis zum ADC der den phasenstrom einliest.
Code:
main.c #1098: i16_ph1_current = HAL_ADCEx_InjectedGetValue(&hadc1, ADC_INJECTED_RANK_1);

Könnte es sein, dass der Einlesezeitpunkt das Problem verursacht?
Hier springt der adc_status von 3 noch mal kurz zurück auf 2, was dann vermutlich eine Fehlzündung verursacht hat.
oben: adc_status
mitte: phasenströme u. PAS
unten: hadc1 u. 2 mit Aussetzer (gelb)
1641742140539.png


Anders als im obigen Diagramm ist das obere Signal nun i_q statt adc_status.
Bei der Fehlzündung (81) geht hadc1 anscheinend etwas zu früh hoch u. liest deshalb phase_current zu früh ein.
Zwischen durch hat der hadc Aussetzer die aber keine großen Auswirkung auf i_q haben.

1641742339649.png


Falls das wirklich so sein sollte, was ich mir zusammengestrickt habe. :giggle:
An welchen Schrauben könnte man dann drehen, um das Messen und Einlesen der Phasenströme stabiler zu bekommen?

Gruß
tomsen61
 
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.020
Punkte Reaktionen
3.921
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
An welchen Schrauben könnte man dann drehen
Du kniest dich ja mal richtig tief rein!(y)
Wenn du dir sicher bist, daß die Auffälligkeiten keine Artefakte der Datenübertragung sind, könnte man eine Plausibilisierung von adc_state einbauen. Einen Rücksprung von 3 nach 2 darf es bei der Drehrichtung ja gar nicht geben. Das ist aber so lange her, daß ich den Code geschrieben habe, da müsste ich mich selber erst mal wieder reinfuchsen :)
Einen Unterschied gibt es noch zum M365 port: der schaltet die Interrupts während der Winkelberechnung ab:
SmartESC_STM32_v3/main.c at 86adec09035687b8b719368bb25059347de93d76 · Koxx3/SmartESC_STM32_v3

Gruß
hochsitzcola
 
T

tomsen61

Dabei seit
18.09.2014
Beiträge
145
Punkte Reaktionen
117
Ort
Raum Würzburg
Habe nun beides umgesetzt.
Disable irq() hat eher nichts geändert.
Aber durch eine Plausibilisierung von adc_state treten in der Messung nun keine Rücksprünge mehr auf.
Auf dem Rad waren die Fehlzündungen heute nur noch sehr leicht bemerkbar. Einem unvoreingenommenen Fahrer werden sie vermutlich nicht auffallen.

Durch die Abhängigkeiten der Strom-, Spannungs- und Winkelgrößen im FOC-Algorithmus weiß ich nicht was zuerst da war (Henne/Ei).
In der Messung einer vermeintlichen Fehlzündung fällt zuerst iq ab und erst ein Messpunkt später ist die Störung auf ph1_current.
D.h. iq reagiert schon, obwohl die Störung in ph1_current noch nicht aufgetreten ist. Vielleicht ist die Erklärung auch eine zeitliche Verschiebung durch Abläufe im Microcontroller.
Angehängt ist ein Zoom der FZ u. ein größerer Ausschnitt.

Gruß
tomsen61
 

Anhänge

  • 1642005218640.png
    1642005218640.png
    26,9 KB · Aufrufe: 7
  • 1642005273287.png
    1642005273287.png
    23,1 KB · Aufrufe: 7
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.020
Punkte Reaktionen
3.921
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Aber durch eine Plausibilisierung von adc_state treten in der Messung nun keine Rücksprünge mehr auf.
Das ist super! (y) Funktioniert deine Implementierung für beide Drehrichtungen? Wenn ja, stelle doch bitte einen Pull Request mit dieser Änderung!

Gruß
hochsitzcola
 
L

LED

Dabei seit
13.12.2020
Beiträge
18
Punkte Reaktionen
1
Guten Morgen,

ich möchte mein Lastenrad mit einem neuen Heck-Nabenmotor samt neuem Controller/Display ausrüsten. Es soll wahrscheinlich ein Shengyi DGW22 Heckmotor werden, da der aktuell aus DE zu einem Preis verfügbar ist der noch in mein Budget passt. 10S5P 36V Akku ist vorhanden.

Hat jemand eine Quelle für einen 22A Lishui Controller der mit dem Shengyi harmoniert UND auf dem die hier besprochene FW läuft?

12er PAS ist vorhanden, Akku mit XT60 Stecker ebenfalls. Der Rest soll neu gemacht werden. Am liebsten dazu ein kleines Display mit integrierten Tastern/Wippe für Plus Minus, Licht und Daumengas (ggf. mit Rückwärtsgang) stehen auch noch auf der Wunschliste.

Gruß
LED
 
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.020
Punkte Reaktionen
3.921
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
L

LED

Dabei seit
13.12.2020
Beiträge
18
Punkte Reaktionen
1
Eine Zusammenstellung von Quellen gibt es im Wiki
Das Wiki habe ich natürlich konsultiert. Die beiden Links zu Ali führen aber zu Varianten mit Drehmomentsensor. Oder kann ich da auch PAS und Daumengas anschließen?
Außerdem wird im Wiki auf das F in der Seriennummer hingewiesen, bei den Links kann ich aber dazu auch nichts finden.

Hat der Motor Hallsensoren?
Davon gehe ich aus: Shengyi DGWX2 Heckmotor, 249,99 €

Viele Grüße
LED
 
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.020
Punkte Reaktionen
3.921
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Oder kann ich da auch PAS und Daumengas anschließen
Ja natürlich, das PAS-Signal ist ja auch beim Drehmomentsensor vorhanden, den Anschluß für das Daumengas muss man allerdings selbst auf der Platine einlöten.
UND auf dem die hier besprochene FW läuft?
Hier frage ich mich, warum überhaupt die offene Firmware interessant ist, wenn sowieso nur PAS und Daumengas verwendet werden soll. Das kann doch auch die originale Firmware.
Außerdem wird im Wiki auf das F in der Seriennummer hingewiesen
Die Nomenklatur hat sich bei der neuen Generation der Controller geändert. Der 12FET incl. Display von AliExpress kommt deinen Wünschen schon sehr nahe.
(ggf. mit Rückwärtsgang)
Der Rückwärtsgang ist in der offenen Firmware schon vorbereitet, das funktioniert aber natürlich nur mit einem Motor ohne Freilauf. Der von dir ausgesuchte Shengyi ist dafür nicht geeignet:
Durch den Motorfreilauf lässt sich der DGW22 auch im ausgeschalteten Zustand ohne höhere Tretkraftaufwendung fahren.

Gruß
hochsitzcola
 
L

LED

Dabei seit
13.12.2020
Beiträge
18
Punkte Reaktionen
1
Vielen Dank für deine Ausführungen.

Hier frage ich mich, warum überhaupt die offene Firmware interessant ist, wenn sowieso nur PAS und Daumengas verwendet werden soll. Das kann doch auch die originale Firmware.

Mir ging es darum "schnell" ans Ziel zu kommen, sprich Motor und Controller austauschen und weiter fahren. Aber die Option zu haben, auch auf die Steuerung per Drehmomentsensor umzusteigen.
Der Rückwärtsgang ist in der offenen Firmware schon vorbereitet, das funktioniert aber natürlich nur mit einem Motor ohne Freilauf. Der von dir ausgesuchte Shengyi ist dafür nicht geeigne

Stimmt! Man kann leider nicht alles haben...


Ich habe jetzt noch weiter gelesen. Was mir so ein bisschen fehlt, ist eine Übersicht über die gängigen Controller und deren Vor- und Nachteile bzw. Features. Hab gesehen, dass Du ziemlich umtriebig bist und es auch für die Kunteng Controller eine offene Firmware gibt. Da werde ich versuchen noch etwas tiefer einzusteigen und dann muss ich mich so langsam entscheiden welche Controller / Display / Motor Kombi ich wähle, passende Kabel dazu und dann heißt es Daumen drücken das alles zusammen passt, sonst wäre eine Fertiglösung wohl günstiger. Wobei man falsch gekaufte Teile wohl auch wieder ganz gut los wird.

Gruß
LED
 
Cäsar

Cäsar

Dabei seit
26.01.2020
Beiträge
286
Punkte Reaktionen
94
Mir ging es darum "schnell" ans Ziel zu kommen, sprich Motor und Controller austauschen und weiter fahren.
Haha
Da bist du in diesem Projekt ganz falsch. Auf die Schnelle wird gar nix funktionieren, auf mittlere Sicht alles schlecht bis unakzeptabel und wenn du gaaanz viel Zeit und Nerven investierst, wirst du evtl. auf ähnliche Leistung /Funktionen eines entsprechender Original Controllers kommen. Ich würde dieses Projekt eher als Bastel-/Lernprojekt betrachten oder für Spezialfälle. Ein Produktivsystem damit zu flashen ist selbst bei viel Begeisterung und Optimismus meines Erachtens nicht empfehlenswert. Eher den Ersatz-Zweitcontroller, der ohnehin nicht gebraucht wird…
 
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.020
Punkte Reaktionen
3.921
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
oder für Spezialfälle
Ich glaube der Spezialfall bist du! ;)

Natürlich sollte man etwas Pioniergeist für so ein Projekt mitbringen. Allein die Kabel zum Programmieren auf der Platine anzulöten wird die allermeisten Leute abschrecken. Aber wenn man weiß, an welchem Ende man den Lötkolben anfassen muß und die hohe Kunst des mathematischen Dreisatzes beherrscht, sollte ein Samstag Nachmittag reichen, um so ein System aus Controller, Display und Drehmomentsensor ans Laufen zu bekommen.

Im M365 Projekt haben wir jetzt ein Action-Script bei Github hinterlegt, das das Compilieren online erledigt, so daß man keinerlei lokale Installation mehr braucht. Die hex bzw. bin-Datei wird automatisch erzeugt, man braucht sie nur noch herunterladen. Beim M365 kann diese Datei dann per Bluetooth geflasht werden.
Kleiner Wermutstropfen, man muß seine Einstellungen direkt in der config.h vornehmen und kann nicht die schöne graphische Benutzeroberfläche nutzen.

Ich habe schon zusammen mit @skwad überlegt, ob wir das für das für die Lishuis analog machen sollen: online ein individuelles LSH-file erzeugen, das dann über den Display-Anschluß mit dem original Lishui-Tool geflasht werden kann. Dann entfällt das Löten und die lokale Installataion der Toolchain. Statt des STLink benötigt man dann einen USB-UART Wandler, wie beim Bafang-Tool.

Bin noch hin- und hergerissen, ob sich der Aufwand lohnt...

Gruß
hochsitzcola
 
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.020
Punkte Reaktionen
3.921
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
online ein individuelles LSH-file erzeugen
Ich habe jetzt zumindest mal das Script für das automatische Compilieren angelegt und das Makefile vom M365 auf den EBiCS Code angepasst. So kann man im Moment den gesamten Inhalt des build-Ordners über das Würfel-Symbol unter "Artifacts" herunter laden, darin ist auch das hex file, das man mit dem STLink und STM32Utility flashen kann. Jetzt müssen wir noch die Erzeugung des .LSH files hinbekommen, um über den Display Anschluß flashen zu können :)

deleted space characters · EBiCS/[email protected]

Gruß
hochsitzcola
 
Zuletzt bearbeitet:
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
4.020
Punkte Reaktionen
3.921
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Jetzt müssen wir noch die Erzeugung des .LSH files hinbekommen
So, das funktioniert jetzt auch. Danke an @skwad für die Hilfe. Man kann jetzt das Repo bei github auf den eigenen Account forken und dort dann online die config.h editieren. Mit dem Commit der Änderungen wird automatisch das Compilieren auf einer virtuellen Linux-Maschine bei github gestartet und das lsh-File erzeugt. Dieses lsh-file kann dann als Artifact in ein zip-Archiv gepackt heruntergeladen werden. Dieses lsh-File kann dann mit dem original Lishui-Tool über den Display-Anschluß auf den Controller geflasht werden. Voraussetzung ist natürlich, daß ab Werk der Bootloader installiert ist. Bei einem alten Controller ging das problemlos. Bei dem neuen 12FET mit dem Fake-Prozessor bricht das Update immer irgendwo mittendrin ab, woran das liegt weiß ich nicht, wahrscheilich irgendwie eine instabile UART Verbindung.🤷‍♂️
Wie das bei github mit dem forken und actions geht, hatte ich als Tutorial für den M365 letzte Woche schon bei Youtube bereitgestellt. Natürlich nicht das M365 Repo forken, sondern die EBiCS Firmware. Bin mal gespannt, ob sich jemand ran traut :)

Gruß
hochsitzcola

1643127597739.png
 
Zuletzt bearbeitet:
Thema:

Open Source Firmware für Lishui Controller

Open Source Firmware für Lishui Controller - Ähnliche Themen

Lishui Sensorless Open Source Firmware: Ich mach hier mal einen neuen Thread auf, über die Sensorless Version der Lishui Open Source Firmware. Ich sehe in dieser im allgemeinen noch...
Offene Firmware für viele "Discounter-Räder" (Fischer, Prophete, NCM, ....) mit Lishui FOC Controller: Die Firmware hatte ich schon in verschiedenen Threads angesprochen. Ich habe ihr jetzt noch eine nutzerfreundliche grafische Benutzeroberfläche...
Oben