RP ✔️ SHFW Anleitung 2024 (ScooterHacking Utility) - Ninebot & Xiaomi E-Scooter Tuning

Noel

Moderator
Teammitglied
20 Juni 2020
626
1.034
Irgendwo im Nirgendwo
E-Scooter
G30D

Rollerplausch SHFW Titel.png

👉 Dieser Flash-Guide ist plattformübergreifend für diverse E-Scooter!

Folgende Scooter werden aktuell unterstützt:


⚠️WICHTIG!

Durch die aktuelle wirtschaftliche Lage (Halbleiter-Engpässen) werden von E-Scooter Herstellen aktuell vermehrt "No Name Chips" statt den bekannten STM32 (MCU)
in den Controllern verbaut.

Deswegen sollte man immer wissen welchen Controller-Typ man im E-Scooter verbaut hat bevor man Ihn flasht.
Folgende neue Controller-Typen mit alternativem Chip gibt es aktuell:



Ein Indiz für den alten Controller ist die UID (Unique Identifier) des Scooters. Diese lässt sich beispielsweise mit den Apps m365 downG oder der SHU auslesen.
Hat man bei DownG an der 2. Stelle "FF" (Byte-Paar) oder in der SHU an der 1. Stelle das "FF", deutet das auf den alten ESC-Typ hin.

Diese Methode zum identifizieren des Mikrocontroller wurde von VooDooShamane ursprünglich für die Xiaomi Roller entwickelt, sie lässt sich jedoch auch hier hervorragend anwenden.

Die neue SHU (ScooterHacking Utility) kann diese neuen Controller-Typen nun auch automatisch identifizieren.
Deswegen schaut immer das ihr die neuste Version der SHU nutzt.



ℹ️Info

SHU v2.6.1 kann bei den G30 Max Scootern nur bis DRV173 (egal welcher Controller) eine SHFW oder andere DRV's flashen.

Ab einer DRV183 (oder DRV1.7.13 je nach App angezeigt) und aufwärts kann der Controller nicht mehr per App (Bluetooth) geflasht werden.
Denn die DRV183 besitzt einen bis dato ungeknackten Flash-Schutz!

Wenn ihr einen alten G30 Max v1.0 Controller mit STM32 MCU habt, muss die DRV183 vorher manuell via ST-Link downgraded werden.
Habt ihr einen neuen G30_New Generation_v1.1 Controller mit AT32 MCU habt, muss die DRV183 vorher manuell via ST-Link downgraded werden.
Eine weitere Methode wäre der Tausch der AT32 MCU gegen eine STM32 MCU.
Hierbei spricht man dann von dem sogenannten ->Chip-Swap<- .

Bevor ihr das Downgrade macht, solltet ihr euch zusätzlich sicher sein, welchen Motortyp ihr am Roller verbaut habt.

Der neue Motor (PADH/PAAH 122) ist nicht mit der Firmware-Version (Regular-Base173) kompatibel.
Dazu bitte die Regular-Base187 auswählen.

Wenn ihr den PADH122-Motor nutzen wollt, müssen die ersten fünf Stellen der Seriennummer wie folgt aussehen:

N4GEX - German
N4GPX - EU
N4GNX - US


Man erkennt ihn leicht an der veränderten Optik. Beim alten Hinterrad war das Ventil auf derselben Seite wie das Motorkabel.
Beim aktuellen Motor (PADH/PAAH 122) sitzt das Ventil auf der gegenüberliegenden Seite.

Aktuell werden auch keine CST-Reifen mehr verwendet.
Der aktuelle G30D kommt mit Pneus der Marke YuanXing (GREEN TIRE) in der bekannten Größe 10" 60/70-6,5 daher.

Motor.png


Falls beim G30/D eine restriktive DRV 1.7.x installiert ist geschieht das über die aktuelle SHU-App (v 2.6.1) in zwei einfachen Schritten:

071.jpg
072.jpg


Beim Fehlschlag bleibt eurer Roller immer noch funktionstüchtig.

Generell sind alle DRV-Versionen unter 1.8.3 und BLE-Versionen <1.1.7 beim Ninebot Max ohne Einschränkungen mit dieser Anleitung kompatibel.
Falls nicht, bitte zusätzlich "BLE" herabsetzen, danke. Mehr dazu hier.

Falls ihr es euch nicht zutraut bei 1.7.3+> (Darüber) "downzugraden", könnt ihr die Hilfe anderer wahrnehmen.



Erforderliche Versionen zur Befolgung der Anleitung für den Ninebot Max: DRV 1.7.3 oder niedriger, sowie BLE 1.1.7 oder niedriger.



Beim Ninebot G2 muss eine modifizierte DRV-Firmware über ST-Link aufgespielt werden damit die Anleitung befolgt werden kann. Mehr dazu hier.

1725794480090.png

Die Telegram-Gruppe findet ihr hier.
(Quelle der Nachricht der SH-Gruppe)

Letzteres bietet der Entwickler exklusiv für den G2 eine Alternative.

Ihr teilt Ihm die UID (Eine einzigartige Nummer des Controllers) mit und ihr werdet dann von Ihm eine modifizierte DRV-Firmware erhalten.

068.jpg
069.jpg
070.jpg


Diese findet ihr in der SHU-App über: Drei-Punkte-Menü > "Hardware Details"

Von dort aus kann die UID angezeigt (Show UID) und sowohl kopiert (Copy UID) werden.

Diese teilt ihr Ihm mit.

Bitte schreibt Ihm ausschließlich in Englisch an. Außerdem zusätzlich um Geduld bei der Rückantwort, da viele Anfragen deswegen stattfinden werden.

Es kann auch vorkommen, dass die Anfragen auf Grund hoher Nachfrage vorerst nicht bearbeitet werden. Schaut euch in der Gruppe nach dem Stand um.


Die modifizierte DRV-Firmware kann über den Reiter "Flash" > "Load from File" ausgewählt werden und anschließend über "Start Flash" aufgespielt werden.

Im Anschluss könnt ihr dann die Anleitung befolgen.



Erforderliche Versionen zur Befolgung der Anleitung für die unterstützten Xiaomi's: BLE 1.5.5 oder niedriger, sowie die DRV je nach Controller, wie unten aufgelistet.

Die Controller der Revision 3.0 (STM) sind grundsätzlich kompatibel mit dieser Anleitung.

Controller der Revision 3.1 (GD32) nicht niedriger als: DRV 3.1.9 (1 S), DRV 2.4.7 (Pro 2), DRV 2.4.2 (Lite und Essential) oder DRV 0.1.5 (Mi 3).




In dieser Anleitung wird mit einem Ninebot G30D gearbeitet, wo andere Versionen zur Verfügung stehen.

Bevor mit dem Rollertuning begonnen wird, bitte diese Infos in Ruhe lesen und den Haftungsausschluss der Nutzungsbedingungen - Pkt.8 beachten!
Bitte beachtet auch "Firmware-Distanzierung ❌ Warum RP keine Firmwares hostet..."

Begriffserklärung & Vorwort
  • Custom = selbstgemacht/modifiziert
  • Firmware = Betriebssoftware
  • CFW = Custom FirmWare = modifizierte Betriebssoftware
  • OFW = Original FirmWare = unveränderte Betriebssoftware
  • SHFW = Scooter Hacking FirmWare = mod. Betriebssoftware mit Möglichkeit von Echtzeiteinstellungen (on-the-fly)
  • BLE = Bluetooth/Dashboard-Einheit bzw. deren Firmware (Teil 1 - gleichzeitig Eingabegerät)
  • ESC / DRV = Haupt/Motorcontroller bzw. dessen Firmware (Teil 2)
  • BMS= Battery-Management-System bzw. dessen Firmware (Teil 3)
  • Alle drei Teile müssen funktionieren und kommunizieren können, damit der E-Scooter startet!
  • KERS = Kinetisches EnergieRückgewinnungsSystem



Wir beschäftigen uns mit der SHFW, die über SHU verfügbar ist. Die App, sowohl auch die Firmware wurde von den Kollegen von ScooterHacking bereitgestellt.
Deren Arbeit ist sehenswert, ihr könnte gerne den Mitwirkenden einen Kaffee spendieren. Sie werden sich bestimmt freuen!

Diese Anleitung basiert auf bereits bestehendes Grundwissen von dieser Anleitung (MAX-Anleitung) sowohl auch ebenfalls dieser App (SHU).

Nachdem ihr euch beides durchgelesen habt, können wir uns nun weiter mit der Thematik rund um SHFW befassen und was diese anders macht als die vorherigen üblichen CFW-Generatoren:

  • Es werden keine einzelnen Dateien heruntergeladen und auf dem Handy abgespeichert und dann geflasht. Dies ist so, da SHU die SHFW aus einer Cloud von ScooterHacking bezieht und diese herunterladet. Ihr müsst nur tippen, mehr nicht.​

  • Alle neuen Einstellungen müssen ab sofort nicht mehr, wie zuvor über eine CFW auf den Scooter geflasht werden.
    Ihr ändert die Einstellungen auf der SHU-App auf eurem Android-Gerät und diese werden unmittelbar (in Echtzeit) an die SHFW zum Scooter übermittelt.​

  • Die Ampere sind nun "echte" Ampere und keine ungefähren Angaben von Ampere-Werten. Werden 25A eingestellt sind es 25A. Nicht mehr oder weniger, wie vorher gehabt. Dies hat den Vorteil, dass Ihr nun mehr Anzug habt. Es werden max. 32A empfohlen, da die Kabel nur so viel nominell aushalten.​

  • Im folgenden Bild sind die Phasenstecker des Motors zu erkennen, die aufgrund einer zu hohen thermischen Belastung geschmolzen sind.
    phasenstecker-png.13795

    Daher unser ausdrücklicher Appell an euch, niemals bei den Ampere-Werten übertreiben!

  • Die Spitzenleistung bei SHFW beträgt dauerhaft 65A. (Current-Limit) Bei 48V/13S werden, wie in der Anleitung empfohlen, max. 27A eingestellt.

  • Die Stecker können durch das Löten auf MT60 o. auf XT150 aufgerüstet werden. Die MT60 halten 30A nominell und 60A Spitze aus, die XT150 60A nominell und 150A Spitze aus. Das heißt jedenfalls nicht, dass ihr gleich mit den Werten übertreiben könnt, dafür immer auf die empfohlenen Werte zurückgreifen, um Schäden zu vermeiden.​

  • Wer auf der sicheren Seite sein will, dann:
    36V: Einen Wert zwischen 25A und max. 30A einstellen.
    48V/13S: einen Wert von 21A und max. 24A einstellen.

    E-Serie: Einen Wert von 20A einstellen. Die Original-Firmware nutzt diesen Wert.
    Nutzer der SHFW auf den "sehr ähnlichen" ESx-Modelle nutzen hier lt. Developer Werte bis 27-28A. Ob die anderen Komponenten der E-Serie höhere Stromstärken schadlos überstehen, ist uns leider nicht bekannt.
    Ihr seid selbst für die Werte verantwortlich, die ihr im Endeffekt einstellt.


  • SHFW funktioniert auf DPC (Direct-Power-Control) o. Speed-Based (Geschwindigkeiten-basiert) und ihr könnt Kurven in vier Schritten einstellen. Diese können linear o. quadratisch sein, wie ihr wollt.​
  • Bei SHFW wurde KERS komplett entfernt. Dies schont den Controller und sorgt dafür, dass ihr euren Controller nicht aus Versehen beim Bergabbremsen o. anders kaputt macht. Wenn ihr dennoch Regenerierung feststellen könnt, kommt es vom Leerlauf. Dieser Wert ist im Wesentlichen gering und nicht gefährlich. Falls ihr dennoch KERS behalten wollt, dann bleibt bei der alten CFW der MAX-Anleitung. Ihr könnt jederzeit downgraden.​
  • Bitte behaltet noch im Kopf, dass diese CFW bzw. App nicht immer fehlerfrei ist, wo sich der Entwickler Feedback wünscht. Diese könnt Ihr hier auf Englisch bei Telegram oder im Discord schreiben im #SHFW-Kanal (FW) / #Utility (App), soweit ein Bug, der noch nicht bekannt ist, entdeckt wurde.​



1. Installation der SHFW

Version 2.2.1_ScooterHacking Utility.jpg


Zuerst stellen wir mal sicher, dass ihr die richtige SHU-Version auf eurem Android-Gerät installiert habt.
Ab der =>Version v2.6.1<= könnt ihr nach diesem Tutorial arbeiten.

Hinweis:
Falls ihr die App nicht mehr über den Google PlayStore erreichen könnt, hilft hierbei eventuell ein kleiner Trick. Im Opera Browser lässt sich ein VPN aktivieren.
Wenn diese Option aktiviert ist, bekommt ihr die ScooterHacking Utility auch wieder im Google PlayStore angezeigt.
Zur Not gibt es die Datei aber auch immer noch als APK.

PlayStore.png


Die empfohlene Installationsmethode für die ScooterHacking Utility ist und war immer die offizielle APK-Datei.
Wenn ihr euch bei den Bezugsquellen nicht auf Drittanbieter wie z.B. den Google PlayStore verlassen wollt, wird durch die Verwendung der APK-Version sichergestellt,
dass zukünftig die Updates schneller und mit weniger Einschränkungen bei euch ankommen und es schwieriger wird die App zu blockieren.

Die APK-Version aktualisiert sich automatisch, sodass es keinen Vorteil gibt, die Google PlayStore-Version weiterhin zu nutzen.
Wenn ihr noch nicht zur APK-Version gewechselt habt, empfehlen wir euch dringend, dies so bald wie möglich zu tun.

Stellt sicher, dass ihr die App nur über den offiziellen Link unter https://utility.cfw.sh herunterladet. Dieser Link bietet euch nun beide Download-Optionen.
Haltet euch zu eurer eigenen Sicherheit von Mirrors von Drittanbietern fern, da die App mit bösartigem Code infiziert sein könnte
und der Self-Updater möglicherweise nicht richtig funktioniert!

The preferred installation method for ScooterHacking Utility is, and always has been from the official APK file.

Not relying on third-parties such as Google for distribution ensures that updates are shipped faster, with less restrictions on features and content, and makes it harder for the app to be blocked in a particular jurisdiction.

The APK version is able to self-update, so there is no upside to keep using the Google Play version. If you haven't switched already, I'd highly recommend you to do it as soon as possible. Make sure you only download the app from the official link at https://utility.cfw.sh.

This link now gives you both download options. Stay away from third-party mirrors for your own safety, as the app could be infected by malicious code and the self-updater might not work properly!

Verbindungsaufbau.png
Ohne SHU.png
Not Detected.png
Versionen_ScooterHacking Utility.jpg


Nun stellt ihr wie gewohnt eine Verbindung mit eurem Scooter her (in diesem Fall ein G30D).
Die SHU hat einen neuen Menüpunkt "CONFIG" erhalten. Wenn man diesen Menüpunkt nun im Scooter-Serienzustand ansteuert,
erkennt die App automatisch, dass ihr noch keine SHFW auf eurem Scooter habt, und schlägt euch vor diese nun zu installieren/upzudaten.

Die hier dargestellten FW-Versionen BLE1.1.3 und DRV1.2.6 und BMS 0.0.0 sind meine Versionen.
Es wird keine BMS-Version bei mir angezeigt, da ich einen Akku eines Drittanbieters nutze. Eure muss nicht zwingend mit meiner übereinstimmen.

Falls ihr die Versionsnummern 1.7.3+ bei DRV o. 1.1.7+ BLE (vielleicht durch ein Update mit der Ninebot-App) auf eurem Scooter habt, solltet ihr zuerst den Scooter downgraden.

Das geschieht mit der neusten SHU in der Regel automatisch. Man bekommt einen Hinweis auf die restriktive OFW
und die Downgrade-Option dazu angezeigt. Man kann aber auch nach =>diesem Tutorial<= manuell das Downgrade durchführen.

Hier steht eine Version zur Auswahl, die auf DRV187-Version basiert:

Regular-Base187-v3.9.1 = DRV1.8.7

Nehmt die aufgelistete Version diese wird dann in den Flash-Dialog übernommen.

Die Anzeige wechselt jetzt von "n/d" auf die von euch angewählte SHFW-Version.

Auswahl SHFW.png
100 Prozent SHFW.png
Checking SHFW.png
SHFW successfully.png


Wenn eure Auswahl so stimmt, betätigt ihr den Button "START FLASH" und die SHFW wird auf den Scooter geflasht.

Dabei unbedingt in unmittelbarer Nähe des Fahrzeugs bleiben bis der Flashvorgang abgeschlossen ist (100%).

Anschließend überprüft SHU die SHFW-Installation und meldet im Idealfall "SHFW installed successfully".

Herzlichen Glückwunsch! Ab sofort könnt ihr über das "CONFIG" Menü euren Scooter in Echtzeit einstellen.


1.1 SHFW - Deinstallation/Entfernen der SHFW

Wenn ihr, nachdem ihr die SHFW installiert, habt, doch wieder zurück auf eure bisherige DRV-Version wechseln wollt, lässt sich die SHFW natürlich auch wieder entfernen.
Dazu wählt ihr im Reiter "FLASH" der SHU die Option "LOAD FROM REPO" und navigiert dort in der DRV-Auswahl auf die von euch gewünschte DRV-Version.

Wenn ihr diese dann auf den Scooter flasht, ist die SHFW wieder Geschichte.
Achtet aber unbedingt darauf, ob zuvor auch der richtige Scooter in der SHU erkannt wurde und ob die gewählte DRV-Version auch tatsächlich zu eurem Roller passt.

Im =>Firmware-Index von ScooterHacking<= könnt ihr nachsehen, ob es die von euch gewählte Version auch tatsächlich für euren Scooter gibt.



2. SHFW - Profile umbenennen

13.jpg
01Profil1.png
02 Manage Profil.png
03 Manage Profil.png
04 Rename.png


Bei der erstmaligen Nutzung erscheint ein Hinweis, dass noch keine Kurven eingestellt wurden.

Diese werden wir aber nun einstellen, also schließen wir den Hinweis, in dem wir außerhalb des Fensters tippen.

SHU arbeitet mit Profilen.
In jedem Profil könnt ihr unterschiedliche Einstellungen festlegen und diese im späteren Verlauf sogar ohne einen Neustart des Scooters wechseln. Aber dazu kommen wir später.

Im CONFIG-Menü seid ihr automatisch im "Profile 1". Diese Bezeichnung lässt sich nach eigenen Wünschen anpassen.

Dazu wählen wir zunächst den Button "MANAGE PROFILE" an. Hier hat man drei Auswahlmöglichkeiten:

Rename: Umbenennen des Profils.
Copy into: Profileinstellungen in ein anderes Profil kopieren.
Reset: Alle Einstellungen des Profils zurücksetzen.

In unserem Beispiel benennen wir das Profile 1 zu Stock um. Durch Betätigen des "Rename" Buttons öffnet sich das Rename-Eingabemenü.

Hier löscht ihr nun den Namen "Profile 1" und tippt an gleicher Stelle eure Wunschbezeichnung ein.
Bestätigt wird diese Eingabe mit dem "RENAME" Button, der Button "CANCEL" bricht den Vorgang ab.



3. SHFW - Throttle (Gasgriff)

01 Throttle.png
02 Throttle.png
03 speedbased.png


Hier kommen wir zur Möglichkeit die Endgeschwindigkeit, die Ampere-Werte und die Art der Gaskurve der verschiedenen Modi (Eco, Drive, Sports) festzulegen.

Wichtig: Im Zustand direkt nach der Installation stehen diese Werte und Regler noch auf null. Das heißt, bevor ihr nichts eingestellt habt, fährt euer Scooter auch noch nicht!

In unserem Beispiel stellen wir das Profil "Stock" im Sports-Modus so ein, als wäre der Scooter absolut unverändert bzw. im "Auslieferungszustand.

Diese Einstellungen können wir für jeden Modus separat bestimmen.

Im Auslieferungszustand funktioniert der Scooter geschwindigkeitsbasiert (Speed-based) und hatte im Sports-Modus 25A inkl. Toleranz eine Endgeschwindigkeit von ca. 21 km/h. Diese Werte übernehmen wir auch so.

Nur schon mal zur Info: An dieser Stelle können wir auch leistungsbasiert DPC (Power-based) arbeiten.
Diese Einstellung werden wir später noch für das zweite Profil benötigen. Dort werden wir auch auf die verschiedenen Möglichkeiten näher eingehen.


Kurven können je nach Belieben automatisch linear bzw. quadratisch oder manuell per eigene Werte gestaltet werden.
Bei Speed-Based (Geschwindigkeiten-basiert) gibt es noch die Auswahl, die Beschleunigung der Kurve zu verfeinern. In DPC (Leistungsbasiert)
könnt ihr die Kurve sanfter o. ansprechbarer machen.

Dafür entscheidet ihr euch zwischen den Wert 0.1-1.0 nach dem Klicken von "BUILD CURVE", das beeinflusst, wie die Beschleunigung agieren wird.

080.png


Für den Ninebot G2 könnt ihr diese Werte als Referenz zur Werkseinstellung nehmen.

3.1 Erweiterte Einstellung des Gasgriffes

44.jpg


Der erste markierte Schieber erlaubt eine bessere Bremse und Beschleunigung bei gleicher Stromstärke (Ampere).

Bei "Acceleration Boost" wird die niedrige Drehzahl des Motors beim Beschleunigen angehoben.

Der Nebeneffekt dabei ist, dass anfangs mehr Energie verwendet wird, da die Schere zwischen Anfang und Ende der Beschleunigung kürzer ist.

Bei der zweiten markierten Option "Motor PWM Overmodulation" könnt ihr hier entscheiden in welchem Fahrmodi es aktiviert sein sollte.

Vom Prinzip ähnelt es sich mit der Feldschwächung was im Endeffekt eine höhere Höchstgeschwindigkeit erlaubt, da die Spannung bzw. die Drehzahl. des Motors dadurch erhöht wird.

Dabei werden die Wellen der drei Phasen des Motors über den Controller so moduliert, dass es über die üblichen 0-100% Tastgrade (Duty Cycle) läuft.
Kurzgesagt werden die Wellen so verzerrt das eine höhere Spannung ergo eine höhere Höchstgeschwindigkeit ergibt.

Die Nachteile lassen sich mit der Feldschwächung vergleichen. (Siehe 6.)



4. SHFW - Brake (Bremse)

057.jpg


Bei der Bremse habt ihr freie Wahl bis zu 55A, allerdings reicht in meisten Fällen der Standardwert von 35A aus.

Die Kurven können wie beim Gasgriff (Siehe 3.) nach eurem Belieben eingestellt werden.

Ebenfalls können wir hier unter "Autobraking" wie viele Ampere für die automatische elektronische Bremse während des Freilaufes einstellen.

077.png


Beim Ninebot G2 empfiehlt es sich die E-Bremse wie aufgelistet einzustellen, um dieselbe Bremsleistung wie vorher zu erreichen.

4.1 Erweiterte Einstellung der Bremse

058.jpg


Bei dem ersten markierten Schieber könnt Ihr entscheiden ab welcher Geschwindigkeit die E-Bremse aktiv sein sollte. Einstellbar von 0-10 km/h.

Der zweite markierte Schieber setzt fest welche Höchstgrenze in Ampere beim Bremsen sein sollte. Einstellbar von 30-100 A.

Der dritte markierte Schieber "Brake Boost" stellt fest wie stark die Bremse agieren soll. Dies ergibt insgesamt eine stärkere Bremsleistung der E-Bremse.

Hierbei ist diese Einstellung mit Vorsicht zu genießen, da es verglichen mit dem Nebeneffekt des "Acceleration Boost" im Umkehrschluss mehr Strom in die Komponenten des Rollers zurückfließen, die Schäden hinterlassen könnten. (Ähnlich wie bei "KERS")

Einstellbar von off/aus (0%) bis zu 100%.



5. SHFW - Motor start speed (Startgeschwindigkeit des Motors)

46.jpg


Diese Einstellung legt die Geschwindigkeit fest, bei der euer Scooter den Motor starten darf.

Wir empfehlen den "Motor start speed" nicht so zu konfigurieren, dass der Scooter aus dem Stand (0km/h) startet.

Das kostet nur unnötig Ressourcen. In unserem Beispiel geht es hier bei 5 km/h los.

Darunter kann über einen Schalter (enable negative MSP) ein negativer Startgeschwindigkeit des Motors ermöglicht werden.



6. SHFW - Field Weakening (Feldschwächung)

Field Weakening_ScooterHacking Utility.jpg


Kurzgesagt ermöglicht diese höheren Höchstgeschwindigkeiten auf Lasten der Effizienz und der Beschleunigung des Rollers.

Ich würde sie, wenn ich die Funktion in Worte fassen müsste, den Turbo für den Scooter nennen.
Bitte gehe hier mit Bedacht vor und lies dir die Hinweise des ScooterHacking Teams durch.
Viel nützt nicht immer viel, deswegen immer klein anfangen.

Haftungsausschluss: Dier hierzu einzustellenden Werte können deinen Scooter dauerhaft schädigen.

Wenn ihr risikofreies Fahren wollt, empfiehlt sich diese Einstellung zu überspringen.

Die Feldschwächung funktioniert grob gesagt so: Der Motor hat von Werk aus eine max. Drehzahl, die eine Höchstgeschwindigkeit ermöglicht.

Mit der Feldschwächung wird dieser vorhandene Widerstand geschwächt, was im Umkehrprinzip eine höhere Drehzahl bzw. Höchstgeschwindigkeit erlaubt.

Je mehr Leistung (Current/Ampere) in diese Feldschwächung dazugegeben wird, desto weniger Widerstand gibt es, was eine noch höhere Höchstgeschwindigkeit als von Werk
erlaubt.
Durch das Feldschwächen wird also ein hohe(r) Drehzahl/Voltwert generiert, was zu schnelleren Geschwindigkeiten führt.

Vorteil: Höhere Geschwindigkeiten, durch die im Motor höhere generierte Motordrehzahl bzw. Voltwert dank der Feldschwächung

Nachteil: Die Beschleunigung und die Effizienz leidet bei Aktivierung der Feldschwächung, sowie die Komponenten.

Diese können sich stärker als üblich erhitzen und schneller an die Grenzen kommen, da mehr Leistung als vorhergesehen in den Motor "eingespritzt" wird, um höhere Höchstgeschwindigkeiten zu erzielen.

Deshalb bei Aktivierung dieser Einstellung die Motortemperatur (Per Hand max. 5 Sekunden o. Laserthermometer max. 60°C~) im Auge behalten.
Des Weiteren in regelmäßigen Abständen die Motorsteckern prüfen.

Es empfiehlt sich dieses Thema hier einzulesen, wenn ihr mehr über die zu einstellenden Werte wissen wollt.

Generell gibt es keine "sicheren" Werte, da sich es sich bei der Feldschwächung um fluktuierende Werte handelt, die sich stetig ändern, da diese obendrauf der normalen Werte addiert werden. Es gilt jedoch immer: Weniger ist mehr.

Wenn ihr bereits einen 13S Mod auf einem nicht modifzierten ESC im Max habt, wird geraten, diese Option auszulassen, da die zusätzliche genierte Voltzahl bei der Feldschwächung im vollen Akkuzustand von 54,6 Volt nah an die 63V Grenze kommen kann, was zu Schäden führen kann.

Schließlich wird zusätzlich mehr Akku verspeist, da eine höhere Geschwindigkeit als üblich gefahren wird.

Falls ihr einen v1.0 ESC (alter ESC im Metallgehäuse) in eurem Max habt sind ordentliche Phasenstecker (Amass MT-60 o. XT150) für das Field Weakening ausprobieren sehr empfehlenswert. (Siehe Anfang des Beitrages)

Wer es noch genauer wissen möchte, kann hier in der Erklärung von CaptainJack CaptainJack weiterlesen.

Nun zur Konfiguration:

Die Konfiguration des Ganzen ist aber recht simpel.

Ich habe mir beispielsweise den Sports-mode im Profil 2 für meinen Test ausgesucht.

Als Throttle mode wählst du zwischen Speed based und Power-Based (DPC) aus.
Hier nun zunächst einen Ampere-Wert (in meinem Fall 28A) für die erste Testfahrt einstellen.

Ich habe mit einem PADH122 Motor getestet und darauf beziehen sich auch die Werte in den Screenshots.

Jetzt fährst du mit dem Scooter eine Testrunde und ermittelst die maximal zu erzielende Höchstgeschwindigkeit.
In meinem Fall waren das ca. 30 km/h.

Nun wechselst du auf die Option "Field Weakening".

FWK_ScooterHacking Utility.jpg


Unter "Enable by mode" stellst du ein, welcher Modus nun zusätzlichen "Boost" erhalten soll.
Ich habe mich für den Sports-Mode entschieden und wähle daher "Enable in Sport mode" aus.

Nun habe ich zuvor ermittelt, dass mein Scooter ohne Field Weakening auf 30 km/h gekommen ist.

Von diesen 30 km/h ziehst du nun 7-10 km/h ab und stellst diesen Wert bei "Start speed" ein.

42.jpg


Hier sehen wir die weiteren Optionen von der Feldschwächung.

Um diese einzustellen, beginnen wir dazu hier bei einem sehr niedrigen Initial Current Wert (1 A) und steigere zunächst vorsichtig und in kleinen Schritten den Variable Current Wert.

Dazwischen immer wieder eine Probefahrt einbauen und bitte nicht übertreiben.

Die im Screenshot zu erkennende Wertenhabe ich mit einem alten ESC und dem PAAH122 / PADH122 Motor ermittelt.

Hier erfolgt die Einstellung des maximalen Drehmoments "Iq" und max. Feldstärke "Id" der Feldschwächung.

Standardwerte:

Maximaler Drehmomentwert Iq: 65 A
Maximale Wert der Feldstärke Id: 30 A


An die folgenden Werte "Initial current" und "Variable current" solltest du dich langsam herantasten.

Beginne dazu bei einem sehr niedrigen Initial current Wert (1A) und steigere zunächst vorsichtig und in kleinen
Schritten den Variable current Wert.

Dazwischen immer wieder eine Probefahrt einbauen und bitte nicht übertreiben.

Die im Screenshot zu erkennende Werten habe ich mit einem alten ESC und dem PAAH122 / PADH122 Motor ermittelt.

Field weakening auf 20 km/h mit 2A 1000mA / km/h stellen und mal bergab fahren...

079.png


Diese Einstellungen werden für den Ninebot G2 empfohlen.



7. SHFW - Cruise control / Tempomat

12 Cruise Control.png
13 Cruise Control Settíngs.png
14 Cruise Control control beep2.png
14 Cruise Control control beep.png


Die Funktion Cruise Control bietet wieder vier verschiedene Einstellungen für den Tempomaten:

Off: Aus
Time: Nach einer von euch festgelegten Zeit setzt der Tempomat ein
Single tap: Durch einmaliges Tippen auf den Gashebel setzt der Tempomat ein
Double tap: Durch zweimaliges Tippen auf den Gashebel setzt der Tempomat ein
Increase/decrease CC speed with throttle:
Bei unter 30% für 0,75 Sekunden reduziert sich die Geschwindigkeit um 1 km/h.
Bei über 50% für 0,75 Sekunden steigt sich die Geschwindigkeit um 1 km/h.
Gilt nur in Speed-based. (Geschwindigkeitenbasiertes Gas)
Speed-based CC in DPC mode: Hier bringt der Tempomat den Scooter dazu auch die Geschwindigkeit im leistungsbasierten Modus zu halten.

Jetzt lassen sich noch die Signaltöne beim Einsetzen (engaging) und Lösen (disengaging) des Tempomats festlegen.

Folgende stehen zur Auswahl:

None: Deaktiviert jegliche Signaltöne
Single: Einmaliger kurzzeitiger Signalton
Long: Ein langanhaltender Signalton
Double: Doppelter kurzzeitiger Signalton
Extra long: Ein sehr langer ertönender Signalton

36.jpg


Bei Aktivierung wird der Position des Gasgriffes anstatt der Geschwindigkeit genutzt.

Damit agiert es wie der "DPC"-Gasgriff.



8. SHFW - Modes

15 Modes.png
57.jpg


Hier bestimmt ihr, in welchem Modus sich der Scooter beim Einschalten befinden soll.

Es stehen folgende Auswahlmöglichkeiten zur Verfügung:

Drive: Beim Einschalten ist der Roller im "D" Drive-Modus
Eco: Beim Einschalten ist der Roller im "ECO" Eco-Modus
Sports: Beim Einschalten ist der Roller im "S" Sports-Modus
Last: Beim Einschalten ist der Roller im letzten zuvor genutzten Modus

Disable modes (S mode only): Alle anderen Modi sind nicht mehr anwählbar, der Scooter befindet sich ausschließlich im Sport-Modus.



9. SHFW - Lights

02 Brake light.png
59.jpg


Die Beleuchtung des Scooters kann hier nach den eigenen Wünschen konfiguriert werden.

Hier stehen euch nun folgende Dinge zur Auswahl:

Default: Das Bremslicht blinkt, wenn die Bremse gedrückt wird mit der voreingestellten Blinkfrequenz. (Brake light flash speed)
Static: Das Bremslicht ist an den Frontscheinwerfer gekoppelt. Ist dieser an, ist es das Rücklicht auch und umgekehrt.
Reversed: Das Bremslicht blinkt mit der voreingestellten Blinkfrequenz (Brake light flash speed) und geht beim Betätigen der Bremse aus.
Strobe: Einen Stroboskopeffekt beim Bremslicht mit der voreingestellten Blinkfrequenz. (Brake light flash speed)
German: Das Bremslicht ist dauerhaft an, nur der Hauptscheinwerfer lässt sich ein- und ausschalten.
Car: Das Bremslicht zeigt ein Verhalten wie beim Auto, zieht man die Bremse geht das Bremslicht an. (wie beim MAX G2)

CAR

Um dieses Verhalten auch bei eingeschaltetem Licht sichtbar zu machen, kann man in den "Global settings / System settings"
den Regler unter "Taillight brightness" auf ca. 35% setzen.

Ich bevorzuge allerdings immer noch die Einstellung "Static" mit einer Blinkfrequenz von 255. (DE)

Always active brake light: Dieser Schalter lässt das Bremslicht dauerhaft leuchten. Es ist nicht abschaltbar.
Always on headlight: Der Hauptscheinwerfer ist dauerhaft an und lässt sich nicht mehr abschalten.

078.png


Beim Ninebot G2 sehen die Werkseinstellungen des Lichtes so aus.



10. SHFW - User Interface

User Interface 01.png
User Interface 02.png
User Interface 03.png


Es geht hierbei um die Anzeigemöglichkeiten des Dashboards. In der Regel wird hier lediglich die Geschwindigkeit angezeigt.
Mit einer CFW konnte man sich sogar die Akkuanzeige <2km/h anzeigen lassen. Alles Schnee von gestern.

Jetzt lassen sich diverse Dinge auf der Anzeige darstellen.

Main dash data: Hier wird in der Regel die Geschwindigkeit angezeigt. Ich erinnere kurz an unser Stock-Profil, welches ja den Serienzustand
der Roller nachahmen soll. In diesem Profil belegen wir in unserem Beispiel auch nur diese Anzeige mit der Geschwindigkeitsanzeige in km/h.
In dem nächsten Profil, was wir im späteren Verlauf zusammen anlegen werden, sind uns hier alle Möglichkeiten offen. Diese werden in den folgenden
Screenshots gezeigt.

Idle dash data: Hier bestimmen wir, was das Dashboard des Scooters anzeigen soll, wenn dieser sich im Stillstand befindet <2km/h.
Nach der Installation der SHFW ist hier "Battery level" voreingestellt, was neuerdings immer wieder zu Verwirrungen führt.
Ist der Akku zu 100% aufgeladen, steht im Display "A0", da das Dashboard keine dreistellige Zahl anzeigen kann.

Beep type when entering profile: Hier könnt ihr das Piep-Signal bestimmen, welches der Scooter beim Profilwechsel ertönen lässt.
Die Auswahl kann zwischen keinem (None), einem Einzelton (Single), einem langen Ton (Long), einem Doppelton (Double) und einem
extra langen Ton (Extra long) getroffen werden.

Active Profile: Zeigt euer derzeitiges aktives Profil auf dem Dashboard an.

Seit neustem lassen sich die verbleibende Reichweite darstellen. Dafür "Rem. Mi.(km) BETA" auf die Anzeigenart die ihr wollt.

073.jpg
075.jpg


Beim Ninebot G2 stehen ebenfalls die Anzeige der Motor- und Controllertemperatur zur Verfügung. Diese könnt Ihr nach Belieben auswählen und einstellen.

048.jpg


Alternating dash data:
Für diese Zusatzanzeige nutzt die SHFW eine rote Darstellung der Werte, die normalerweise eigentlich Fehlercodes anzeigt.
Diese wird im Wechsel mit der unter Main dash data ausgewählten Anzeige dargestellt.

Battery bar data:
Diese Zusatzanzeige nutzt SHFW für die Darstellung von Werten in Balken beim Akkustand des Dashboards.
Hierbei kann man auch z. B. anzeigen lassen wie viele Ampere beim Fahren verbraucht werden.



11. SHFW - Global settings / Profile triggers

Profile triggers.png


Jetzt kommt der Clou an der ganzen Geschichte, auf die sicherlich alle GM-Freunde gewartet haben.

Ich greife nun mal etwas vor und zeige euch nun, wie das Ganze zum Schluss aussehen solle und erkläre euch auch weshalb.

Active profile: Hier stellt ihr das aktive Profil ein, dieses wechselt automatisch nach dem Neustart auf das "Applied profile at boot".

062.jpg
064.jpg

065.jpg
066.jpg


Applied profile on custom sequence: Ein Profil durch ein bestimmtes Muster per Eingabe des Rollers im Leerlauf aktivieren.

Es müssen mindestens 3 Eingaben ausgewählt damit diese Option genutzt werden kann.

Als Element können dazu Throttle (Gasgriff), Brake (Bremse), Button (simple press) (Knopf einfaches Drücken) oder Button (double press) (Knopf zweifaches Drücken) genutzt werden.

Applied profile at boot: Legt hier fest, mit welchem Profil euer Scooter sein soll, wenn ihr ihn einschaltet.

Applied profile at boot, brake pressed: Dieses Profil ist aktiv, wenn ihr den Scooter einschaltet und die Bremse dabei haltet.

Applied profile at boot, throttle pressed: Wenn ihr den Gashebel beim Einschalten des Scooters haltet, wird dieses Profil gebootet.

Applied profile at boot, throttle and brake pressed: Haltet ihr Gas und Bremse beim Einschalten gedrückt, seid ihr in diesem Profil.

Applied profile at brake and throttle press (1 sek): Wenn die Bremse und der Gasgriff für eine Sekunde gehalten wird löst es ein Profil aus.

Die nächsten beiden Einstellungen sind die neuste Errungenschaft, die mit der SHFW nun auf eurem Roller Einzug hält.

Applied profile at brake and main button press:

Wenn euer Scooter eingeschaltet ist und ihr drückt nun die Bremse und 1x kurz den Einschaltknopf,
landet ihr ohne einen Neustart des E-Scooters in dem hier zuvor eingestellten Profil.

Applied profile at brake and main button double press:

Wenn euer Scooter eingeschaltet ist und ihr drückt nun die Bremse und 2x kurz den Einschaltknopf,
landet ihr ohne einen Neustart des E-Scooters in dem hier zuvor eingestellten Profil.

Langsam kommt ihr nun auch dahinter, weshalb die GM-Geschichten nun endgültig antiquiert sein dürften und ins Museum gehören.
Ihr könnt ab sofort mit eurer echten Seriennummer den E-Scooter betreiben.

Diese wird zu keinem Zeitpunkt mehr auch nur temporär verändert oder gepatcht. Schaltet ihr euer Fahrzeug mit den hier gezeigten Einstellungen aus, so verhält er sich nach dem
Neustart wie ein Werksroller.

Möchtet ihr wieder etwas mehr Leistung generieren, haltet die Bremse gedrückt und betätigt 2x kurz den Einschaltknopf und der E-Scooter geht wieder ab wie Schmidt's Katze. Natürlich nur, wenn es auch gewünscht ist...

Aber da war doch noch was... Wir haben eigentlich noch kein zweites Profil angelegt....



12. SHFW - Das zweite "verschärfte" Profil anlegen

Profile 2 Rename.png
Profile 2 Rename Speed.png


Eigentlich fangen wir ähnlich an wie unter Punkt 2 beschrieben. Erstmal scrollen wir wieder ganz nach oben zum Profile Editor.
Dort müssen wir aber auf Profile 2 wechseln und benennen dieses zu Speed um.

Dazu klicken wir auf den Bereich, wo unser erster Profilname "Stock" steht. Es öffnet sich daraufhin ein Menü, in dem ihr nun auf den Eintrag "Profile 2" switchen könnt.
Wieder drückt ihr auf "MANAGE PROFILE" und nutzt dort auch wieder die "Rename" Funktion, um den Profilnamen auf "Speed" umzubenennen.

In diesem Profil werden wir nun zu Demonstrationszwecken die Einstellungen des Scooters etwas bissiger machen.
Wir legen dazu unter "Throttle and brake" erstmal die gewünschte Endgeschwindigkeit fest.

Hier wird euer Serienfahrzeug maximal ca. 27 km/h erreichen und ein Scooter mit Gen.2 Hinterrad etwas mehr als 33 km/h.

Nun wählen wir unter "Throttle mode" den leistungsbasierten Modus "Power-based (DPC)" aus.
Hier können wir entweder auf der Einstellung "AUTO" bleiben und eine hinterlegte DPC-Kurve nutzen oder mit "ADVANCED" eigene Werte in vier Schritten festlegen.

Diese können wir von Hand eingeben oder die Regler von Hand verschieben. Dazu müssen wir aber erst die "Prevent graph touch input" ausschalten.
Nun lassen sich die Regler der Kurve auch verschieben.

Speed & DPC.png
DPC Kurve 01.png


Um jetzt nicht wieder alles zu wiederholen, stellt ihr den Rest des Profils so ein, wie ihr es auch schon beim Stock-Profil (Profile 1) getan habt.
Die Einstellungen könnt ihr ganz nach euren Wünschen wählen.

Wenn ihr komplett fertig seid, vergesst bitte nicht die Einstellungen unter "Global settings/Profile triggers" die Einstellungen wie im Screenshot unter Punkt 10 zu setzen.

Fast fertig. Ein paar Einstellungen gibt es noch.



13. SHFW - System settings

System settins.png


Unter den "Shutdown time settings" lässt sich die Zeitspanne bestimmen, nach der sich der Scooter automatisch abschaltet (Auto-shutdown-delay).
Auch die Zeitspanne bis zum automatischen Abschalten, wenn der Scooter verriegelt ist, lässt sich hier einstellen (Auto-shutdown delay when locked).

Bei "Global light settings" kann man die Helligkeit des Bremslichts von 0% bis zu 100% einstellen.
Darunter durch den Schalter auch, dass das Bremslicht nicht beim auto. Bremsen aktiviert wird.

Im Sektor "Version spoofing" kann unter "Spoof BLE version" (Dashboard) und "Spoof BMS version" (BMS/Batterie) über einen Schalter die Versionsnummer vorgegaukelt werden. Diese Einstellung ist nützlich, um zukünftige Updates über offizielle Apps zu vermeiden.

Die "Other system settings" erlauben eine Fehlerunterdrückung "Error suppression" ähnlich wie der Stealth-Mode bei den alten CFW.

"Disable charging mode" Erlaubt die Nutzung eines Zusatzakkus. Bitte diese Option aktivieren, falls ihr einen habt.

Diese und die folgende Einstellung "Max ADC" sollten nicht von Euch geändert werden, wenn ihr keinen genauen Plan von dieser Materie habt.

38.jpg


Diese Funktion bietet sich an, falls euer Roller einen Zündschlüssel installiert hat und ihr Konflikte mit SHFW vermeiden wollt.

Generell wird diese bei den meisten Nutzern ausgelassen, da sie keinen haben.



14. SHFW - Wheel size

Wheel size.png


Hier lässt sich die Größe eurer Räder in Zoll/Inch einstellen/anpassen. Normalerweise sind es 10" Inch (Zoll) beim G30.

Bitte den Schalter "Enable new Max Motor (PxxH)" aktivieren, falls ihr einen neueren Max-Motor habt, damit er reibungslos funktioniert.

Wie dieser aussieht, ist am Anfang der Anleitung zu sehen.

39.jpg


Die erste markierte Option unter "Motor PWM Frequency" (Motorenfrequenz) beeinflusst wie laut, leise oder effizient der Motor o. Controller laufen wird.

Standardwerte:

16 kHz bei DRV-187 (G30)
12 kHz bei DRV-173 (G30)
8 kHz bei Xiaomi's

Info zu den Frequenzen:

Bei niedrigen kHz (8-12 kHz) wird der Controller weniger beansprucht dafür gibt es aber eventuell eine höhere Motortemperatur, bei Frequenzen zwischen 16-24 kHz läuft der Motor insgesamt effizienter im Lasten einer eventuell erhöhten Controllertemperatur. (Weniger kHz = Controller kühler - Motor wärmer u. lauter / Mehr kHz = Motor kühler u. leiser - Controller wärmer)

Grund für die erhöhten Controllertemperaturen bei höheren kHz sind, die erhöhten "Schaltungen", die den Controller mehr beanspruchen. Gleiches gilt umgekehrt für den Motor.

Die zweite markierte Option ermöglicht einen Freilauf bei deaktiviertem Motor. Der Motor wird ausgeschaltet, wenn der Gasgriff nicht betätigt wird.



15. Einstellung der Hallsensoren und PID (Geschwindigkeitseinstellung) - (Experten-Modus)

40.jpg


Mit dieser Einstellung lassen sich die Sensitivität der Sensoren des Gasgriffs und der Bremse zwischen 30 bis 210 einstellen.

Standardwerte beim Gasgriff (Throttle) u. bei der Bremse (Brake):

min. 55
max. 183




41.jpg


Ein PID-Regler (Proportional-Integral-Derivative) wird verwendet, um eine Regelgröße, wie die Geschwindigkeit eines Motors, zu regeln.
Der Regler basiert auf der kontinuierlichen Überwachung des Fehlerwertes zwischen der gewünschten Sollgeschwindigkeit und der tatsächlichen Ist-Geschwindigkeit des Motors.

Die drei Hauptkomponenten des PID-Reglers sind:

1. Proportionalanteil (Kp): Der Proportionalanteil berechnet die Ausgangsstärke des Reglers basierend auf dem aktuellen Fehlerwert.
Er verstärkt den Fehler proportional und erzeugt eine Reaktion, die proportional zur Größe des Fehlers ist. Ein höherer Kp-Wert führt zu einer stärkeren Reaktion auf den Fehler.

2. Integralanteil (Ki): Der Integralanteil integriert die vergangenen Fehlerwerte über die Zeit und verwendet sie, um den Ausgang des Reglers anzupassen.
Dieser Anteil wirkt gegen konstante Fehler, die durch den Proportionalanteil nicht vollständig beseitigt werden.
Ein höherer Ki-Wert verstärkt die Wirkung des integralen Ausgleichs.

3. Derivateanteil (Kd): Der Derivateanteil berücksichtigt die Änderungsrate des Fehlers. Er reagiert auf die Geschwindigkeit, mit der der Fehler sich ändert.
Der Derivateanteil hilft dabei, die Reaktion des Reglers zu dämpfen und das Überschwingen zu reduzieren. Ein höherer Kd-Wert erhöht die Dämpfung.

4. Lower Limit / Niedriger Limit: Setzt einen (-) negativen Wert in Ampere (A) ein, um die Geschwindigkeit zu regulieren.

Die Einstellung eines PID-Reglers erfolgt in der Regel durch experimentelles Tuning. Hier sind einige Fallbeispiele:

1. Fallbeispiel: Der Regler reagiert zu langsam auf Änderungen. In diesem Fall kannst du den Kp-Wert erhöhen, um eine stärkere Reaktion zu erzielen.

2. Fallbeispiel: Der Regler weist ein starkes Überschwingen auf. Hier kannst du den Kd-Wert erhöhen, um die Dämpfung zu erhöhen und das Überschwingen zu reduzieren.

3. Fallbeispiel: Der Regler hat einen systematischen Fehler, der nicht verschwindet. Du kannst den Ki-Wert erhöhen, um den integralen Ausgleich zu verstärken und den Fehler zu beseitigen.

4. Fallbeispiel: Der Regler reagiert überempfindlich. Hierbei kannst du einen negativen Wert (A) unter "Lower Limit" setzen, um die Geschwindigkeit in Griff zu kriegen.

Es ist wichtig zu beachten, dass die optimale Einstellung des PID-Reglers von der spezifischen Anwendung abhängt und oft durch wiederholtes Ausprobieren und Beobachten des Systems ermittelt wird.

An die folgenden Werte "Initial current" und "Variable current" solltest du dich langsam herantasten.

Beginne dazu bei einem sehr niedrigen Initial current Wert (1A) und steigere zunächst vorsichtig und in kleinen

Schritten den Variable current Wert. Dazwischen immer wieder eine Probefahrt einbauen und bitte nicht übertreiben.

Die zu erkennende Werten habe ich mit einem alten ESC und dem Gen.2 Motor ermittelt.



16. SHFW - BMS Emulation

photo_2023-07-10_12-43-14.jpg


Auch diese Einstellungen sind eher etwas für Fortgeschrittene und Profis unter euch.

Wenn ihr keinen blassen Schimmer von diesen Dingen habt, lasst bitte die Finger aus diesem Dialog und damit euren E-Scooter am Leben.



17. Expert view / Experten-Modus (Für fortgeschrittene Nutzer)

62.jpg


Der Experten-Modus, erkennbar an dem Schalter "expert view" oben rechts unter dem Reiter "Config", erlaubt euch erweiterte Einstellmöglichkeiten für euren Roller.

Um diese zu nutzen, muss der Schalter wie auf dem Bild oben angeschaltet werden.

Nochmaliges tippen auf dem Schalter deaktiviert den Experten-Modus. (Blau bedeutet aktiviert und grau deaktiviert)

Einiger dieser Funktionen können bei falscher Handhabung Schaden an den Komponenten des Rollers anrichten.

Bitte auslassen, wenn ihr nicht mit dieser vertraut seid.

Bremse:
Min. Geschwindigkeit der Bremse und den Bremsenschub einstellen.

Gasgriff:
Den Beschleunigungsschub einstellen.
Die Motor PWM Overmodulation aktivieren.

Feldschwächung:
Einstellung des variablen Wertes der Feldstärke (mA/km/h), max. Drehmomentstärke (Iq) und maximale Feldstärke (Id).

Tempomat:
Die Gasgriffposition in geschwindigkeitbasiertem Modus verwenden. Aktivierbar über einen Schalter.

Dashboard:
Die Auswahl der alternativen Datenanzeige sowie Datenanzeige über die Batteriebalken am Dashboard.

Systemeinstellung:
Nutzung eines Zündschlüssels über einen Schalter aktivieren.

Motoreinstellung:
Die Motorfrequenzen einstellen dazu auch ein Schalter, der im Freilauf (bei nicht betätigtem Gasgriff) den Motor deaktiviert.

Einstellung der Hallsensoren:
Bei dem Gasgriff inkl. Bremsgriff die Empfindlichkeit einstellen.

PID/Einstellungen zur Geschwindigkeitskontrolle:
Konstante (Kp, Ki, Kd) und darunter einen (-) negativen Wert in Ampere (A) einstellen.
 

Anhänge

  • Phasenstecker.png
    Phasenstecker.png
    730,5 KB · Aufrufe: 44.191
  • PlayStore.png
    PlayStore.png
    294,4 KB · Aufrufe: 9.059
  • Motor.png
    Motor.png
    2,5 MB · Aufrufe: 12.130
  • 002.jpg
    002.jpg
    24,4 KB · Aufrufe: 0
  • 003.jpg
    003.jpg
    53,9 KB · Aufrufe: 0
  • 006.jpg
    006.jpg
    78 KB · Aufrufe: 0
  • 014.jpg
    014.jpg
    75,1 KB · Aufrufe: 0
  • 031.jpg
    031.jpg
    63 KB · Aufrufe: 0
  • 039.jpg
    039.jpg
    78 KB · Aufrufe: 0
  • 040.jpg
    040.jpg
    79,6 KB · Aufrufe: 0
  • 041.jpg
    041.jpg
    63,5 KB · Aufrufe: 0
  • 042.jpg
    042.jpg
    66,1 KB · Aufrufe: 0
  • 043.jpg
    043.jpg
    64 KB · Aufrufe: 0
  • 044.jpg
    044.jpg
    79,3 KB · Aufrufe: 0
  • 044.jpg
    044.jpg
    79,3 KB · Aufrufe: 0
  • 056.jpg
    056.jpg
    57,8 KB · Aufrufe: 0
  • 059.jpg
    059.jpg
    81,3 KB · Aufrufe: 0
  • 063.jpg
    063.jpg
    83,9 KB · Aufrufe: 0
  • 1725794936068.png
    1725794936068.png
    148,8 KB · Aufrufe: 0
  • 1725795088024.png
    1725795088024.png
    148,8 KB · Aufrufe: 0
  • 073.jpg
    073.jpg
    79,3 KB · Aufrufe: 0
  • 1000025745.jpg
    1000025745.jpg
    387,9 KB · Aufrufe: 0
  • 073.jpg
    073.jpg
    59,7 KB · Aufrufe: 0
  • 075.jpg
    075.jpg
    60,3 KB · Aufrufe: 0
  • 075.jpg
    075.jpg
    60,3 KB · Aufrufe: 0

Noel

Moderator
Teammitglied
20 Juni 2020
626
1.034
Irgendwo im Nirgendwo
E-Scooter
G30D
v 0.2.1 31.01.2022:

Es ist nun möglich, Automatisierung mit Profilen zu machen. Dafür die App, auch auf SHFW 0.2.1 updaten. Nach der Einrichtung unter "Tools>Automate" braucht ihr jetzt nur Sekunden, um euer Profil der Wahl automatisch zu aktivieren.

Die Beschleunigung und Geschwindigkeitshaltung wurden ebenfalls optimiert.

v 0.2.2 27.03.2022:

Der Schalter der Modis zum Laden wurde hinzugefügt. So können jetzt zusätzliche Akkus genutzt werden.

Darüber hinaus wurde auch die Möglichkeit, die Rücklichthelligkeit einzustellen, die auf Geschwindigkeiten basierte Gasannahme verbessert, Current-Smoothing repariert, Geschwindigkeitsregulierung optimiert (Via entfernen auto. Bremsen ü. Max. Geschw.) und zuletzt noch die Geräusche und das Benehmen des Motors behoben

v 0.2.3 27.04.2022:

Bei diesem Update wurde die Steigleistung optimiert. Somit könnt ihr besser Steigungen meistern. Ebenfalls wurde eine verbesserte Höchstgeschwindigkeitshaltung für alle Modelle erzielt.


Sonstiges:

Des Weiteren wurden auch diese Funktionen hinzugefügt bzw. verbessert: BLE und BMS spoofing (Täuschung der Versionsnummer), Option zum Ausschalten des Motors, sobald der Gasgriff losgelassen wurde, An-Aus Verhalten des Motors, Berechnung der Geschwindigkeiten aufs Xiaomi's Display verbessert, der Regler des Rücklichts geändert für jedes Model, Lademodus für Max (G30) und ESx behoben, Softwaresperrung für Max improvisiert und zu guter Letzt die Haltung mit den Geschwindigkeiten über den geschwindigkeitenbasierten Tempomat für alle verfügbaren Modelle.

v 0.2.4 06.05.2022:

Volle Kompatibilität für die E-Serie ist inzwischen da.


Der Geschwindigkeitslimitierungs-Bug behoben, die DPC-Gasanahme verbessert, die zufälligen Neustarts ausgebessert und den Lademodus ausgebessert.

v 0.2.5 11.05.2022:

Die Schwierigkeiten beim Bremsen wurden beseitigt und der DPC-Algorithmus etwas angepasst.

v 0.2.6 25.10.2022:

Die App kann inzwischen verschiedene Chiparten des Controllers erkennen. (STM32, GD32 und AT32)

Der Ninebot Max ist jetzt auf eine nicht restriktive DRV 1.7.3 herunter setzbar.

Die SHFW v0.2.6 unterstützt offiziell beim Ninebot Max AT32-basierte Chips.

v 0.3.0 16.06.2023:

Die F-Serie wird nun unterstützt.

Der Downgrade-Bug beim G30 wurde gefixt.

Der neue Motor PADH122 / PAAH122 wird mit der Base187 endlich unterstützt.

Die Funktion Field Weakening wurde nun hinzugefügt.



ZIPv3 wurde eingeführt, um die Dateiformate zu vereinfachen.

Neue Settings "Speed Regulation" (Zum Verfeinern der Geschwindigkeit) u. Hallsensor-Settings (Für Fortgeschrittene)

v 2.3 09.07.2023:

Eine Schlüsselfreigabe wurde eingeführt, welche die Nutzung zwischen Scootbatt und m365 Dashboard zusammen mit SHU erleichert. Der Roller koppelt nun direkt zwischen den Apps, ohne sich extra nochmals (wie vorher) koppeln zu müssen.

Es werden nun neue Einstellmöglichkeiten der neuen 0.3.4 SHFW unterstützt.

Einführung von "PID", neuere und genauer einstellbare BMS-Emulationsanzeige, Anzeige des aktuellen Profils per Dashboardanzeige und neuen Profilauslöser per gleichzeitiges Betätigen der Gas- und Bremsgriffe.

v 2.3.1 12.07.2023:

Die Schlüsselfreigabe bei Scootbatt und m365 Dashboard zwischen SHU wurde verbessert. Es wird die genannten Apps zu aktualisieren.

v 2.3.2 25.07.2023:

Die Kommunikation zwischen SHU und Scootbatt und m365Dashboard wurde ausgebessert.

Das VLT-Kontrollkästchen ist nun abgespeichert. Zeitgleich wurde VLT LGTM optimiert.

Neue Unterstützung der D-Serie.

Falls SHFW installiert wurde, wird die App inzwischen unrealistische Voltwerte erkennen.

Fehlerbehebungen: Geschwindigkeitskontrolle der "KD" und unterer Limitierungsregler sollten jetzt richtig funktionieren. Die Xiaomi's mit SHFW sollten indessen die Aktivierungsanzeige richtig angezeigt bekommen.

SHU v 2.4 + v 2.4.1 / SHFW 3.7.0 / 18.04.2024 + 20.04.2024:

Neues:

ScooterHacking Utility (SHU) teilt sich dieselben SHFW-Profilnamen mit der App "Scootbatt" (Android). Dies erlaubt ein Profilwechsel in der App "Scootbatt" (Android) außerhalb von ScooterHacking Utility (SHU).

Neue monochrome App-Piktogramme sind inzwischen verfügbar. (An manchen Geräten, Android 13+ benötigt)

SHFW nutzt inzwischen "semver", somit werden in Zukunft die Versionnummern von "0.3.x" zu "3.x.x" gewechselt.

Die Steuerungen für die SHFW 3.7.0 wurden implementiert.

SHFW-Nutzer werden jetzt ausdrücklich gewarnt, falls Sie leere Kurven bei den Einstellungen in SHFW haben.


Ein Beschleunigungsschub wurde hinzugefügt, das bedeutet stärkere Beschleunigung bei gleicher Stromstärke.

Der Bremsenschub wurde hinzugefügt, das bedeutet bessere Stärke der E-Bremse.

Eine einstellbare min. Bremsgeschwindigkeit wurde hinzugefügt.

Die Grenzwerte des Gasgriffes wurden hinzugefügt. (Max. Drehmomentstrom (Iq) und max. Feldstrom (Id)

Die Stromanzeige (A), Leistungsanzeige (100 W) und restlichen Kilometeranzeigen für das Dashboard wurden hinzugefügt. (Testphase - Beta; km)


Die Frequenzen des Controllers (PWM) lassen sich zwischen 8 und 24 kHz einstellen.

Dies beeinflusst, wie laut, leise oder effizient der Motor o. Controller laufen wird.

Die PWM-Option ist nur unter "Experten-Modus" bei den Motoreinstellungen einzusehen. (Zuschaltbar im "Config"-Reiter oben rechts)

1713544302948.png


Standardwerte:


16 kHz bei DRV-187 (G30)
12 kHz bei DRV-173 (G30)
8 kHz bei Xiaomi's

Informationen zu den Frequenzen:

Bei niedrigen kHz (8-12 kHz) wird der Controller weniger beansprucht, dafür gibt es aber eventuell eine höhere Motortemperatur, bei Frequenzen zwischen 16 und 24 kHz läuft der Motor insgesamt effizienter im Lasten einer eventuell erhöhten Temperatur des Controllers. (Weniger kHz = Controller kühler - Motor wärmer u. lauter / Mehr kHz = Motor kühler u. leiser - Controller wärmer)

Grund für die erhöhten Temperaturen des Controllers bei höheren kHz sind die erhöhten "Schaltungen", die den Controller mehr beanspruchen. Gleiches gilt umgekehrt für den Motor.

Verbesserungen:

Bessere, ordnungsgemäße Erkennung der Art des BMS-Chips.

Verbesserte Lesbarkeit und Gestaltung des Reiters unter "SHFW" - Experten-Modus inbegriffen.

Die SHFW-Region für die D-Serie wurde hinzugefügt. Falls Ihr eine habt, wird empfohlen, über SHFW die Region zu ändern.

Verhinderung des versehenden Wechsels zur deutschen Region. Man muss nun "unsichere" (nicht deutsche) Regionen an der oberen rechten Ecke freischalten, eher das passiert.


Fehlerbehebungen:

Die Abstürze beim Verbinden neuerer E-Scooter (wie z. B. Ninebot G2) wurden behoben. (Kompatibilität dieser ist immer noch in der Testphase - bzw. Beta-Phase)

Die Regionen der F-Serie wurden behoben.

Der Absturz, der durch externe Links (außerhalb der App geöffnet wird) verursacht wurde, wurde behoben.

Darüber hinaus weitere kleinere Fehlerbehebungen.

+ SHU v.2.4.1 (Ausschließlich
Fehlerbehebungen in dieser Version)

Abstürze, die beim Verbinden neuerer Roller (wie z. B. Ninebot G2) über Android 14 passiert sind, wurden behoben.

Falsche BMS-Hardwareerkennung bei Xiaomi-Rollern wurden behoben.

SHFW v 3.7.1 / 23.04.2024:


Fehlerbehebungen:

Die fehlerhafte Initialisierung der Regler zur Feldschwächung wurden behoben.

Die Fehlercodes 16 und 19 bei der Ninebot Serie ES(x) und E(x) werden unterdrückt.


SHU v 2.5 / 21.04.2024:

Neues:

SHU kann sich nun mit dem Ninebot F2 verbinden.

Mehr Einstellungen für den Ninebot G2, sowie F2 stehen jetzt zur Verfügung. (Rennmodus, Geschwindigkeitsregler für den Sportmodus, Einstellung der min. Geschwindigkeit zur Aktivierung des Motors und Beschleunigungsmodus)

Veränderte(r) Offset (Versetzung) für VLTGM. Nur kompatibel mit der neusten erstellten VLT-Firmware.

Ein effektiverer Haftungsausschluss wurde beim Starten von SHU hinzugefügt, um die Gefahren der Nutzung der App zu verdeutlichen.

Nutzer müssen sich dieser auseinandersetzen, um SHU nutzen zu können. Bei nicht akzeptieren des Haftungsausschlusses wird SHU geschlossen.

SHFW v 3.7.2 / 13.06.2024:


Fehlerbehebungen:

Die Steuerung des Motors wurde verbessert.

SHU v 2.6 / 04.09.2024:

Neues:

Unter Reiter "Config": Getrennte Kontrolle der Gas- sowie Bremsgriffe. Die Lesbarkeit des Reiters wurde verbessert.

Neue Einführung des "Experten-Modus"-Schalters.

Unterstützung der SHFW 3.7.0.

Fehlerbehebungen:

Die Verbindungsprobleme der neueren Roller (wie z.B für den Ninebot G2) wurden behoben.

SHU v 2.6.1 / 04.09.2024 (neuste):

Fehlerbehebungen:


Die Abstürze bei der Nutzung der App bei Android-Nutzern der Version 14 und hinauf wurden behoben.


SHFW v 3.9.1 / 05.09.2024 (neuste):

Fehlerbehebungen:

Bei den Xiaomi's wurde das Verhalten des Einschaltknopfes während es gesperrt war geändert.


Zusätzlicher Hinweis der kürzlich neureren Versionen (wichtig):

Bitte nutzt nicht SHU v2.6 oder höher mit der SHFW niedriger als v3.9.0.

Bei Missachtung der Versionen gibt es ein sehr hohes Risiko, das die Komponenten des Rollers
beschädigt werden.

Bitte deshalb unbedingt darauf achten.



Kleinere Hinweise zur neusten Version:

Die Ninebot's der F- sowie D-Serie bleiben soweit auf der SHFW v0.3.6.


Allgemeiner Hinweis:

Falls beim neuem Update Fehler vorkommen und ihr euch sicher seid, dass diese vom neuen Update stammen und vorher nicht da waren, bitte ich euch, diese bei ScooterHacking (Telegram, Discord: - SHFW-Kanal - bei Firmware-Problemen, - Utility-Kanal - bei SHU-App-Problemen. Seit neustem bei GitHub "New Issue" + Konto benötigt) zu melden.

Voraussetzung ist, dass ihr euch auf Englisch artikulieren könnt und diese nicht bereits gemeldet wurden, damit die Fehler aufgenommen werden können. Ansonsten kann euch dort leider nicht geholfen werden.

Empfohlen wird hierbei, die Fehler am besten bei GitHub zu melden, damit die Entwickler euch direkt helfen können.


Andere Kanäle sind meist für die Diskussion der Problematik und Ursprungs des Fehlers sinnvoll.

Gerne könnt ihr hier im Thema o. bei der RollerPlausch-Telegramgruppe eure Probleme schildern, falls ihr Unterstützung auf Deutsch benötigt.
 
Zuletzt bearbeitet:

Noel

Moderator
Teammitglied
20 Juni 2020
626
1.034
Irgendwo im Nirgendwo
E-Scooter
G30D
Sehr geehrte Rollerplauscher,

nach dem wir alle sehnsüchtig auf SHFW sowohl auf die neue aufgefrischte ScooterHacking Utilities App gewartet haben, gibt es mithilfe von GeoBot GeoBot nun eine Anleitung dazu.

Wir hoffen, dass diese euch helfen wird.

Gerne kann dieses Thema zu Fragen bezüglich SHFW o. zu der neuen Version von SHU beginnend ab Version 0.2.0+ genutzt werden.

Bei Bugs bitten wir euch direkt im erwähnten ersten Post zu ScooterHacking's Discord bzw. Telegram zu gehen.

Viel Spaß beim Tüfteln! 😊
 
29 Januar 2022
11
0
E-Scooter
pro2
Guten Morgen
Erstmal Danke schön für die tolle Arbeit,Respekt.

Eine Frage ?
Könnte nicht jemand eine fertige CFW anbieten mit max geschwindikeit und das sie durch drücken der Bremse und Gas gebootet wird.

lg
Heike
 

Noel

Moderator
Teammitglied
20 Juni 2020
626
1.034
Irgendwo im Nirgendwo
E-Scooter
G30D
Nein, sowas gibt's hier nicht. Steht doch schon ganz oben ;)


Genau deswegen gibt es auch solche Anleitungen.
 

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
Vielen Dank für diesen tollen Guide :)

Wer auch Anleitung für die Community verfassen möchte, schaut mal hier rein. :love:
-> 👍 Schreibe den "Guten Guide / Beitrag" einen "RP-Verifizierten Beitrag" für die Community!
Sehr gerne habe ich an dieser Anleitung mit gearbeitet. Die ursprüngliche "Ultimative CFW-Anleitung für Ninebot MAX (G30D, G30D II, G30LD)" von dir Noel war damals mein Einstieg in dieses Thema. Nun arbeiten wir zusammen an solchen Themen. Das finde ich enorm gut. Danke auch an RP für die Möglichkeit!
 
G

Gast

Gast
Vielen Dank für den tollen Guide und Respekt an eure Arbeit und selbstverständlich auch die von Scooterhacking!!
Ist schon wirklich nice und Bemerkenswert dieses Engagement!

Man fragt sich dabei aber auch irgendwie warum u.a Ninebot als Hersteller, solches können unbeachtet lässt. Offensichtlich sind die ja selbst nicht in der Lage dem Endverbraucher auch nur annähernd eine brauchbare App zu liefern. Von SHU sind das ja momentan Lichtjahre entfernt.
So ein dauerhaftes "Ninebot-App-bashing" und die weitverbreitete Empfehlung diese keinesfalls zu nutzen, wären für mich als Hersteller zwei Gründe mehr, meine Firmenstrategie grundlegend zu überarbeiten.
Vom erleichterten Zugang zu Ersatzteilen bis hin zum unkomplizierten und kundenfreundlicheren Support/Service fang ich Mal besser nicht an.
Sorry für den kleinen Off-Topic Ausflug ^^

Jedenfalls vielen Dank noch einmal für die Sahneschnitte und Kaffe zu den Entwicklern ist unterwegs! Weiter so, richtig Top!
 
  • Hilfreich!
Reaktionen: Ahmet511
7 März 2021
408
463
E-Scooter
G30D@70V
Habe jetzt eben alles durch konfiguriert und die Möglichkeiten sind echt ein Traum (y)(y)(y)

Kann jemand was zu den Profilwechseln sagen? Meine Frage:
Ist die Option "brake + main button" eine Option, die "on-the-run", also im laufenden Betrieb gewechselt werden kann, oder ist es auch eine on-boot option??
 

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
Ist die Option "brake + main button" eine Option, die "on-the-run", also im laufenden Betrieb gewechselt werden kann, oder ist es auch eine on-boot option??
Alle Optionen sind im Tutorial ausreichend beschrieben. Nur die letzten zwei Optionen sind on-the-run schaltbar.
Screenshot_20220127-092430.jpg
 
21 November 2020
513
317
E-Scooter
Xiaomi Pro 2
Telegram
@Dogmata1985
Ich ging jetzt eigendlich davon aus das es eine Art Panicbutton gibt die ein sicheres Profil läd in Fall z.b einer Kontrolle.
So das der Scooter instant Stock Werte hätte und somit safe wäre also nicht mehr veränderbar.
Ist doch so genau wie vorher mit Brake Trick sobald die Rennleitung davon weiß könnte sie doch auch frei die Profile wechseln wie sie lustig ist?
Hätte mir ein Profil gewünscht das sich auch nur wieder mit der App ändern lassen könnte mit Stockwerten.
Aber trotzdem schöne Arbeit der Guide danke dafür.
 

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
Den gibt es doch auch. Machst du den Scooter aus, verhält er sich wieder völlig normal und fährt seine 20 km/h.
 

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
Du musst doch diese altbekannte Brake-Trick-Funktion doch nicht zwangsläufig belegen?! Vielleicht verstehe ich das Problem auch nicht richtig. Du meinst beim Einschalten? Zufällig die Bremse halten und 2x auf den Button drücken wird wohl nur dann passieren, wenn jemand diese Vorgehensweise kennt. Jeder Trick ist prinzipiell nur so lange gut, bis jemand dahinter kommt wie er funktioniert.
 

Paulederbaus

Content-Creator
6 August 2020
123
207
E-Scooter
Pro2 | G30LD
Telegram
paulederbaus
Du kannst alle Boot Optionen ausschalten und nur die beiden für während des Betriebes nutzen. Bei diesen beiden wählst du ein Profil aus, bei dem er nur 20 fährt.
Dann setzt du dein aktives Profil auf das, wo er ohne Limit fährt.

Kommt jetzt eine Kontrolle, kannst du ihn während der Fahrt in das 20 km/h Profil switchen. Anschließend geht es nur per App zurück ins unlimitierte Profil
 

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
Ganz genau so ist es doch aber auch im Tutorial beschrieben, oder?!
 
  • Hilfreich!
Reaktionen: Paulederbaus