Open Source Firmware für Lishui Controller

Diskutiere Open Source Firmware für Lishui Controller im Controller/Regler, Fahrerinformation & Elektronik Forum im Bereich Diskussionen; komisch, bin gerade nochmal gefahren, da gab es auch im Level 0 Reku. Ich dachte die PWM wird nur im Stand abgeschaltet.
Hochsitzcola

Hochsitzcola

Themenstarter
Dabei seit
04.09.2009
Beiträge
4.367
Punkte Reaktionen
4.254
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
da gab es auch im Level 0 Reku. Ich dachte die PWM wird nur im Stand abgeschaltet.
Wenn du mit Unterstützung losfährst und dann beim Rollen auf Null stellst, sollte die Reku gehen. Wenn du aus dem Stand auf Stufe 0 losfährst, sollte sie nicht gehen, so lange du die eine Zeile noch nicht geändert hast....

Gruß
hochsitzcola
 
reinosmart

reinosmart

Dabei seit
29.04.2017
Beiträge
577
Punkte Reaktionen
318
Ort
Remseck
Details E-Antrieb
BionX mit KT36/BluOsec, BionX mit BMT
Wenn du mit Unterstützung losfährst und dann beim Rollen auf Null stellst, sollte die Reku gehen.
Dann lasse ich den Code besser so wie er ist, sonst würde eventuell bei hoher Geschwindigkeit die PWM einschalten, ich weiß ob das gut ist. Wenn man den Zusammenhang kennt, kann man damit gut leben. So oft fahre ich nicht in Stufe 0.😅
 
Hochsitzcola

Hochsitzcola

Themenstarter
Dabei seit
04.09.2009
Beiträge
4.367
Punkte Reaktionen
4.254
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
sonst würde eventuell bei hoher Geschwindigkeit die PWM einschalten
Das ist mit der aktuellen main.c kein Problem, wenn der aktuelle autodetect-Prozess mit der KV-Ermittlung einmalig ausgeführt wurde. Dann wird der Regler beim Einschalten der PWM mit dem richtigen Wert für die aktuelle Geschwindigkeit vorgeladen. Das geht vollkommen ruckelfrei :cool:

Gruß
hochsitzcola
 
F

felix_s

Dabei seit
17.09.2017
Beiträge
144
Punkte Reaktionen
44
Hochsitzcola

Hochsitzcola

Themenstarter
Dabei seit
04.09.2009
Beiträge
4.367
Punkte Reaktionen
4.254
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Der verwendet doch canbus
Das EasyDIY Display kann beides, UART und CAN.

mit Garmin kompatibel
Ja, auch, es soll aber gleichzeitig ein kleines diskretes Display sein, das den Lenker nicht verschandelt:

And I want this display to be small as possible, so when not using the Garmin Edge, I will have a clean handlebar as if I do not have an Ebike. But the tiny display must be there for me to check the battery SOC, etc

Weiterhin soll es als PowerMeter die Eigenleistung des Fahrers anzeigen, wenn denn ein Drehmomentsensor im System verbaut ist ;)

Gruß
hochsitzcola
 
reinosmart

reinosmart

Dabei seit
29.04.2017
Beiträge
577
Punkte Reaktionen
318
Ort
Remseck
Details E-Antrieb
BionX mit KT36/BluOsec, BionX mit BMT
reinosmart

reinosmart

Dabei seit
29.04.2017
Beiträge
577
Punkte Reaktionen
318
Ort
Remseck
Details E-Antrieb
BionX mit KT36/BluOsec, BionX mit BMT
1651333874381.png
 
Hochsitzcola

Hochsitzcola

Themenstarter
Dabei seit
04.09.2009
Beiträge
4.367
Punkte Reaktionen
4.254
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Du kannst mal probieren, ob es hilft, die PI-Parameter weniger scharf einzustellen. @didi28 hatte auch ein Rattern bei der 25km/h Grenze bei hohen Unterstützungsstufen festgestellt und das mit der Reduzierung des I-Faktors für iq und/oder id in den Griff bekommen. Man sieht ja schön, wenn der Stellwert nicht so hoch ist, schwingt es auch nicht....
Du kannst auch für Reku und für Motorbetrieb unterschiedliche PI-Faktoren an den Regler übergeben. Im Moment werden die nur beim Start aus der Config.h übernommen und zur Laufzeit nicht mehr geändert...
EBiCS_Firmware/main.c at b1442a1d6dd32aaaf8c3c02ffb86795cf8afdce4 · EBiCS/EBiCS_Firmware

Gruß
hochsitzcola
 
G

gronph

Dabei seit
14.03.2016
Beiträge
79
Punkte Reaktionen
15
kann mal bitte jemand einen Link zu nem bezahlbaren 48V Lishui Controller posten, scheinbar bin ich momentan zu doof zum googlen... gerne auch bei Ali
 
Hochsitzcola

Hochsitzcola

Themenstarter
Dabei seit
04.09.2009
Beiträge
4.367
Punkte Reaktionen
4.254
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
F

felix_s

Dabei seit
17.09.2017
Beiträge
144
Punkte Reaktionen
44
Endlich zeit zum ausprobieren. Kompilieren und flashen lief einwandfrei auf meinem 12FET controller, jedoch klappt es bisher nicht mit dem autodetect. Die LED von der Platine blinzelt schnell rot, sonst kein mux. Wie genau funktioniert der eingebaute debug modus ? Kann man irgendwo fehlermeldungen ablesen ?
Besten Dank,
 
Hochsitzcola

Hochsitzcola

Themenstarter
Dabei seit
04.09.2009
Beiträge
4.367
Punkte Reaktionen
4.254
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Wie genau funktioniert der eingebaute debug modus ?
Poste doch bitte mal den Inhalt deiner config.h
Für den Debug Modus musst du das Display auf Debug stellen, dann kannst du dir die Daten über ein Bluetoothmodul oder ein USB-UART Wandler sie Daten am Handy oder PC anschauen. Wie das verkabelt wird, ist im Wiki beschrieben:
elektrotechnik:open_source_firmware_fuer_lishui_-controller [Wiki Pedelec-Forum]
Ich müsste das deutsche Wiki dringend überarbeiten, da ist vieles komplett veraltet :eek:
Es gibt verschiedene Möglichkeiten autodetect auszulösen. Am einfachsten Display auf Debug und AUTODETECT im
Java Tool aktivieren.
Das brauchst du nur ein Mal machen, dann kannst es wieder deaktivieren und wieder auf das richtige Display stellen.

Gruß
hochsitzcola
 
Zuletzt bearbeitet:
F

felix_s

Dabei seit
17.09.2017
Beiträge
144
Punkte Reaktionen
44
Poste doch bitte mal den Inhalt deiner config.h
Für den Debug Modus musst du das Display auf Debug stellen, dann kannst du dir die Daten über ein Bluetoothmodul oder ein USB-UART Wandler sie Daten am Handy oder PC anschauen. Wie das verkabelt wird, ist im Wiki beschrieben:
elektrotechnik:open_source_firmware_fuer_lishui_-controller [Wiki Pedelec-Forum]
Ich müsste das deutsche Wiki dringend überarbeiten, da ist vieles komplett veraltet :eek:
Es gibt verschiedene Möglichkeiten autodetect auszulösen. Am einfachsten Display auf Debug und AUTODETECT im
Java Tool aktivieren.
Das brauchst du nur ein Mal machen, dann kannst es wieder deaktivieren und wieder auf das richtige Display stellen.

Gruß
hochsitzcola
Danke für die schnelle Rückmeldung. mit debug + autodetect tut sich was: der motor stottert und rattert elend, dann nichts mehr (immer noch mit dem shengyi X1). Ich habe bisher im java tool nichts anderes geändert als den debug modus, also alle daten in der config.h direkt von der master-branch übernommen.

Welche sind die Verbindungsdaten für die serielle Schnittstelle ? Ich habe einen usb-to-ttl adapter an den Displaystecker von controller gesteckt, und kann ein signal mit Putty empfangen, aber nicht lesen (kryptische zeichen). Hab's mit 9600, 1, 0 probiert.

Mir ist nicht klar wie die motor Daten gespeichert werden: wenn autodect im debug modus funktioniert (hoffentlich!), dann wird doch alles wieder überschrieben, wenn ich den controller erneut mit dem richtigen display flasche, oder nicht ? On-the-fly display config scheint nicht vorgesehen zu sein.

EDIT: Anscheint sendet die ebics firmware mit 56k baud. Jetzt kann ich zumindest ablesen, was geschiet. Hier die Zahlen, die angezeigt werden (ausschnitt):

2179, 680, 2036, 2038, 2050, 4093, 1
2176, 679, 2034, 2037, 2050, 4093, 2
2179, 681, 2037, 2041, 2054, 4095, 1
2179, 681, 2039, 2043, 2047, 4095, 1
2180, 681, 2064, 2349, 1988, 4095, 2
2179, 682, 2116, 2052, 1982, 4094, 1
2178, 681, 2033, 2078, 2026, 4095, 2
2183, 683, 2113, 2033, 2002, 4095, 1
2179, 681, 2107, 2025, 2002, 4095, 1
2178, 681, 2064, 2075, 1998, 4095, 1
2179, 681, 2102, 2014, 2019, 4095, 1
2181, 682, 2212, 2005, 1929, 4095, 1
2180, 681, 2083, 2024, 2029, 4095, 1
2180, 681, 2106, 1947, 2086, 4095, 1
2180, 681, 2053, 1977, 2111, 4095, 0
2182, 681, 1867, 2094, 2032, 4095, 1
2184, 683, 2078, 2075, 2065, 4095, 1
2177, 681, 2053, 2043, 2056, 4095, 2
2180, 681, 2039, 2042, 2055, 4095, 1
2184, 682, 2041, 2044, 2055, 4095, 1
2180, 681, 2040, 2041, 2052, 4094, 1
2179, 681, 2039, 2042, 2054, 4095, 2
2178, 680, 2034, 2038, 2050, 4093, 2
2179, 681, 2039, 2042, 2055, 4095, 2
2176, 680, 2036, 2042, 2052, 4095, 1
2183, 683, 2042, 2037, 2089, 4095, 1
2179, 682, 1965, 2098, 2073, 4095, 2
2178, 680, 2009, 2017, 2104, 4095, 2
 
Zuletzt bearbeitet:
Hochsitzcola

Hochsitzcola

Themenstarter
Dabei seit
04.09.2009
Beiträge
4.367
Punkte Reaktionen
4.254
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
Anscheint sendet die ebics firmware mit 56k baud
Ja, steht doch so im Wiki!

Nochmal: poste bitte den Inhalt deiner config.h
Für erste Tests deaktiviere die PLL, die muss auf den Motor angepasst werden. Der Motor läuft auch ohne PLL vernünftig, mit PLL höchstens ein kleines bisschen leiser....

Die Werte, die aktuell ausgegeben werden sind nur die ADC Werte der analogen Kanäle.
Um hier was aussagekräftigeres zu sehen, solltest du in der main.c Zeile 915 auskommentierten und 914 wieder einkommentieren.
EBiCS_Firmware/main.c at b1442a1d6dd32aaaf8c3c02ffb86795cf8afdce4 · EBiCS/EBiCS_Firmware

Gruß
hochsitzcola
 
Zuletzt bearbeitet:
F

felix_s

Dabei seit
17.09.2017
Beiträge
144
Punkte Reaktionen
44
Ja, steht doch so im Wiki!

Nochmal: poste bitte den Inhalt deiner config.h
Für erste Tests deaktiviere die PLL, die muss auf den Motor angepasst werden. Der Motor läuft auch ohne PLL vernünftig, mit PLL höchstens ein kleines bisschen leiser....

Die Werte, die aktuell ausgegeben werden sind nur die ADC Werte der analogen Kanäle.
Um hier was aussagekräftigeres zu sehen, solltest du in der main.c Zeile 915 auskommentierten und 914 wieder einkommentieren.
EBiCS_Firmware/main.c at b1442a1d6dd32aaaf8c3c02ffb86795cf8afdce4 · EBiCS/EBiCS_Firmware

Gruß
hochsitzcola
Nun sieht es um Einiges besser aus hier: ohne pll lief autodetect, nun sind Phasenwinkel korrekturen im eeprom zu finden. Der motor springt an auf Gasgriff. Das ist schon mal mehr als mit der stock firmware - gratuliere für deine Firmware!
Dein Tipp zum Debug modus ist genial: man kann im main.c einfach eintragen was man will, und die Werte live in der console ablesen. Ohne hätte ich wohl nichts hin bekommen.

Was noch nicht lauft:
- Recht laut: mit vesc läuft der Motor einiges leiser
- erider sensor (habe ich aber noch nicht kalibriert)
Denkst du, dass ich mit pll bessere ergebnisse bekomme ? Wenn ja, wie ermittle ich die Werte ? Kann ich die Daten irgendwo aus dem vesc autodetect übernehmen ?

Hier die Config (java tool)

/*
* config.h
*
* Automatically created by Lishui Parameter Configurator
* Author: stancecoke
*/

#ifndef CONFIG_H_
#define CONFIG_H_
#include "stdint.h"
#define DISPLAY_TYPE_EBiCS (1<<5)
#define DISPLAY_TYPE_KINGMETER_618U (1<<4) // King-Meter 618U protocol (KM5s, EBS-LCD2, J-LCD, SW-LCD)
#define DISPLAY_TYPE_KINGMETER_901U (1<<8) // King-Meter 901U protocol (KM5s)
#define DISPLAY_TYPE_KINGMETER (DISPLAY_TYPE_KINGMETER_618U|DISPLAY_TYPE_KINGMETER_901U)
#define DISPLAY_TYPE_BAFANG (1<<2) // For 'Blaupunkt' Display of Prophete Entdecker
#define DISPLAY_TYPE_KUNTENG (1<<1) // For ASCII-Output in Debug mode
#define DISPLAY_TYPE_DEBUG (1<<0) // For ASCII-Output in Debug mode);
#define EXTERNAL 1
#define INTERNAL 0

#define TRIGGER_OFFSET_ADC 50
#define TRIGGER_DEFAULT 2020
#define _T 2028
#define CAL_BAT_V 256
#define CAL_V 15LL<<8
#define CAL_I 38LL<<8
#define INDUCTANCE 6
#define RESISTANCE 40
#define FLUX_LINKAGE 1200
#define GAMMA 9
#define BATTERY_LEVEL_1 323000
#define BATTERY_LEVEL_2 329000
#define BATTERY_LEVEL_3 344000
#define BATTERY_LEVEL_4 368000
#define BATTERY_LEVEL_5 380000
#define P_FACTOR_I_Q 500
#define I_FACTOR_I_Q 20
#define P_FACTOR_I_D 500
#define I_FACTOR_I_D 20
#define P_FACTOR_PLL 5
#define I_FACTOR_PLL 11
#define P_FACTOR_SPEED 100
#define I_FACTOR_SPEED 10
#define SPDSHFT 0
#define SPEEDFILTER 1
#define SIXSTEPTHRESHOLD 3500
#define TS_COEF 60000
#define PAS_TIMEOUT 8000
#define RAMP_END 1600
#define FRAC_HIGH 30
#define FRAC_LOW 15
#define THROTTLE_OFFSET 750
#define THROTTLE_MAX 3400
#define PUSHASSIST_CURRENT 30
#define WHEEL_CIRCUMFERENCE 1256
#define GEAR_RATIO 72
#define SPEEDLIMIT 50
#define PULSES_PER_REVOLUTION 1
#define PH_CURRENT_MAX 600
#define BATTERYCURRENT_MAX 15000
#define REGEN_CURRENT 200
#define REGEN_CURRENT_MAX 10000
#define VOLTAGE_MIN 500
#define VOLTAGE_MAX 2400
#define SPEC_ANGLE -715827882
#define DISPLAY_TYPE DISPLAY_TYPE_DEBUG //ASCII Printout for debugging
#define SPEEDSOURCE EXTERNAL
#define AUTODETECT 0
#define REVERSE -1
#define THROTTLE_OVERRIDE

#endif /* CONFIG_H_ */
 
Zuletzt bearbeitet:
Hochsitzcola

Hochsitzcola

Themenstarter
Dabei seit
04.09.2009
Beiträge
4.367
Punkte Reaktionen
4.254
Details E-Antrieb
Gazelle mit BionX IGH3 + OpenSource Firmware
- Recht laut: mit vesc läuft der Motor einiges leiser
Das verbessert die PLL noch mal um einiges.
Für einen Getriebemotor ist P und I Faktor auf 7 eine gute Absprungbasis.

Du könntest aber auch mal den Branch M365 improvements ausprobieren, da werden die Positionen zu allen 6 Hallevents ermittelt und ins EEPROM geschrieben. Das hilft auch, den Motor ruhiger zu bekommen, wenn die Sensoren ungenau im Motor platziert sind...
Da musst du autodetect noch mal ausführen, da eine andere Winkellogik verwendet wird.

Gruß
hochsitzcola
 
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...
Dahon Ciao i7 Faltrad-Umbau mit Einsatz der Open Source Firmware für FOC Lishui Controller: Drehmomentsteuerung und Bremsrekuperation möglich: Bei EBS setzen wir bei den meisten unserer Umbausätze schon lange Lishui-Controller ein, weil die Qualität in unseren Augen deutlich über der...
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