Open Source Firmware für Lishui Controller

Diskutiere Open Source Firmware für Lishui Controller im Controller/Regler, Fahrerinformation, Elektronik Forum im Bereich Diskussionen; Ok da geb ich dir recht. Ich hatte ein kleineres Display im Kopf
Millimeter94

Millimeter94

Dabei seit
13.07.2020
Beiträge
127
Punkte Reaktionen
65
Details E-Antrieb
Bafang Nabenmotor + Lishui mit Opensource Firmware
Ok da geb ich dir recht. Ich hatte ein kleineres Display im Kopf
 
E

Elias2000

Dabei seit
14.06.2019
Beiträge
475
Punkte Reaktionen
73
Hallo Leute,

Ich wollte mal kurz fragen, ob diese lebensgefährliche Blockieren beim einschalten des Motors wenn das Fahrzeug rollt das bei Directdrives auftrat schon behoben ist?

Will die Firmware in einem Fahrzeug einsetzen das 2 Motoren hat, (Mit 2 Controllern) wäre dann aber ein wenig ungut wenn die Motoren beim Bergabrollen mit 25kmh plötzlich beim Gasgeben beide blockieren...

Wollte eigentlich schon länger die Lishuis in besagtes Fahrzeug einbauen, da die originalen Controller uralte Blockkommutierer sind, aber das Problem mit dem Blockieren hat mich bislang immer davon abgehalten...

Gruß Elias
 
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
3.837
Punkte Reaktionen
3.666
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Ich habe jetzt in die Autodetect-Funktion noch das automatische Ermitteln der Motorkonstante KV eingebaut.
Beim Autodetect wird jetzt also erst mal wie gewohnt der motorspezifische Winkel ermittelt, dann läuft der Motor langsam bis zur Höchstgeschwindigkeit hoch, dabei wird KV bestimmt. Die ermittelte Zahl ist nicht auf eine geläufige physikalische Größe skaliert, also nicht über den Wert wundern...
Wichtig: Das Rad muß dabei frei in der Luft drehen können!!!
KV wird dann im emulierten EEPROM gespeichert. Mit diesem Wert kann jetzt das zur aktuellen Drehzahl passenden Tastverhältnis vor dem Einschalten der PWM berechnet werden. Damit startet die PWM jetzt ohne Ruckeln, auch wenn sich das Rad bereits dreht. Bisher nur am Prüfstand mit dem BionX IGH3 getestet.
Für die SpeedPLL war noch etwas tricksen erforderlich, wenn die PWM ausgeschaltet ist, wird der Winkel jetzt über den Timer3-Interrupt aktuell gehalten.

Das Ganze ist natürlich nur für Direct Drives interessant ;)

Gruß
hochsitzcola
 
Zuletzt bearbeitet:
E

Elias2000

Dabei seit
14.06.2019
Beiträge
475
Punkte Reaktionen
73
Hallo Hochsitzcola,

Kleines Problem:

13:37:12 **** Build of configuration Debug for project LishuiFOC_01 ****
make all
Building target: LishuiFOC_01.elf
Invoking: MCU GCC Linker
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -L"C:\Users\Elias\Desktop\EBICS Anti Block\Drivers\CMSIS" -L"C:\CMSIS_5-develop\CMSIS_5-develop\CMSIS\Lib\GCC" -specs=nosys.specs -specs=nano.specs -T"../STM32F103C6Tx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -o "LishuiFOC_01.elf" @"objects.list" -larm_cortexM3l_math -lm
startup/startup_stm32f103x6.o: In function `LoopFillZerobss':
C:\Users\Elias\Desktop\EBICS Anti Block\Debug/../startup/startup_stm32f103x6.s:110: undefined reference to `SystemInit'
C:\Users\Elias\Desktop\EBICS Anti Block\Debug/../startup/startup_stm32f103x6.s:114: undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
makefile:35: recipe for target 'LishuiFOC_01.elf' failed
make: *** [LishuiFOC_01.elf] Error 1

13:37:13 Build Finished (took 1s.263ms)

Ansonsten super, jetzt haben wir dann wirklich bald eine Firmware die einer kommerziellen (Ab Werk drauf) überlegen ist

Gruß
 
E

Elias2000

Dabei seit
14.06.2019
Beiträge
475
Punkte Reaktionen
73
Ich gehe mal davon aus, dass ich an den Fehlern mit dem Compillieren schuld bin (Wie bislang immer) aber kann mir vielleicht trotzdem noch jemand sagen wo da der Wurm drin ist, habe nämlich schon die komplette Toolchain deinstalliert, und nach der Anleitung im Wiki neu installiert, mit dem Ergebnis dass der Fehler immernoch da ist :-(
 
reinosmart

reinosmart

Dabei seit
29.04.2017
Beiträge
560
Punkte Reaktionen
306
Ort
Remseck
Details E-Antrieb
BionX mit KT36/BluOsec, BionX mit BMT
Hab nach rund 6 Monaten mein Lishui Testrad aus dem Keller geholt. Fährt sich problemlos, allerdings nur mit throttle. Signal vom torque-sensor ist zwar da, hat aber keinen Effekt. Wahrscheinlich ist mein Assist-level auf Null, wo stelle ich den im Debug-mode am besten ein, ich fürchte nach so langer Abstinenz hab ich einiges vergessen.
1631535941045.png
 
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
3.837
Punkte Reaktionen
3.666
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
wo stelle ich den im Debug-mode am besten ein
der Assistlevel wird in Zeile 322 der main.c initialisiert.
Wichtig ist natürlich auch noch der eingestellte Wert für TS_COEF in der config.h, der skaliert ja das Ganze erst in die richtige Größenordnung.

Zum Debuggen am besten alle beteiligten Parameter mit ausgeben lassen :)

Code:
int32_temp_current_target = (TS_COEF*(int16_t)(MS.assist_level)* (uint32_torque_cumulated>>5)/uint32_PAS)>>8;

Gruß
hochsitzcola
 
reinosmart

reinosmart

Dabei seit
29.04.2017
Beiträge
560
Punkte Reaktionen
306
Ort
Remseck
Details E-Antrieb
BionX mit KT36/BluOsec, BionX mit BMT
Zum Debuggen am besten alle beteiligten Parameter mit ausgeben lassen
hab ich gemacht, die sind alle so wie sie sein sollen. Aber wenn ich throttle-override deaktiviere, funktioniert der torque-sensor. Ich verstehe nicht warum sich das gegenseitig ausschließt.
Ganz hervorragend funktioniert die lineare Reku, bei regencurrent=400 fühlt sich die Rekubremse fast wie ein normaler Bremshebel an. Die mechanische Bremse braucht man dann wirklich nur zum Anhalten.(y)

gruß reinosmart
 
Hochsitzcola

Hochsitzcola

Dabei seit
04.09.2009
Beiträge
3.837
Punkte Reaktionen
3.666
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Aber wenn ich throttle-override deaktiviere, funktioniert der torque-sensor. Ich verstehe nicht warum sich das gegenseitig ausschließt.
Das ist ein Bug, den Fall Throttle und Torquesensor gleichzeitig zu betreiben, habe ich selber nie ausprobiert. Wir haben hier ja auch das Dilemma, das @Elias2000 schon geschildert hat, daß wir im Java Tool nicht für beide analogen Eingänge offset und max getrennt definieren können.
Um Torquesensor und Throttle override gleichzeitig zu nutzen, mußt du in Zeile 748 offset und max für den Gasgriff hardcoden (oder in Zeile 600 den Offset des Drehmomentsensors), Zeile 750 in

Code:
if(int32_temp_current_target>uint16_mapped_throttle) {

ändern und die Zeilen 751 bis 760 auskommentieren oder ganz löschen (das ist schnell und schmutzig :), ich hoffe, da meckert der Compiler nicht, ich habe es nicht ausprobiert).

Das müsste ich mit einem ifdef im Master irgendwann mal gerade ziehen, da aber die Nutzeranzahl von Torquesensor und gleichzeitig Gasgriff überschaubar sein sollte, steht das grad nicht ganz oben auf meiner Prioliste ;)

Gruß
hochsitzcola
 
Zuletzt bearbeitet:
reinosmart

reinosmart

Dabei seit
29.04.2017
Beiträge
560
Punkte Reaktionen
306
Ort
Remseck
Details E-Antrieb
BionX mit KT36/BluOsec, BionX mit BMT
Das müsste ich mit einem ifdef im Master irgendwann mal gerade ziehen
jetzt dämmerts mir langsam wieder. Ich hatte ja auch schon getrennte Offsets für die lineare Reku in meinen Code gebastelt. Bin halt die ganze Saison mit meinem BMT-Rad gefahren.
 
E

Elias2000

Dabei seit
14.06.2019
Beiträge
475
Punkte Reaktionen
73
Hallo Hochstizcola,

Bin noch nicht zu der Debugfahrt wegen der Reku gekommen, beruflich viel zu tun,
aber kannst du uns nicht noch einen ganz großen Gefallen tun?

Nämlich die Motorleistung auch Nicht proportional zur Gaspedalstellung regeln zu können,
damit man nicht mehr das Problem hat, dass mon schon 30 fährt nachdem das Gas nur 5mm gedrükt ist? Ich denke mal das würde hier einige freuen, auch andere die ihr (3000w China Hub Motor) ebike mit einem Gasgriff und deiner Software betreiben.

So dass quasi der strom nichtlinear zur Gaspedalstellung ansteigt, damit man starke Motoren auch
langsam fahren kann, ohne sich erst im mikrometerweisen Drücken das Gaspedals üben zu müssen.

Hoffe du kannst da noch was machen, bin selber mit C leider noch nicht so weit, denke
aber mal es dürfte nicht viel Aufwand sein.
 
reinosmart

reinosmart

Dabei seit
29.04.2017
Beiträge
560
Punkte Reaktionen
306
Ort
Remseck
Details E-Antrieb
BionX mit KT36/BluOsec, BionX mit BMT
Das müsste ich mit einem ifdef im Master irgendwann mal gerade ziehen
Na also! Jetzt klappt alles wie gewünscht. Ob man nun im Java-tool die fehlenden Offsets einfügt, oder diese in die main.c direkt einpflegt macht letztlich kaum einen Unterschied.
Jetzt muss ich mich noch um die 5 km/h Grenze bei throttle kümmern, da kann man sicher aus dem Kunteng-Projekt was übernehmen. Ich muss es nochmal wiederholen, die linear-reku ist der Hammer.
Jetzt muss ich mich noch um den Akku kümmern, mit 36V läuft der Trio-DD nur 20 km/h.
1631715587114.png
 
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