Ir ao artigo

Recuperação e firmware de fábrica

Verificado 2026-11-01

Resultado : escolha o procedimento de recuperação correto e verifique as configurações antes do movimento. Comece com o diagnóstico de conexão : uma porta ou taxa de transmissão errada não requer recuperação do bootloader.

Escolha um procedimento

Situação Procedimento
O motor responde; restaurar suas configurações salvas normais Node.js settings restore usando o backup desse motor
O motor responde; retornar deliberadamente ao software de fábrica Flash de fábrica, seguido de reparo/verificação do Python
O aplicativo não responde após interrupção da transferência; alimentação/fiação/ID/baud verificado Bootloader recover com apenas um motor conectado
A calibração original foi perdida e não existe nenhum instantâneo anterior Não substitua o backup de outro motor; obter configurações para o modelo exato e recalibrar

Restauração de configurações normais

Isole o motor, apoie o mecanismo, desligue o torque, bloqueie as gravações e elimine a causa dos alarmes. Use o JSON criado 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 e --baud descrevem a conexão atual , não necessariamente os valores de backup. A ferramenta verifica o modelo, grava as configurações alteradas, segue as alterações de ID/baud e verifica o readback. Ele nunca ativa o torque ou envia comandos de movimento. Alterações parciais podem permanecer após uma falha; a restauração não é atômica.

Este comando não repara o modelo de redefinição de fábrica e não aceita backups Python settings.py.

Retornar ao firmware de fábrica

Use-o apenas para combinar o hardware SCServo21-GD32-TTL 3.10 . A fonte inclui sua imagem e manifesto em tools/flash/factory/ . Isole o servo porque a inicialização de fábrica pode alterar seu ID para 1 e causar um conflito de barramento.

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

Use o ID atual e confirme FLASH. Mantenha a alimentação conectada durante a transferência normal. Posteriormente, a ferramenta verifica a conexão anterior, identifica 1 em 1,000,000 baud, se necessário, e relata a conexão em funcionamento. Código de saída 2 significa que o firmware de fábrica respondeu, mas as configurações foram alteradas.

Repare as configurações após retornar ao software de fábrica , mesmo que inicialmente pareçam corretas : o firmware pode usar padrões integrados quando as configurações armazenadas são inválidas.

Recuperação do bootloader

Conecte apenas ao servo pretendido. A recuperação não é feita por ID e não pode verificar o modelo atual ou fazer backup das configurações antes do upload. Este exemplo recupera a fábrica correspondente 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

Confirme a operação. Desligue e ligue o servo somente quando solicitado , deixando o adaptador USB conectado. A ferramenta aguarda até 60 segundos pelo bootloader. Especifique o ID/baud esperado após a recuperação. A recuperação não é garantida; preserve a saída e verifique o hardware se o bootloader não responder.

Não aplique a etapa de ciclo de energia de recuperação à atualização endereçada comum.

Repare e verifique as configurações de fábrica

Após o flash/recuperação de fábrica, use um backup Python de do mesmo motor antes das configurações serem perdidas ou um relatório flash normal contendo before_registers_hex . O formato de backup do Node.js não é aceito. Este exemplo pressupõe que o ID atual seja 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

Digite RESTORE quando solicitado. A ferramenta oferece suporte ao 3.10 de fábrica e rejeita firmware personalizado detectado. Ele restaura as configurações, substitui o modelo de reset, bloqueia gravações e reinicia o motor. Ele segue alterações de ID/baud e verifica sem enviar comandos de movimento.

Em seguida, desligue e ligue o servo e verifique usando o ID e baud restaurados do :

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

Altere --id 1 no último comando se o backup restaurar outro ID. Os relatórios ficam em backups/settings/. Mantenha o torque desativado após um erro: o reparo não desfaz gravações parciais nem tenta novamente de forma automática.

Verificação de conclusão: o aplicativo responde, as configurações são verificadas após desligar e ligar a alimentação e o significado e os limites do deslocamento físico foram revisados. Um backup feito após a perda da calibração não pode recuperar seus valores anteriores. A recalibração requer novas gravações de pose e validação renovada do modelo.


Início da documentação · Revisão de origem: a995f77 . Extension 9.0 .