Zum Artikel

Sichern und Firmware installieren

Geprüft 2026-11-01

Ergebnis: Die Einstellungen jedes Motors werden gespeichert, ein kompatibles Image wird installiert und der Anwendungsstart und die Beibehaltung der Einstellungen werden überprüft. Tools und Kommunikation müssen bereits funktionieren.

1. Bereiten Sie den Mechanismus vor

Sichern Sie den Arm, stützen Sie seine Glieder ab und schalten Sie das Motordrehmoment aus. Schließen Sie andere Programme, die den seriellen Anschluss verwenden. Das Programmiertool verlangt torqueEnable = 0, mit lock = 1 gesperrte dauerhafte Schreibzugriffe und keinen aktiven Alarm. Stellen Sie diese Bedingungen mit dem passenden Einstellungswerkzeug her. Umgehen Sie keine Prüfungen und löschen Sie keinen Alarm, dessen Ursache ungeklärt ist.

Mit dem installierten Posenrekorder können Sie das Drehmoment abschalten. Führen Sie den Befehl aus und bestätigen Sie das Abschalten erst nachdem Sie den Mechanismus abgestützt haben. Warten Sie auf Torque off verified und geben Sie dann done ein, ohne Posen aufzuzeichnen:

macOS / Linux
npm run record-poses -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6
Windows PowerShell
npm.cmd run record-poses -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6

Ersetzen Sie die ausgewählten IDs durch Ihre. Dadurch wird eine leere Pose-Datei erstellt, die für die Wiedergabe nicht benötigt wird. Es handelt sich um einen kontrollierten Drehmomentfreigabevorgang und nicht um einen Notstopp.

2. Sichern Sie jeden Motor

Zwei Sicherungszwecke verwenden unterschiedliche, nicht austauschbare Formate:

Datei Erstellt von Zweck
tools/settings/backups/servo-1-before-flash.json Node.js settings backup Gewöhnliche Wiederherstellung dauerhafter Legacy-Einstellungen für denselben Motor
backups/servo-1-factory-recovery.json Python settings.py backup Reparatur gespeicherter Einstellungen und der Reset-Vorlage nach Rückkehr zur Werksfirmware

Beide Befehle lesen den Motor aus, ohne seine Einstellungen zu ändern:

macOS / Linux
npm run settings -- backup --port "$SERVO_PORT" --id 1 --file tools/settings/backups/servo-1-before-flash.json
Windows PowerShell
npm.cmd run settings -- backup --port "$env:SERVO_PORT" --id 1 --file tools/settings/backups/servo-1-before-flash.json
macOS / Linux
tools/flash/.venv/bin/python tools/flash/settings.py backup --port "$SERVO_PORT" --id 1 --file backups/servo-1-factory-recovery.json
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/settings.py backup --port "$env:SERVO_PORT" --id 1 --file backups/servo-1-factory-recovery.json

Wiederholen Sie dies für jede ID und ändern Sie dabei sowohl --id als auch den Dateinamen. Bewahren Sie eine weitere Kopie außerhalb des Projekts auf und kennzeichnen Sie jedes Backup mit seinem physischen Motor. Vorhandene Dateien werden nicht überschrieben; Verwenden Sie einen neuen Namen für einen anderen Schnappschuss. Ältere Backups enthalten keine Erweiterungsprofile oder das Gravity-Modell: Speichern Sie diese JSON-Dateien separat.

Überprüfen Sie: Beide Befehle sind erfolgreich und beide Dateien sind vorhanden. Stellen Sie nicht die Sicherung eines anderen Motors wieder her; Seine Offsets können die physikalische Bedeutung der Encoder-Zählungen ändern.

3. Firmware-Abbild ohne Hardware prüfen

Laden Sie custom-v9-e44c0e6.zip von v0.1-preview Assets herunter. Extrahieren Sie sowohl firmware.enc als auch release.json in tools/flash/releases/custom/. Verwenden Sie kein Quellcodearchiv, release.example.json oder eine Roh-Build-Ausgabe.

macOS / Linux
tools/flash/.venv/bin/python tools/flash/flash.py inspect --manifest tools/flash/releases/custom/release.json
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/flash.py inspect --manifest tools/flash/releases/custom/release.json

inspect öffnet keinen seriellen Port. Es überprüft die Manifeststruktur, die Bildgröße und SHA-256. Erwarten Sie für dieses Archiv extension.major: 9, extension.minor: 0, model_bytes: [[9, 3]] und encoded_bytes_verified: 25744. Wenn die Validierung fehlschlägt, erhalten Sie das ursprüngliche passende Paar. Passen Sie den Hash oder die Größe nicht manuell an.

4. Firmware für eine Motor-ID installieren

Der folgende Befehl schreibt Firmware und startet den ausgewählten Motor neu:

macOS / Linux
tools/flash/.venv/bin/python tools/flash/flash.py flash --manifest tools/flash/releases/custom/release.json --port "$SERVO_PORT" --id 1
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/flash.py flash --manifest tools/flash/releases/custom/release.json --port "$env:SERVO_PORT" --id 1

Geben Sie bei Aufforderung FLASH ein. Lassen Sie die Stromversorgung eingeschaltet und starten Sie bis zum Abschluss kein weiteres Upload-Programm. Bei der normalen adressierten Programmierung dürfen andere Motoren mit eindeutigen Adressen angeschlossen bleiben; programmieren Sie die Motoren nacheinander. Schalten Sie die Busversorgung während einer normalen Programmierung nicht manuell aus und wieder ein.

Das Tool speichert einen Einstellungs-Snapshot, überträgt das Bild, überprüft den Anwendungsstart und vergleicht Einstellungen. Bei erfolgreichem Abschluss bleibt das Drehmoment ausgeschaltet. Berichte werden in backups/flash/ gespeichert; Bewahren Sie sie zusammen mit den Backups auf. Dadurch werden die Anwendung und die Einstellungen überprüft, anstatt jedes Firmware-Byte zurückzulesen.

5. Überprüfen Sie die installierte Schnittstelle

Lesen Sie nach der Firmware-Programmierung Funktionen und Rückmeldungen, ohne die Bewegung zu starten:

macOS / Linux
node host/servo-driver/examples/v9-feedback.js "$SERVO_PORT" 1
Windows PowerShell
node host/servo-driver/examples/v9-feedback.js "$env:SERVO_PORT" 1

In diesem Beispiel werden 1.000.000 Baud und ID 1 verwendet. Ändern Sie das letzte Argument für eine andere ID. Eine andere Baudrate erfordert eine Änderung des Codes dieses Beispiels. Erwarten Sie Erweiterungsversion 9.0; Eine inaktive Sitzung mit ausgeschaltetem Drehmoment ist normal.

Wenn die Übertragung abgeschlossen ist, die Anwendungsüberprüfung jedoch fehlschlägt, bewahren Sie den Bericht auf und überprüfen Sie ID, Baudrate und Einstellungen, bevor Sie eine andere Programm-Firmware versuchen. Verwenden Sie die Wiederherstellung für ein nicht reagierendes Gerät oder eine absichtliche Rückkehr zur Werksfirmware.

Als nächstes: Kalibrierung überprüfen oder einrichten.


Startseite der Dokumentation · Quellrevision: a995f77. Erweiterung 9.0.