Benutzer-Werkzeuge

Webseiten-Werkzeuge


elektrotechnik:open_source_firmware_fuer_lishui_-controller

Willkommen im LishuiFOC-Wiki!

Achtung: Dieses Projekt ist noch in den Kinderschuhen und alles, was du tust, geschieht auf eigene Gefahr!*

Die Lishui Controller werden in vielen Fertig-Pedelecs im „Baumarkt-Segment“ verwendet. z.B. in einigen Modellen von Fischer, NCM, Prophete (Zündapp) …. Die offene Firmware ermöglicht es, z.B. von Geschwindigkeits-Stufen auf Stromstufen umzurüsten, beliebige Geschwindigkeitslimits darzustellen, Daumengas nachzurüsten usw. Der größte Schritt nach vorn ist sicherlich der Anschluß eines Drehmomentsensors, der das Rad dann in eine Liga mit oft doppelt oder dreifach so teuren Pedelecs bringt. Das Flashen der Firmware ist durch eine grafische Benutzeroberfläche für Windows-Rechner auch für Nutzer mit wenig Computererfahrung möglich.

Hier sind die notwendigen Schritte, um die Firmware auf deinen Controller zu bekommen.

1. Vorbereitung

1. Stelle sicher, dass dein Controller ein „F“ in der Artikelnummer „LSW….“ hat, siehe gelbe Markierung im Bildchen. Die Artikelnummer kann komplett anders aussehen, nur das „F“ muß drin sein.

2. Alternativ sind die geeigneten Controller auch am Prozessor STM32FEB KC6T6, drei Shunts, drei Halbbrücken-Treibern und dem Operationsverstärker auf der Platine erkennbar. Deine Platine kann ganz anders aussehen, es ist nur wichtig, dass die Komponenten vorhanden sind.

3. Verbinde den STLink-V2 wie im Bild dargestellt mit dem Programmieranschluß oder direkt mit der Leiterplatte, die Farben der Jumperkabel darfst du dir selbst aussuchen :-).

4. Java Runtime Environment herunterladen und installieren (falls nicht bereits installiert).

5. System Workbench für STM32 herunterladen und installieren. Anschließend Eclipse (standadmäßig im Pfad C:\Ac6\SystemWorkbench\eclipse.exe) einmalig starten, um den Compiler zu entpacken.

6. Das STM32 Utility herunterladen und installieren

7. Lade die Firmware von Github durch klicken auf den grünen Button „Clone or download“ herunter und entpacke sie an einen Ort deiner Wahl.

8. gehe im Windows Explorer in das entpackte Verzeichnis und doppelklicke auf die Datei „JavaConfigurator.jar“ Die Benutzeroberfläche öffnet sich. Passe die Pfade zur Workbench und zum STM32 Utility sowie die Parameter nach deinen Wünschen an. Durch klicken auf „Compile & Flash“ wird die Firmware mit deinen Einstellungen compiliert und auf den Controller geflasht. Um über den STLink zu flashen, muß der Contoller einmalig durch klicken auf „Unlock Controller“ entsperrt werden. Bei einigen Fertigrädern hat die original Firmware einen Bootloader und kann über den Displaystecker per UART geflasht werden „Unlock Controller“ darf in diesem Fall nicht geklickt werden, da sonst auch der Bootloader gelöscht wird. Anleitung zum Flashen per UART siehe Kapitel 7

2. Grundeinstellung

9. Entscheidend für Motoren mit Hallsensoren ist die Einstellung von SPEC_ANGLE. Ein Defaultwert wird im Javatool definiert. Die Firmware bietet eine Funktion, die diesen Winkel automatisch ermittlet. Diese Routine kann durch gleichzeitiges ziehen der Bremse und Vollgas am Gasgriff beim Einschalten für min 10s ausgelöst werden. Alternativ kann die Routine auch durch die Einstellung im Java-Tool (degug + autodetect) aktiviert werden. Achte darauf, dass sich das Rad während des Autodetektionsprozesses ohne Last frei drehen kann (Rad in der Luft). Die gefundene Einstellung wird im emulated EEPROM gespeichert und wird dann bei jedem Systemstarts anstatt der Einstellung im Java-Tool verwendet. Wird als Display „Debug“ eingestellt, so werden über den Displayanschluß im Code Vordefinierte Parameter gesendet, die bei der Optimierung des Systems und bei der Fehlersuche hilfreich sein können. Um die UART-Nachrichten lesen zu können, brauchst du ein USB-UART-Wandler oder ein Bluetooth-Modul. Am Laptop empfehle ich zum Empfang HTerm, am Android-Handy Blueterm. In HTerm muß die Übertragungsrate auf 56000 BAUD und der Zeilenumbruch (new line at) auf CR-LF einstellt sein.

Es gibt verschiedene Display-Stecker: meistens Higo männlich, bei mit Bafang gelabelten Controllern Higo weiblich, danke an @Rublih für das Bild. Weiterhin ist ab und zu noch ein JST-Verbinder zu finden (großes Bild). Zum Einschalten des Controllers muß P+ mit Power Lock (rot mit blau) verbunden werden, das UART Modul mit GND, RX und TX. Bei den filigranen Pins auf jeden Fall darauf achten, daß keine Kurzschlüsse produziert werden. ggf lieber ein „Debug-Adapter“ bauen. Die Higos gibt es z.B. hier.

Der Winkel kann auch durch Ausprobieren ermittelt werden. Wie groß die Unterschiede zwischen verschiedenen Motoren ist, oder ob die meisten mit einer default-Einstellung vernünftig laufen, weiß ich derzeit noch nicht ;-)

Derzeit ist mir nicht bekannt, ob die aktuelle Firmwareversion zu den von den OEMs verwendenten Hallsensor- und Phasenzuordnung passt. Ggf. muß die Zuordnung im Code angepasst werden.

3. Version für sensorlose Motoren

Die sensorlose Ansteuerung ist im Master-Branch nicht hinterlegt, sie ist im Branch sensorless_VESC zu finden (und ist noch viel experimenteller als der Rest :-))

4. Einstellungen für bekannte Motoren

5. Erklärung der Parameter

6. Pinbelegung des Prozessors

7. Flashen über UART

8. Bearbeiten des Quell-Codes mit Eclipse (Workbench)

6. Importiere das Github-Repo in Eclipse (Workbench) per Datei –> import –> git –> Projekte von git –> clone URL. Kopiere die Adresse https://github.com/stancecoke/LishuiFOC in das Dialogfenster und wähle einen leeren Ordner. In der „Run configuration“ muß ggf. noch der Reset auf „Software“ umgestellt werden, siehe Bild.

Demonstrationsfilmchen :-)

elektrotechnik/open_source_firmware_fuer_lishui_-controller.txt · Zuletzt geändert: 2021/03/17 10:33 von Hochsitzcola