DIY DirectDrive FFB Lenkrad aus Hoverboard Motor Teil 3 – Software

Bei der Software habe ich mehrere verschiedene Firmware/Software-Kombinationen ausprobiert.
Letztendlich bin ich wieder bei der Firmware gelandet die ich auch als erstes ausprobiert habe.
Die hat am besten funktioniert.

Hier der Link zum Github: https://github.com/o-devices/bldc-ffb-wheel

UPDATE:
Inzwischen gibt es eine neuere und bessere Version der Firmware sowie Software.
Diese sollte verwendet werden!

Nicht mehr die Version welche im oben genannten Github zu finden ist!

Die Infos und Links dazu sind aktuell nur im Discord des Entwicklers zu finden.
Das neue Github zum Projekt wird auch bald fertig gestellt.

Darum hier die Direkt-Links:
1. Die neue Firmware
2. Die neue Software


Die Firmware braucht ihr nur ein mal, die Software wird ggf. öfter gebraucht.
Also am besten irgendwohin entpacken wo es nicht stört und nicht verloren geht.

Firmware auf ODESC oder MKS ODrive flashen.
1. Dafür benötigt man die Software STM32CubeProgrammer„.
Die Software installieren, starten und rechts auf USB stellen.


2. ODESC oder MKS ODrive mit PC verbinden und Strom dran.
Der PC sollte jetzt automatisch Treiber installieren.

3. Wenn die Treiber installiert sind muss man den ODESC oder MKS ODrive in den DFU Modus bringen damit man ihn flashen kann. Das geschieht je nach Model unterschiedlich.

4a. ODESC
Den von mir verlinkten ODESC 4.2 bringt man wie folgt in den DFU-Modus:

Während ODESC am Strom und dem PC angeschlossen ist hält man den kleinen BOOT Knopf auf der Platine fest und drückt kurz den RESET Knopf.
Man wartet ca. eine Sekunde und lässt dann den BOOT Knopf los.

Wenn man jetzt in der STM32 Cube Programmer Software rechts auf den Aktualisieren-Knopf drückt (kleiner gelber Kreis) dann sollte er das Board im DFU Modus erkennen und es sollte die Board-ID sichtbar sein (roter Kreis) .

4b MKS ODrive
Der von mir verlinkte MKS ODrive hat zwei Jumper auf dem Board.
Der untere Jumper ist der für den DFU-Modus. Das steht tatsächlich auch neben dem Jumper.
Der untere ist der, der weiter Richtung Boardmitte ist. Der andere, obere, Jumper ist für die CAN-Funktion.

Der MKS ODrive sollte komplett stromlos sein. Also Stromstecker vom Board sowie USB-Stecker aus dem PC ziehen. Jetzt mit einer Pinzette oder einem dünnen Schraubenzieher den Jumper für den DFU-Modus raus ziehen.

Wenn man jetzt alles wieder ansteckt, USB und Strom, sollten Treiber installiert werden.
Nach der Treiberinstallation kann man im STM32 Cube Programmer rechts den Knopf zum Aktualisieren drücken (kleiner gelber Kreis). Jetzt sollte das Board als USB-Gerät im STM32 Cube Programmer erkannt werden (roter kreis) und man kann ihn flashen.

Alles weitere ist für alle Steuer-Platienen gleich!

5. Jetzt klickt man erst auf „Connect“ (gelber Kreis) und wählt dann die Firmware aus, die geflashed werden soll in dem man auf „Open file“ oder das Plus klickt (roter Kreis).
Die Firmware habt ihr vorhin entpackt, sie heißt „ffbeast-firmware-odrive-20230909.hex



6. Ist die Firmware geladen, drückt man auf „Download“ (roter Kreis) und es wird die Firmware auf die Steuer-Platiene geflasht. Hier sollte man das Ganze am besten nicht anfassen. Denn wenn hier etwas schief geht, Strom- oder USB-Verbindung wird getrennt, dann ist das ODESC bzw. MKS ODrive „softbricked“.



7. Nach dem Erfolgreichen Download der Firmware kann man auf „Disconnect“ klicken und die Software schließen.

Man kann es jetzt kurz vom Strom trennen und wieder anschließen damit es mit neuer Firmware erkannt wird.

FFB Wheel Software

Wenn ihr die andere ZIP-Datei entpackt habt, dann findet ihr zwei ausführbare Dateien:
1. „ffbeast-hardware-settings-ui.exe
Die braucht ihr zur ersten Einrichtung oder wenn ihr später etwas an der Grund-Einstellungen ändern wollt.

2. „ffbeast-wheel-effects-ui.exe“
Dieses Programm ist für Effekt-Einstellungen, wie groß der Lenkradius

Der Entwickler hat das erste Einrichten der Software auf einem Bild beschrieben. Wenn man sich genau daran hält funktioniert das auch sehr gut.
Ich füge hier mal das Bild ein und erkläre dann die Schritte.

Schritte der Einrichtung

1. Grundeinstellungen

Startet die „ffbeast-hardware-settings-ui.exe„, wählt oben „Wheel“ und drückt dann auf „Activate“.
Jetzt sollte die Platiene neu starten und ihr müsst wieder Wheel auswählen.


Encoder CPR
Als erstes stellt ihr euren CPR Wert ein. Den errechnet man wie folgt:
PPR x 4 x Zahnradübersetzung = CPR

Rechenbeispiel mit meinem Setup:
Mein Encoder hat 600 PPR und ich habe eine Zahnradübersetzung von 2:1

Heißt, ich rechne:
600 x 4 x 2 = 4800

Calibration
Nach dem ersten Start wird es so sein, dass das Lenkrad nicht grade steht und blockiert ist.
Mit etwas Kraft könnt ihr das Lenkrad aber drehen. Dreht es so, dass es so nahe wie möglich an „grade“ ist. Jetzt könnt ihr bei „Calibration start angle“ den Wert erhöhen oder absenken um das Lenkrad grade zu bekommen.

Wenn es grade ist aktiviert ihr oben links „Enable forces“ und stellt da drunter „Calibration“ auf „Calibration start angle as the center“. Jetzt unten auf „Save settings“ und danach „reboot device“.

Jetzt sollte das Lenkrad sich selbst zentrieren und danach kurz nach links und rechts bewegen.
Danach ist es frei drehbar.

Sollte sich das Lenkrad im Spiel falsch herum drehen, dann macht ihr, (wie bei mir) den Haken bei „Invert joystick output“ rein.

Sollte der ForceFeedback Effekt in die falsche Richtung gehen, dann könnt ihr den auch hier mit Haken bei „Inver force output“ umkehren. Beides einfach so einstellen, dass Lenkung und ForceFeedback in die richtige Richtung gehen.

So testet ihr ob das ForceFeedback in die richtige Richtung geht:
WICHTIG: Haltet das Lenkrad dabei immer gut fest!!
Beim ersten Start steht der Lenkwinkel auf 90°. Haltet das Lenkrad fest und dreht es in eine Richtung bis zum Anschlag.
Wenn jetzt das Lenkrad stoppt, ist die ForceFeedback Richtung korrekt.
Wenn das Lenkrad aber von selbst weiter drehen möchte ist die ForceFeedback Richtung falsch!
Das Lenkrad wieder zurück in die 90° Lenkwinkel ziehen damit es aufhört sich zu drehen.
Dann einfach den Haken bei „invert force output“ setzen, „save settings“ und „reboot device“ drücken.
Jetzt noch mal probieren. Es sollte jetzt richtig sein.

Pole Pairs
„Pole pairs“ ist in den meisten Fällen 15 bei Hoverboard-Motoren. Um sicher zu gehen müsstet ihr den Motor aufschrauben und zählen. Bei 15 Pole pairs sind es insgesamt 30 Magnete, also 15 Paare.

Power Limit und Braking resistor limit solltet ihr für’s Erste irgendwo zwischen 15-30 % lassen.
Besser niedrig lassen und hoch arbeiten. Ein zu hoher Wert kann zum Beschädigen der Platiene führen!
Ist mir schon passiert 😅🤷‍♂️

Power Limit
Wenn euch das ForceFeedback zu schwach ist könnt ihr das Power limit etwas anheben.
Ich mache das meistens in 5 % Schritten. 20-25% sind für mich ein guter Wert.

Braking resistor limit
Braking resistor sollte so eingestellt sein, dass das Netzteil bei schnellen Lenkradbewegungen nicht mitten drin kurz aus geht. Wenn das passiert merkt ihr das daran, dass der PC die Platiene neu erkennt und euer Lenkrad nicht mehr funktioniert. Ihr müsst dann kurz Strom ab- und anstecken damit es wieder geht. Je nach Spiel müsst ihr auch das Spiel neu starten.
Wenn das passiert müsst ihr das Braking resistor limit anheben.
Am besten in nur 1-2 % Schritten, dann weiter spielen und schauen ob es wieder passiert.
So lange anheben bis es nicht mehr passiert und da drauf noch 2 % dazu rechnen damit etwas „Puffer“ vorhanden ist.
Vorsicht: Wenn man den Wert zu hoch setzt kann das auch das Board beschädigen!
Also nicht einfach zu hoch setzen!

Habt ihr hier alles eingestellt, dann könnt ihr unten auf „Save settings“ klicken um die Einstellungen zu speichern.


Im Tab „License“ könnt ihr einen Serial Key eingeben um mehr Funktionen frei zu schalten.
Dann habt ihr zum Beispiel auch die Möglichkeit Knöpfe, Achsen und ähnliches an das Board anzuschließen falls ihr das wollt.

2. Effekt-Einstellungen
Jetzt startet ihr die andere Anwendung, „ffbeast-wheel-effects-ui.exe“.
Hier könnt ihr oben Profile anlegen. Für verschiedene Spiele oder (so wie ich) nur für verschiedene Lenk-Winkel. Einfach Titel eingeben und „Save“ klicken.

Die Einstellungen hier werden sofort aktiv!
„Save settings“ speichert die Einstellungen dann permanent.

Wichtig sind eigentlich nur ein paar Einstellungen:

Motion Range (degrees) – Das ist der Maximale-Lenkwinkel.
Total effect scale (%) – Das ist die Effekt-Stärke des ForceFeedback
Total effect smoothing (%) – Das ist die Glättung der Effekte.
Soft stop gain (%) – Die Stärke des Endstops. Also wenn das Lenkrad den max. Lenkwinkel erreicht.
Soft stop range (degrees) – Soft stop fängt an zu bremsen bei den letzten X Grad des Lenkwinkels
Dampening gain (unitless) – Eine Art „Basis-Bremsung“. Selbst im „Leerlauf“.

Die Direct X Werte sollte man auf 100% stellen und lassen. Einige Spiele haben sonst Probleme.



Danke fürs Lesen!
Ich hoffe es hat euch geholfen und/oder inspiriert.
Wenn etwas fehlt oder schwierig verständlich ist könnt ihr mir das gerne per Kommentar mitteilen!

Wir lesen uns wieder wenn es mit den Pedalen weiter geht 😁