Ir al artículo

Recuperación y firmware de fábrica

Comprobado 2026-11-01

Resultado: elija el procedimiento de recuperación correcto y verifique la configuración antes del movimiento. Comience con diagnóstico de conexión: un puerto o velocidad de baudios incorrectos no requiere recuperación del gestor de arranque.

Elige un procedimiento

Situación Procedimiento
El motor responde; restaurar su configuración guardada normal Node.js settings restore usando la copia de seguridad de ese motor
El motor responde; volver deliberadamente al software de fábrica Firmware del programa de fábrica, seguido de reparación/verificación de Python
La aplicación no responde después de una transferencia interrumpida; alimentación/cableado/ID/baudios comprobados Cargador de arranque recover con un solo motor conectado
La calibración original se pierde y no existe una instantánea anterior No sustituya el respaldo de otro motor; obtener ajustes para el modelo exacto y recalibrar

Restauración de entornos ordinarios.

Aísle el motor, apoye el mecanismo, apague el torque, bloquee las escrituras y borre la causa de las alarmas. Utilice el JSON creado por npm run settings -- backup:

macOS / Linux
npm run settings -- restore --port "$SERVO_PORT" --id 1 --file tools/settings/backups/servo-1-before-flash.json
Windows PowerShell
npm.cmd run settings -- restore --port "$env:SERVO_PORT" --id 1 --file tools/settings/backups/servo-1-before-flash.json

--id y --baud describen la conexión actual, no necesariamente los valores respaldados. La herramienta verifica el modelo, escribe las configuraciones modificadas, sigue los cambios de ID/baudios y verifica la lectura. Nunca habilita torque ni envía comandos de movimiento. Después de un fallo pueden quedar cambios parciales; La restauración no es atómica.

Este comando no repara la plantilla de restablecimiento de fábrica y no acepta copias de seguridad de Python settings.py.

Volver al firmware de fábrica

Úselo únicamente para hardware SCServo21-GD32-TTL 3.10 compatible. La fuente incluye su imagen y manifiesto en tools/flash/factory/. Aísle el servo porque el inicio de fábrica puede cambiar su ID a 1 y provocar un conflicto en el bus.

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

Utilice el ID actual y confirme FLASH. Mantenga la energía conectada durante la transferencia normal. Luego, la herramienta verifica la conexión anterior, luego el ID 1 a 1.000.000 baudios si es necesario, e informa la conexión que funciona. El código de salida 2 significa que el firmware de fábrica respondió pero la configuración cambió.

Repare la configuración después de regresar al software de fábrica incluso si inicialmente parece correcta: el firmware puede usar valores predeterminados integrados cuando la configuración almacenada no es válida.

Recuperación del cargador de arranque

Conecte solo el servo deseado. La recuperación no se dirige por ID y no puede verificar el modelo actual ni hacer una copia de seguridad de la configuración antes de la carga. Este ejemplo recupera la fábrica coincidente 3.10:

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

Confirmar la operación. Apaga y enciende el servo solo cuando se te indique, dejando el adaptador USB conectado. La herramienta espera hasta 60 segundos por el gestor de arranque. Especifique el ID/baud esperado después de la recuperación. La recuperación no está garantizada; conserve la salida y verifique el hardware si el gestor de arranque no responde.

No aplique el paso de ciclo de energía de recuperación a la programación de firmware con dirección ordinaria.

Reparar y verificar la configuración de fábrica.

Después del firmware/recuperación del programa de fábrica, use una copia de seguridad de Python de ese mismo motor antes de que se perdieran las configuraciones, o un informe flash normal que contenga before_registers_hex. No se acepta el formato de copia de seguridad de Node.js. Este ejemplo supone que el ID actual es 1:

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

Escriba RESTORE cuando se le solicite. La herramienta es compatible con Factory 3.10 y rechaza el firmware personalizado detectado. Restaura la configuración, reemplaza la plantilla de reinicio, bloquea las escrituras y reinicia el motor. Sigue los cambios de ID/baud y verifica sin enviar comandos de movimiento.

Luego reinicie el servo y verifique usando el ID y los baudios restaurados:

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

Cambie --id 1 en ese último comando si la copia restaura otro ID. Los informes se guardan en backups/settings/. Mantenga el par desactivado después de un error: la reparación no revierte escrituras parciales ni vuelve a intentarlo automáticamente.

Comprobación de finalización: la aplicación responde, la configuración se verifica después del ciclo de energía y se han revisado el significado y los límites de compensación física. Una copia de seguridad realizada después de que se perdió la calibración no puede recuperar sus valores anteriores. La recalibración requiere nuevas grabaciones de poses y una validación renovada del modelo.


Inicio de la documentación · Revisión de la fuente: a995f77. Extensión 9.0.