Teste do servomotor Feetech STS3215: folga, repetibilidade e torque

Views icon 13634
Testing of Feetech STS3215 Servomotor

Em setembro, passamos a uma etapa mais detalhada de teste dos servomotores antes de iniciar a programação do controlador. Começamos a testar o Feetech STS3215 C018 (relação de redução 1:345, 12V, torque de bloqueio de 30 kg·cm), um servomotor popular amplamente utilizado em projetos robóticos de código aberto, como SO-ARM100 e o Robonine parallel gripper. Este artigo vai se concentrar principalmente em seu desempenho. Para começar, vou analisar os dados fornecidos pelo fabricante. Esses valores servirão de referência para nossos testes de verificação. Algumas das imagens mostram o Waveshare STS3215, que é tecnicamente muito semelhante — chegando a usar a mesma versão de firmware.

Encoder magnético de 12 bits

Encoder magnético de 12 bits

O Feetech STS3215 conta com um encoder magnético de 12 bits que oferece 4096 passos por rotação de 360° (0,088° por passo). Esse projeto magnetorresistivo elimina o desgaste por atrito, ao contrário dos encoders baseados em potenciômetro com contatos deslizantes, que se degradam com o tempo. A ausência de superfícies de contato móveis garante um controle confiável em malha fechada e um desempenho consistente a longo prazo, sem degradação do encoder.

 

Feetech STS-3215: parte traseira e engrenagens

Feetech STS-3215: parte traseira e engrenagens

O servo conta com uma caixa de engrenagens metálica de vários estágios, projetada para entregar alto torque em um conjunto acessível. Segundo o the datasheet, a especificação da caixa de engrenagens indica uma folga ≤ 0,5°, o que é típico para essa classe de servo. São usadas engrenagens metálicas em vez de plásticas para suportar cargas prolongadas e ciclos repetitivos de movimento. O encoder é integrado antes do estágio de redução para fornecer feedback direto do motor. A caixa de engrenagens utiliza uma relação de 1:345, permitindo que o servo converta a velocidade do motor em alto torque de saída, adequado para aplicações robóticas. A alta relação de redução e o projeto da caixa de engrenagens metálica tornam esse servo inadequado para aplicações de acionamento reverso, pois forças externas podem facilmente girar as engrenagens no sentido inverso, causando movimento descontrolado e possíveis danos ao motor.

O gráfico de envelope de desempenho exibe official datasheet os valores de potência de saída, velocidade de rotação, eficiência e consumo de corrente em cargas de torque de 0 a 30 kg·cm. A velocidade diminui de forma linear conforme a carga aumenta, enquanto a potência de saída atinge o pico em torno de 15 kg·cm antes de cair em cargas mais pesadas. A eficiência atinge o máximo (cerca de 26%) na faixa de 6–9 kg·cm, o que é típico para motores servo acessíveis. O consumo de corrente cresce de forma linear com a demanda de torque em toda a faixa de operação. Essas especificações de catálogo demonstram que, apesar dos valores modestos de eficiência inerentes aos projetos de baixo custo, o servo oferece um gerenciamento de energia confiável, adequado para aplicações robóticas e de automação com orçamento limitado.

Teste de desempenho de velocidade e precisão

O servo Feetech STS-3215 foi testado a 100% e 50% de sua velocidade nominal. As medições mostraram uma velocidade máxima de aproximadamente 46 RPM, com precisão de ±2% e flutuações de cerca de 7%. Embora pequenas oscilações tenham sido observadas em velocidades mais baixas, o movimento geral permaneceu estável e de acordo com as especificações do fabricante.

Esses resultados confirmam que a velocidade nominal sem carga do servo, de 0,22 s/60°, está bem alinhada com os valores do datasheet, oferecendo velocidade e capacidade de resposta adequadas para aplicações de robótica e de controle de movimento.

Ajuste de 100% da velocidade. Média medida de 45,6 RPM com desvio típico de 0,48 RPM.

Ajuste de 100% da velocidade. Média medida de 45,6 RPM com desvio típico de 0,48 RPM.

Ajuste de 50% da velocidade. Média medida de 21,9 RPM com desvio típico de 0,34 RPM.

Ajuste de 50% da velocidade. Média medida de 21,9 RPM com desvio típico de 0,34 RPM.

Ajuste de 5% da velocidade. Média medida de 2,3 RPM com variação observada de cerca de 0,25 RPM.

Ajuste de 5% da velocidade. Média medida de 2,3 RPM com variação observada de cerca de 0,25 RPM.

Medição da folga

Uma das principais características que nos fez repensar o projeto do nosso manipulador é a folga. Usando um relógio comparador, medimos primeiro um deslocamento linear de 1,3 mm na ponta de um braço de alavanca de 86 mm. A partir disso, calculamos uma folga angular de 0,0151 radianos (≈ 0,87°) — visivelmente maior que o limite de 0,5° especificado no datasheet. Esse desvio é bastante significativo, pois mesmo pequenos erros angulares na junta se traduzem em desvios da ordem de milímetros na ponta do braço.

A montagem de teste utilizou um elástico aplicando cerca de 30 g de tensão para garantir um carregamento consistente, enquanto um relógio comparador media o deslocamento resultante. Esse método forneceu leituras estáveis, sem força excessiva ou dependência do torque.

Além disso, parte dessa folga parece ser induzida por software: existe uma zona morta integrada de 10 contagens do encoder, ou seja, o motor ignora pequenos comandos dentro dessa faixa. A folga também se manifesta como tremor ou oscilação quando o braço está estendido — o servo tem dificuldade de retornar com precisão à posição-alvo, resultando em vibração visível.

Teste de repetibilidade

Outro parâmetro importante é a repetibilidade. O teste de repetibilidade do servo Feetech STS3215 foi realizado usando uma alavanca vertical de 10 cm, com incrementos de 20 passos, três ciclos em cada direção e três iterações completas. Os resultados indicam um desempenho estável sob condições controladas.

Parâmetros e resultados do teste:

  • Configuração da alavanca: braço vertical de 10 cm
  • Método de teste: incrementos de 20 passos; 3 ciclos em cada direção; 3 iterações completas
  • Desvio medido na ponta: ±0.3 mm
  • Repetibilidade angular equivalente: ≈ 0.17° (≈10 arcmin)
  • Resolução do encoder: 12-bit = 0.088°
  • Equivalente linear de uma contagem do encoder (a um raio de 10 cm): ≈ 0.153 mm
  • Desvio observado: ≈ 2 encoder counts
  • Notes: a ponta de prova com mola compensa a folga mecânica; o teste poderia ser refinado ou repetido sob carga para melhorar a precisão
O desvio médio absoluto de posição medido é de cerca de 2 passos do encoder, ou 0,17 grau

O desvio médio absoluto de posição medido é de cerca de 2 passos do encoder, ou 0,17 grau

Isso indica que, embora a repetibilidade medida fique dentro de alguns passos do encoder, o servo STS3215 mantém um comportamento de posicionamento consistente, e um refinamento adicional poderia validar seu desempenho sob condições de carga operacional.

Teste de torque

Também realizamos um teste de torque dinâmico do servo Feetech STS-3215 usando cargas variadas para avaliar seu desempenho real em movimento.

Configuração do teste:

  • braço de alavanca de 10 cm
  • Cargas de teste: 1 kg, 1,5 kg e 2 kg

Resultados do teste:

  • Com carga de 1,5 kg: o servo manteve operação estável, com aumento de temperatura de aproximadamente 15 °C após 10 minutos de movimento contínuo
  • Com carga de 2 kg: o servo entrou em proteção contra sobrecarga após vários ciclos de operação, limitando temporariamente o torque de saída para evitar danos
  • O desempenho permaneceu consistente até cerca de 15 kg·cm, alinhando-se de perto com o torque nominal especificado no datasheet
O teste de torque dinâmico com carga de 10 kg·cm mostra que o consumo de corrente permanece bem abaixo de 1 A, enquanto a estimativa interna de carga ultrapassa ligeiramente 50%

O teste de torque dinâmico com carga de 10 kg·cm mostra que o consumo de corrente permanece bem abaixo de 1 A, enquanto a estimativa interna de carga ultrapassa ligeiramente 50%

No teste dinâmico com carga de 10 kg·cm, o desvio médio absoluto de posição medido foi de 22,5 passos do encoder, correspondendo a aproximadamente 2 graus

No teste dinâmico com carga de 10 kg·cm, o desvio médio absoluto de posição medido foi de 22,5 passos do encoder, correspondendo a aproximadamente 2 graus

Com carga de 15 kg·cm no teste dinâmico, a estimativa interna de carga indica uma pequena margem restante, enquanto o consumo de corrente permanece dentro da faixa esperada

Com carga de 15 kg·cm no teste dinâmico, a estimativa interna de carga indica uma pequena margem restante, enquanto o consumo de corrente permanece dentro da faixa esperada

Com carga de 15 kg·cm no teste dinâmico, o desvio médio absoluto de posição medido é de 30 passos do encoder, ou cerca de 2,6 graus.

Com carga de 15 kg·cm no teste dinâmico, o desvio médio absoluto de posição medido é de 30 passos do encoder, ou cerca de 2,6 graus.

Esse teste demonstra a capacidade de torque dinâmico do servo e a eficácia de seus mecanismos de proteção térmica e contra sobrecarga. A operação contínua no torque nominal máximo pode acelerar o desgaste mecânico ao longo de períodos prolongados.

Em seguida, examinamos o torque de bloqueio — o torque máximo que o motor consegue manter em uma posição estática, sem movimento.

Configuração do teste:

  • braço de alavanca de 10 cm posicionado a um ângulo de 45°
  • Carga estática: aproximadamente 3,5 kg (≈ 35 kg·cm de torque)

Resultados do teste: Sob carga pesada prolongada, o servo entrava ocasionalmente em modo de proteção contra sobrecarga, reduzindo o torque de saída para cerca de 20% da capacidade nominal. Tanto o tempo limite da proteção quanto o limite seguro de torque são configuráveis pelos registradores do controlador, permitindo ajustar com precisão o comportamento da proteção para aplicações específicas. O torque de bloqueio medido superou ligeiramente o valor de 30 kg·cm do datasheet, confirmando que o STS-3215 tem desempenho acima de sua especificação nominal quando devidamente configurado.

Temperatura sob carga constante

Test 1: Verificação de superaquecimento durante a retenção de carga estática.

Teste de superaquecimento sob carga estática. Feetech STS3215

Teste de superaquecimento sob carga estática. Feetech STS3215

O braço com um haltere foi posicionado de lado, sustentando um peso de 1 kg em um braço de alavanca de 15 cm, resultando em um torque de 15 kg·cm. Ao longo de 10 minutos, a temperatura subiu para 48°C e permaneceu estável por uma hora, sem aumento adicional.

Teste 2: Oscilação em uma faixa de ±90 graus. Medição de temperatura

Oscilação em uma faixa de ±90 graus. Teste de temperatura. Feetech STS3215

Oscilação em uma faixa de ±90 graus. Teste de temperatura. Feetech STS3215

Partindo de 48°C, a temperatura chegou a 60°C após 50 minutos. Nos 20 minutos seguintes, a temperatura não aumentou. Em seguida, a velocidade de oscilação foi reduzida para acelerar o aquecimento (veja a nota abaixo). Foram necessários mais 40 minutos para alcançar 71°C, momento em que o motor superaqueceu.

  • Limiar crítico de temperatura: a 71°C, o motor apresenta problemas, conforme observado em experimentos realizados ontem e hoje (dois casos). Aparentemente não há proteção térmica integrada, portanto será necessário um desligamento manual quando essa temperatura for atingida.
  • Efeito da aceleração no aquecimento: reduzir a aceleração aumentou a taxa de elevação da temperatura. Inicialmente, com uma aceleração de 5, a temperatura chegou a 60°C. Baixar a aceleração para 2 resultou em superaquecimento após um tempo adicional. Amanhã, em novos testes, mediremos o tempo necessário para superaquecer com uma aceleração de 5, já que uma aceleração de 2 é lenta demais para a nossa aplicação.

Experimento de compensação de folga

Um experimento adicional, conduzido pelo nosso engenheiro de software Boris, focou na compensação de folga usando uma montagem de pré-tensão com dois servos. Nesse teste, dois servos Feetech STS-3215 foram montados com braços de alavanca de PETG impressos em 3D, conectados por uma corda tensionada. Cada servo aplicava uma pequena pré-carga, eliminando efetivamente a folga mecânica do conjunto.

A montagem é simples, mas extremamente eficaz para demonstrar como a pré-tensão pode eliminar a folga na prática. Quando ambos os servos aplicaram tensões opostas, os braços permaneceram completamente imóveis, confirmando que a folga mecânica foi totalmente compensada. Esse método melhora significativamente a estabilidade e a precisão de posicionamento, tornando-o especialmente útil para juntas robóticas, sistemas de controle de movimento e projetos de automação DIY.

Pontos principais:

  • Dois servos STS-3215 com braços de alavanca de PETG
  • Acoplamento por corda sob pré-tensão controlada
  • Demonstra a eliminação da folga mecânica por meio da compensação por pré-carga

Resumo das especificações e dos resultados dos testes

Parâmetro / método de teste / condição Resultado medido Especificação / valor do datasheet Observações / comentários
Tensão de operação 12 V 12 V Faixa de operação: 4–14 V
Torque estático (de bloqueio) Braço de alavanca de 10 cm a 45° sobre a balança ~3.5 kg (35 kg·cm) 30 kg·cm Ligeiramente acima do nominal; entra em proteção sob carga prolongada
Torque dinâmico Levantando 1,5 kg em alavanca de 10 cm Sustenta a carga com aumento de +15 °C A temperatura aumentou +15 °C após 10 min; sobrecarga acionada com carga de 2 kg
Velocidade sem carga (RPM) Medida a 100% e 50% da velocidade Máx. ~46 RPM; precisão de ±2%; flutuação de ~7% 45 RPM (0.22 s/60°) Configurações padrão; operação um pouco menos suave, mas aceitável
Resolução do encoder Leitura de registrador por UART 4096 passos por volta (12 bits) encoder magnético de 12 bits (4096) 0,088° por passo
Folga da caixa de engrenagens (jogo livre) Medição por rotação livre com a mão (método do relógio comparador) ~ 0,87° ≤ 0.5°
Erro de posição sob carga Carga de 1,5 kg, alavanca de 10 cm, ângulo de 45° 20–30 valores do encoder (1,8–2,6°) O erro aumenta significativamente sob carga
Repetibilidade (relógio comparador) Alavanca vertical de 10 cm; incrementos de 20 passos; 3 ciclos em cada direção; 3 iterações Desvio de ±0,3 mm nos pontos de medição A ponta de prova com mola compensa a folga mecânica; o teste poderia ser refinado ou realizado sob carga
Aumento de temperatura (teste de carga estática) — carga de 1 kg em braço de alavanca de 15 cm (≈15 kg·cm de torque); braço posicionado de lado A temperatura subiu para 48 °C após 10 min e permaneceu estável por >1 h, sem aumento adicional Faixa de temperatura de operação: –10 °C – 60 °C Comportamento térmico estável sob carga estática; bem dentro dos limites nominais de operação
Aumento de temperatura (teste de oscilação) — faixa de ±90°; movimento contínuo; temperatura inicial de 48 °C Atingiu 60 °C após 50 min, estabilizou por 20 min e depois subiu para 71 °C após ~110 min, resultando em superaquecimento Limiar de proteção contra superaquecimento: 70 °C Nenhum desligamento térmico ativo observado — corte manual necessário perto de 70 °C. Reduzir a aceleração aumentou a taxa de aquecimento (accel = 2 → superaquecimento; accel = 5 → estável ~60 °C).
Interface de comunicação UART TTL, half-duplex Funcional 38400 bps – 1 Mbps (padrão 1 Mbps); conexão encadeável de vários servos
Controle em malha fechada O feedback de posição e velocidade funciona de forma confiável Suporta manutenção de posição e controle de velocidade
Telemetria / feedback Leitura por UART: posição, velocidade, corrente, tensão, carga, temperatura Telemetria completa disponível
Sistemas de proteção Sobrecarga, sobrecorrente, sobretensão, subtensão, sobretemperatura Funcional Tempo limite e limites seguros configuráveis pelos registradores
Zona morta do firmware Comando de entrada < 10 passos do encoder Nenhum movimento observado Banda morta integrada de 10 contagens
Preço / acessórios ~$15 (servo) + ~$5 (adaptador UART) Excelente relação custo-benefício

Conclusão

O Feetech STS3215 demonstra um bom desempenho de torque e uma comunicação UART estável, adequado para aplicações robóticas e de automação de nível intermediário. No entanto, a folga mecânica e uma zona morta definida pelo firmware (10 contagens do encoder) reduzem a precisão de posicionamento para tarefas de movimento fino.

Principais vantagens

  • Compacto e leve
  • Controle em malha fechada integrado (posição e velocidade)
  • Recursos integrados de telemetria e proteção
  • Ajuste fácil de parâmetros e protocolo UART
  • Suporta conexão em cadeia de vários servos
  • Precisão adequada do encoder (4096 passos)
  • Pode ser controlado diretamente por PC ou microcontrolador

Principais limitações

  • Folga da caixa de engrenagens maior que a especificada
  • Firmware não atualizável pelo usuário
  • Requer testes de duração sob carga para avaliar o desgaste a longo prazo
  • Ruído mecânico audível

Comentários

40 comments

  1. Antônio Barbosa June 8, 2026 at 1:38 pm

    achei o gráfico de histerese um pouco confuso, mas a metodologia em si ta muito clara. parabens pelo trabalho

  2. Marcos Gomes June 4, 2026 at 10:00 pm

    salvei pra ler com calma depois, conteudo denso mas otimo

  3. quadfan77 June 4, 2026 at 9:47 pm

    usei o sts3215 no meu projeto e a repetibilidade me surpreendeu pra ser honesto, achei que ia ser pior

  4. mech_hacker74 May 20, 2026 at 5:24 pm

    fiquei na duvida de uma coisa: o teste foi a 12v ou 7.4v? o torque muda demais entre os dois

    1. Nikita Bragin
      Nikita Bragin May 21, 2026 at 3:34 am

      Todos os testes de torque foram a 12 V. O STS3215 opera de 4 a 14 V, então a 7,4 V ele funciona normalmente, mas com torque e velocidade menores, por isso sempre vale especificar a tensão.

      1. mech_hacker74 May 22, 2026 at 9:31 pm

        Entendi, obrigado pela resposta.

  5. Gabriel May 4, 2026 at 4:05 pm

    MUITO BOM o artigo, finalmente alguem testando isso de forma séria!!!

  6. Felipe Rodrigues May 1, 2026 at 5:51 pm

    vcs mediram a corrente em stall? to com medo de queimar o meu

    1. Nikita Bragin
      Nikita Bragin May 4, 2026 at 1:21 am

      Sim, a corrente de stall fica em torno de 2,7 A a 12 V, conforme a folha de dados. Recomendamos um limite de corrente no driver para evitar dano térmico em stall prolongado.

      1. Felipe Rodrigues May 5, 2026 at 4:34 pm

        Entendi, obrigado pela resposta.

  7. mechlab April 26, 2026 at 11:40 am

    isso aqui me poupou semanas de teste sério MUITO obrigado pelo material

  8. Lucas Souza March 19, 2026 at 9:10 am

    Resultados consistentes com a folha de dados do fabricante. Bom trabalho na documentação da incerteza de medição.

  9. Lucas Costa
    Lucas Costa February 28, 2026 at 2:14 pm

    no meu ele tem um zumbido feio quando segura posição, alguem mais notou isso?

    1. Nikita Bragin
      Nikita Bragin March 2, 2026 at 8:59 pm

      Esse zumbido vem do loop de controle de posição corrigindo constantemente. Reduzir o ganho proporcional ou aumentar levemente a zona morta costuma diminuir bastante o ruído.

      1. Lucas Costa
        Lucas Costa March 4, 2026 at 10:39 am

        Obrigado, agora entendi!

  10. lucas.dev February 12, 2026 at 1:43 am

    Vocês chegaram a verificar se o backlash aumenta depois de algumas centenas de milhares de ciclos? Pergunto porque na minha aplicação o desgaste da engrenagem plástica acabou virando o gargalo e gostaria de saber se vocês têm dados de longo prazo.

    1. Nikita Bragin
      Nikita Bragin February 13, 2026 at 2:17 am

      Ainda não fizemos um teste de ciclagem completo, mas é exatamente o próximo passo do nosso roadmap. Pretendemos publicar os dados de desgaste de longo prazo em um artigo separado.

  11. João Pereira January 21, 2026 at 8:46 pm

    comprei 6 pra montar um braço e esse artigo me deixou bem mais confiante na escolha, valeu mesmo

  12. spark_eng86 December 22, 2025 at 6:30 am

    interessante mas senti falta de comparar com o dynamixel da mesma faixa

  13. felipe December 17, 2025 at 2:02 am

    Excelente bancada de testes. Os números de repetibilidade batem com o que eu medi aqui no meu setup.

  14. Rodrigo Barbosa December 15, 2025 at 12:26 am

    Trabalho impecável. A seção sobre a metodologia de calibração do encoder magnético foi particularmente esclarecedora e me ajudou a entender uma deriva que eu via no meu próprio servo.

  15. Paulo Carvalho November 26, 2025 at 5:41 pm

    Gostaria de saber qual firmware vocês usaram durante os testes, porque a versão mais nova mudou bastante a curva de controle de torque e isso pode explicar diferenças entre bancadas.

    1. Nikita Bragin
      Nikita Bragin November 28, 2025 at 4:47 am

      Rodamos o firmware de fábrica que veio na unidade, sem atualização. Concordo que a versão mais recente altera a curva de torque, vale a pena testar as duas e comparar.

  16. José Costa November 10, 2025 at 11:35 am

    qual carga vcs usaram pra medir o torque de pico? queria comparar com o meu teste

    1. Nikita Bragin
      Nikita Bragin November 11, 2025 at 5:40 pm

      Usamos um braço de alavanca com peso calibrado, medindo a corrente até o servo entrar em proteção. O torque de stall de referência do STS3215 é de cerca de 30 kg·cm a 12 V, e os detalhes do método estão na seção de torque.

  17. Ana October 29, 2025 at 1:37 pm

    backlash de 1 grau ja era esperado pra essa faixa de preço sinceramente

  18. José October 29, 2025 at 7:56 am

    vocês têm o arquivo bruto dos dados pra download? adoraria plotar de outra forma e analisar a dispersão

    1. Nikita Bragin
      Nikita Bragin November 1, 2025 at 12:40 pm

      Ainda não disponibilizamos o CSV bruto, mas é uma ótima sugestão. Vou ver com a equipe de publicar os dados brutos junto com o próximo artigo.

  19. André October 25, 2025 at 7:55 am

    concerteza um dos melhores servos custo beneficio do mercado hoje

  20. marcos_lab October 24, 2025 at 6:20 pm

    qnd vcs falam de repetibilidade de 0.1 grau isso é com carga ou sem? faz muita diferença

    1. Nikita Bragin
      Nikita Bragin October 27, 2025 at 4:15 pm

      Esse número é sem carga. Sob carga a repetibilidade degrada um pouco por causa do backlash e da flexão da engrenagem, e detalhamos isso na seção seguinte.

  21. B. Lima October 23, 2025 at 3:26 am

    Análise muito bem fundamentada. A clareza com que vocês separaram backlash mecânico de erro de quantização do encoder elevou o nível da discussão e raramente vejo esse cuidado em reviews de servo.

  22. J. Silva October 22, 2025 at 6:59 pm

    torque nominal de 30kg.cm é meio otimista né, na pratica rende bem menos

  23. Bruno October 22, 2025 at 6:06 am

    esse servo tem aquele problema de aquecer quando fica segurando posição muito tempo?

    1. Nikita Bragin
      Nikita Bragin October 24, 2025 at 12:05 am

      Sim, sob carga estática contínua ele aquece, e a proteção térmica reduz o torque por volta de 70 °C. Recomendamos limitar o torque de holding via firmware ou adicionar dissipação se for ficar parado segurando peso por longos períodos.

      1. Bruno October 24, 2025 at 6:23 am

        Agora está claro, obrigado.

  24. Ricardo Lima October 20, 2025 at 6:46 am

    uso uns 12 desses num hexápode e o aquecimento em coordenação de movimento é real, bom ver dados confirmando

  25. Ricardo Ribeiro October 18, 2025 at 6:27 am

    metodologia top, mas acho que faltou controlar melhor a temperatura ambiente durante as medições

  26. Tiago Ribeiro
    Tiago Ribeiro October 14, 2025 at 4:43 am

    repetibilidade ok. torque fraco. nada que surpreenda.

  27. Felipe October 14, 2025 at 1:27 am

    a parte da repetibilidade bidirecional foi o que mais me ajudou, ninguem testa isso direito por aí

Entre para deixar um comentário.