Escolhendo motores elétricos com bom custo-benefício para o braço robótico

Views icon 5550
Choosing Electric Motors for the Robot Arm

Neste artigo, quero discutir como ocorreu a seleção do componente mais importante do manipulador robótico: os motores elétricos. Vou começar com uma visão geral das soluções escolhidas pela Trossen Robotics no manipulador Viper X 300 S, que é uma das soluções mais populares para projetos de pesquisa como Aloha 2 e Pi0.

Servoacionamentos no manipulador Viper X 300 S

Servoacionamentos no manipulador ViperX 300 S

Servoacionamentos no manipulador ViperX 300 S

Antes de tudo, examinamos as soluções existentes para manipuladores com 6DOF (seis graus de liberdade). O manipulador no qual me concentrei é o Viper X 300 S, já que originalmente fazia parte da lista de materiais do Aloha 2. O fabricante disponibilizou parte da documentação e dos desenhos, e me pareceu uma ótima ideia reaproveitar essas soluções.

Braço robótico de mesa ViperX-300 6DOF

Braço robótico de mesa ViperX-300 6DOF

O principal desafio na criação de um manipulador acessível é encontrar acionamentos acessíveis com alto torque. No Viper X 300 S, a Trossen Robotics utilizou DYNAMIXEL XM430-W350 servomotores com torque de bloqueio de 4 Nm, com preço de $290, and DYNAMIXEL XM540-W270-T/R servomotores com torque de bloqueio de 10 Nm, com preço de $430. A total of 9 servo motors são necessários para criar um manipulador assim, elevando o custo total a US$ 3.590, o que já não pode ser considerado acessível.

ID Nome da junta Servo Taxa de transmissão Preço
1 cintura XM540-W270 1Mbps $430 
2 ombro XM540-W270 1Mbps $430 
3 ombro (secundário) XM540-W270 1Mbps $430 
4 cotovelo XM540-W270 1Mbps $430 
5 cotovelo (secundário) XM540-W270 1Mbps $430 
6 rotação do antebraço XM540-W270 1Mbps $430 
7 ângulo do punho XM540-W270 1Mbps $430 
8 rotação do punho XM430-W350 1Mbps $290
9 garra XM430-W350 1Mbps $290
Total $3590

Um engenheiro (doravante chamado de Alan) que atualmente trabalha no projeto fez um cálculo cinemático para um braço manipulador com comprimento total de 700 mm e capacidade de carga de 750 gramas.

Juntas do ViperX 300

Juntas do ViperX 300

Versão 1.1 — 0,75 kg
Fator de segurança de inércia — 1,5
Junta Eixo Ombro, cm Carga kg*sm kg*sm Peso na extremidade kg
Base 0 0 3 7
Ombro 1 20 1,8 54,0 81 carga 0,75
Cotovelo 2 20 1,5 30,0 45,0 garra 0,25
Antebraço 3 0 1,2 0 0 servo 0,1
Mão -1 4 15 1,1 16,5 24,8
Mão — 2 5 0 1 0 0
Garra 6 0 0,75 0 0

De acordo com os cálculos, na base do braço precisamos de acionamentos com torque necessário de 81 kg·cm, ou 8 Nm no total. Isso significa que, se instalarmos dois servomotores na base, cada um com torque de bloqueio de 4 Nm, deve ser suficiente. No entanto, é fundamental entender que, se um servomotor tem torque de bloqueio de 4 Nm, seu torque efetivo de pico — no qual pode operar de forma estável — costuma ser cerca da metade desse valor, como ilustrado no Performance Graph.

XM430-W350 Performance Graph

XM430-W350 Performance Graph

Essa limitação precisa ser levada em conta para garantir que o manipulador consiga lidar com as cargas desejadas sem sobrecarregar os motores.

Tipos de servoacionamentos

Comecei a estudar quais tipos de motores são usados em manipuladores econômicos.

  • Motores de passo, como o Nema 17 e o Nema 23.
    Motor de passo Nema 17

    Motor de passo Nema 17

  • Motores PWM (modulação por largura de pulso), como o Dsservo de 160 kg·cm.
    Dsservo DS51160MG

    Dsservo DS51160MG

  • Motores UART (transmissor-receptor assíncrono universal), como o Feetech STS 3215-C01.
    Feetech-STS3215

    Feetech-STS3215

Em quais indicadores-chave vamos nos concentrar?

  • Torque
  • Precisão
  • Corrente, tensão
  • Realimentação (sensores de temperatura, corrente e posição)
  • Peso
  • Custo

O que é torque do motor?

Torque = força (F) × distância (d)

Torque = força (F) × distância (d)

O torque do motor é a força que o faz girar. Você pode pensar nele como a “força de torção” que ajuda o motor a realizar seu trabalho. Quanto maior o torque, mais fácil é para o motor acelerar e levantar cargas pesadas. Isso é importante para os carros: um bom torque ajuda a acelerar melhor e a subir ladeiras.

O torque de um motor é definido como o produto da força aplicada pela distância do ponto de pivô até onde essa força é aplicada. A fórmula é a seguinte:

Torque = força × distância (ou torque = F × d). Quanto maior o torque, maior o braço de alavanca com que esse motor pode trabalhar.

Precisão de posicionamento

Na robótica, este é um dos indicadores mais importantes, pois a tarefa do servoacionamento é posicionar com precisão o braço no espaço, e quanto mais preciso conseguirmos, melhor. As principais características de um braço robótico são a repetibilidade e a precisão absoluta.

Repetibilidade

Refere-se à capacidade do manipulador de retornar ao mesmo ponto no espaço após vários ciclos. É medida em milímetros (por exemplo, ±0,01 mm). Quanto menor o valor, maior a precisão das repetições de movimento.

Precisão absoluta

É a capacidade do manipulador de alcançar um ponto determinado no espaço em relação a um sistema de coordenadas global. É medida em milímetros (por exemplo, ±0,1 mm). A precisão absoluta costuma ser pior que a repetibilidade devido ao acúmulo de erros na cinemática.

Sensores de realimentação

Sensores de posição

  • Sensores de efeito Hall: esses sensores determinam a posição do rotor. Eles usam ímãs para saber onde está a parte móvel do motor (o rotor) ou a que velocidade ela gira.
    Princípio de funcionamento do sensor de efeito Hall

    Princípio de funcionamento do sensor de efeito Hall

  • Resolvers: fornecem a determinação precisa do ângulo de rotação. Funcionam como “detectores angulares” precisos, indicando a posição exata do rotor do motor.
    Princípio de funcionamento do resolver

    Princípio de funcionamento do resolver

  • Potenciômetros: este dispositivo, semelhante a um controle de volume, altera a resistência conforme o motor se move, indicando a posição de seu eixo.
    Princípio de funcionamento do potenciômetro

    Princípio de funcionamento do potenciômetro

  • Codificadores ópticos: fornecem informações sobre a posição e a velocidade do rotor. Imagine uma pequena roda com fendas. A luz passa por essas fendas e, contando esses lampejos, determinamos quantas voltas o motor deu e onde ele está.
    Princípio de funcionamento do codificador óptico

    Princípio de funcionamento do codificador óptico

  • Codificadores magnéticos: também medem a posição e a velocidade usando campos magnéticos. Utilizam ímãs para rastrear a posição do motor e funcionam bem mesmo em condições difíceis.
    Princípio de funcionamento do codificador magnético

    Princípio de funcionamento do codificador magnético

Sensores de corrente

  • Sensores de medição de corrente: medem a corrente consumida pelo motor para avaliar a carga.
    Princípio de funcionamento do sensor de medição de corrente

    Princípio de funcionamento do sensor de medição de corrente

Sensores de temperatura

  • Termopares ou termistores: monitoram a temperatura do motor para evitar o superaquecimento.
    Princípio de funcionamento do termopar

    Princípio de funcionamento do termopar

Motores de passo

Esquema do motor de passo

Esquema do motor de passo

Não entrei em detalhes sobre os motores de passo devido ao seu tamanho, maior peso, menor torque e baixa precisão de posicionamento.

For example, the Nema 17 Bipolar 1.8° 36Ncm pode ser comparado ao servomotor UART econômico ST3215-C018 em uma faixa de preço semelhante. O Nema 17 pesa 280 gramas e tem torque de 36 N·cm (ou 3,6 kg·cm) com ângulo de passo de 1,8 grau.

Motor de passo Nema 17

Motor de passo Nema 17

O servomotor em uma faixa de preço semelhante, Feetech ST3215-C018, pesa 55 gramas, tem torque de 30 kg·cm e precisão de posicionamento de 0,09 grau.

Modelo do motor Massa/gramas  Torque nominal/kg Precisão/graus Preço/$
Nema 17 Bipolar 1.8deg 36Ncm 280 3,6 1,8 10,75
Feetech ST3215-C018 55 15 0,09 16.45

Então, se compararmos com base nas características-chave que consideramos para o nosso braço — peso × torque × precisão de posicionamento —, a diferença seria (280 / 55) × (15 / 3,6) × (1,8 / 0,09) ≈ 424 vezes. É claro que não podemos comparar esses tipos de motores apenas com base nesses 3 parâmetros; deixamos de fora uma série de outros fatores, como RPM, relação de redução, ruído e folga. Se os adicionarmos à tabela de comparação, a diferença já não será tão significativa. Para alguns cenários, o motor Nema pode ser a melhor escolha.

PWM versus UART

Esquema básico do servoacionamento

Esquema básico do servoacionamento

Comecei a procurar servos acessíveis com alto torque. A primeira coisa que encontrei foi o Dsservo RDS51150, que tem torque de 150 kg·cm, um valor muito alto para esse tipo de servo. Uma característica desses servos é que incluem um sistema de controle com um sensor de posição baseado em potenciômetro, o que dificulta a obtenção de realimentação e o controle da posição devido à precisão e à sensibilidade limitadas do potenciômetro.

Princípio da modulação por largura de pulso

Princípio da modulação por largura de pulso

Uma característica do funcionamento dos motores Dsservo é que são motores PWM (modulação por largura de pulso). Esse é um método de controlar a potência da corrente elétrica ligando-a e desligando-a em pulsos. Eles não possuem um codificador magnético para transmitir a posição atual do eixo e não têm controlador integrado. Esses motores não são adequados para uso em sistemas robóticos nos quais a precisão de posicionamento e a realimentação são importantes.

Pensei em como compensar essas deficiências. Encontramos um codificador magnético adequado, o AS5600, com 4600 posições. Além disso, precisávamos de um controlador capaz de operar com PWM.

Codificador magnético AS5600

Codificador magnético AS5600

Alan recomendou um bom programador que trabalha com robótica. Ele sugeriu abandonar o PWM em favor dos motores UART (transmissor-receptor assíncrono universal), pois as complexidades adicionais no controle por software e na implementação técnica provavelmente não se justificariam. A confiabilidade dos motores PWM baratos em comparação com os UART também é questionável, já que os potenciômetros integrados para detecção de velocidade falham com frequência.

PWM UART
Princípio de funcionamento Analógico: controle da potência por meio de modulação por largura de pulso Digital: transmissão de comandos por interface serial
Tarefa principal Regulação suave da velocidade (motores CC) Posicionamento preciso (servoacionamentos)
Precisão Alta para velocidade, baixa para posição Alta para posicionamento (precisão de passo)
Comunicação Unidirecional (controle → motor) Bidirecional (suporta realimentação)
Complexidade do hardware Mínima (driver + gerador PWM) Alta (controlador com UART + protocolo)
Eficiência energética Maior (controle direto da potência) Menor (depende do protocolo e do processamento)
Aplicações típicas Furadeiras, ventiladores, servoacionamentos Impressoras 3D, CNC, robótica

No caso dos motores UART, podemos conectá-los em série em um único barramento, obtendo realimentação sobre posição, intensidade de corrente e temperatura do motor. No entanto, o custo de tais motores com torque semelhante será significativamente maior.

Comecei a considerar motores UART adequados e, após uma análise cuidadosa, optei pelos seguintes tipos: Feetech de 30 kg e 50 kg. Ao comprar em lotes de 100 unidades, o custo será de $12 each.

Servomotor Feetech STS3215-C018. Torque e folga

Servomotor Feetech STS3215

Servomotor Feetech STS3215

O engenheiro preparou um cálculo cinemático do sistema com base nos valores de torque indicados no site do vendedor. Nesse ponto, Alan destacou que o torque especificado para o motor é o torque de bloqueio, ou seja, o torque máximo com o qual o motor ainda consegue operar antes de parar completamente sob carga. Portanto, não podemos usar esse torque para considerar a capacidade de elevação do manipulador, pois ele simplesmente não se moverá sob tal carga.

Gráfico de torque, potência, eficiência e corrente

Gráfico de torque, potência, eficiência e corrente

Os gráficos do link following graphs vêm em socorro e mostram que o torque operacional máximo no qual devemos nos concentrar é, na verdade, a metade do indicado — isso pode ser visto no meio do gráfico. Especificamente, ele mostra 15 e 25 kg·cm. Isso significa que, se usarmos um braço de alavanca de 700 mm com dois motores de 50 kg, conseguiríamos uma capacidade de elevação máxima de 240 gramas, o que é insuficiente.

No mês passado, Alan encomendou várias amostras para testar em casa. Foi isto que notamos.

Medição da folga do Feetech STS3215

Medição da folga do Feetech STS3215

A folga do servomotor é o dobro do indicado (≤0,5°) em the technical documentation, medindo 3 mm para um comprimento de braço de 160 mm, o que corresponde a aproximadamente 1,072 grau.

 

Em segundo lugar, medimos a temperatura sob carga constante.

 

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

Teste de superaquecimento com carga estática. Feetech STS3215

Teste de superaquecimento com carga estática. Feetech STS3215

O braço com um haltere foi posicionado de lado, segurando 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 aumentar mais.

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 atingiu 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 atingir 71 °C, momento em que o motor superaqueceu.

Conclusões

  • Limite crítico de temperatura: a 71 °C, o motor apresenta problemas, como observado nos experimentos realizados ontem e hoje (dois casos). Aparentemente não há proteção térmica integrada, portanto será necessário desligá-lo manualmente quando essa temperatura for atingida.
  • Efeito da aceleração no aquecimento: reduzir a aceleração aumentou a velocidade de subida da temperatura. Inicialmente, com uma aceleração de 5, a temperatura atingiu 60 °C. Baixar a aceleração para 2 resultou em superaquecimento após um tempo adicional. Amanhã, testes posteriores medirão 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.

Por enquanto, é isso sobre os motores elétricos. As novidades sobre o nosso progresso na robótica certamente serão publicadas no site!