Roteiro de aprendizagemIniciante

Controle de motores para robôs: roteiro de aprendizagem

Você pode acionar dois motores com velocidade e direção precisas, medir quanto eles giraram e pilotar um robô com acionamento por diferencial.

Os motores são o ponto em que as decisões de um robô se tornam movimento. Este roteiro constrói o controle de motores desde o início: primeiro, comute com segurança a corrente dos motores usando uma ponte H e PWM; depois, feche a malha de controle lendo encoders, para saber quanto e a que velocidade cada roda girou; por fim, combine duas rodas em direção e odometria por acionamento por diferencial.

Siga os nós em ordem — cada um libera o próximo depois de concluído. Ao final, você poderá comandar as rodas de um robô com precisão real, a base para seguimento de linha, resolução de labirintos e navegação autônoma.

Antes de começar

Você precisa se sentir à vontade para montar circuitos em uma protoboard e medir uma tensão, além de ter um microcontrolador que você já consiga gravar — um Arduino Uno é a escolha usual. Não é preciso conhecer teoria de controle; isso é assunto da trilha de controle PID, que espera que esta seja concluída primeiro.

O que você será capaz de fazer

  • Acionar um motor de CC com escovas nos dois sentidos e na velocidade comandada, sem aquecer o driver nem a placa.
  • Explicar por que um motor fica parado com ciclo de trabalho de 15% e começa a se mover aos 30%, e medir esse limiar no seu equipamento em vez de adivinhá-lo.
  • Converter pulsos brutos de encoder em milímetros percorridos e milímetros por segundo, incluindo o fator de quadratura ×4.
  • Transformar “gire 90° à esquerda” em velocidades para as rodas esquerda e direita e prever onde o robô chegará apenas pelo movimento das rodas.
  • Dimensionar um motorredutor com base na massa e nas rodas do próprio robô, em vez de comprar o que veio no kit e descobrir as limitações no carpete.
  • Medir a folga da sua caixa em graus e dizer quanto ela afeta a odometria.
  • Calcular a maior força que o robô pode aplicar no piso e dizer se o limite está nos motores ou nos pneus.

Onde as pessoas costumam travar

Alimentar os motores pelo trilho de 5 V do controlador. Essa é a falha mais comum no primeiro robô. O regulador não fornece a corrente dos motores, então o trilho despenca, a placa sofre uma queda de tensão e reinicia, e o sintoma parece um bug de software. Os motores devem ter a própria fonte; somente a parte lógica do driver compartilha os 5 V da placa — a página do orçamento de potência traz os cálculos e a medição.

Ausência de uma referência comum de terra. O driver e o controlador precisam compartilhar a referência de terra, ou os pinos de direção não têm efeito. Tudo parece conectado corretamente e nada se move.

Esperar que a odometria permaneça exata. A odometria das rodas deriva sem limite — cada patinação e cada milímetro de erro no diâmetro das rodas se acumula e nunca é corrigida. É excelente em um metro e inútil em cem. Essa limitação é a razão de existir a trilha de mapeamento.

Contar flancos do encoder de forma inconsistente. Um encoder de quadratura fornece quatro flancos contáveis por ciclo. Contar apenas um e usar o valor ×4 do datasheet faz toda distância diferir por um fator de quatro, como se a roda estivesse totalmente descalibrada.

Culpar o controlador pelo comportamento da caixa. Erro que muda de sinal com a direção é mecânico, não um problema de ajuste. Um conjunto de engrenagens tem folga, eliminada em cada inversão, e um encoder montado no eixo do motor não consegue detectá-la.

O que você precisa

Item Por que esta trilha precisa dele Observações
Dois motoresredutores de CC O assunto de toda a trilha As versões com encoder custam um pouco mais e evitam uma reconstrução posterior
Um driver de motor Uma ponte H para que um pino lógico comande a corrente do motor L298N, se veio no kit; TB6612FNG, se você vai comprar
Uma bateria separada para os motores O trilho que os motores derrubam não pode ser o mesmo que alimenta a placa Qualquer pacote capaz de fornecer a corrente de travamento
Um multímetro Para medir a corrente de travamento e a queda da tensão de alimentação O modo de corrente é importante aqui, não apenas a tensão
Uma trena Para conferir se “percorra 1 m” produziu 1 m O instrumento mais barato e honesto da bancada

Por que a trilha segue esta ordem

O dimensionamento vem antes da montagem de propósito. Quase toda pergunta sobre “meu robô está lento demais” ou “meu driver queimou” é uma decisão de dimensionamento tomada por acidente, meses antes, ao usar o motor que estava na caixa. Calcular o torque de que seu robô precisa leva vinte minutos e resolve dúvidas que o restante da trilha continuaria levantando.

A aderência vem logo após o dimensionamento porque define o segundo limite e, em um robô pequeno, é o menor. O torque de travamento indica o que o motor pode produzir; o atrito indica o que o piso aceita. Um robô leve em um piso liso atinge o limite de aderência com aproximadamente um quarto do torque de travamento, o que significa que os últimos três quartos da capacidade do motor nem chegam ao solo. Dimensionar sem considerar a aderência produz um robô forte no papel, mas que gira as rodas no lugar.

PWM vem antes dos encoders porque um motor em malha aberta é o elemento mais simples que pode dar errado, e um erro de fiação é muito mais fácil de depurar sem uma malha de controle sobreposta. Primeiro, faça as duas rodas girarem nos dois sentidos com o ciclo de trabalho comandado.

Os encoders vêm antes do acionamento por diferencial porque ele é uma conta aplicada ao movimento medido das rodas. Sem encoders, você consegue pilotar, mas não dizer para onde o robô foi, e a metade de odometria desse nó não tem dados com que trabalhar.

Os perfis e os dois nós sobre perdas vêm por último porque cada um corrige uma ideia que os nós anteriores deixaram você acreditar. Perfis de movimento corrigem a ideia de que é possível comandar uma posição diretamente. A patinação das rodas corrige a ideia de que o encoder mede o solo. A folga da caixa corrige a ideia de que o encoder mede a roda. As três correções são decepcions, e as três são mais baratas de aprender aqui do que em um robô que você tenta concluir.

Pontos de verificação: como saber que uma etapa foi dominada

Etapa Verificação Como é um resultado aprovado
Dimensionamento do motor Calcule o torque necessário a partir da massa, do raio das rodas e da aceleração desejadas Um valor em N·m que você pode comparar a um datasheet — e você conhece a corrente de travamento do motor
Limite de aderência Mantenha o robô encostado em uma balança de cozinha, com o motor na máxima potência A leitura estabiliza bem abaixo da força de travamento do motor, e as rodas estão girando
Controle por PWM Varra o ciclo de trabalho de 0 a 255 em passos de 5 em cada roda Você sabe o ciclo em que cada roda começa a girar, e os dois valores são diferentes
Controle de direção Comande avance, ré e freio nos dois canais Todos os seis estados se comportam corretamente, e você explica como o freio difere da rolagem livre
Encoders Empurre o robô exatamente 1 m à mão e leia as contagens As contagens convertem para 1000 mm ± 20 mm, usando o fator de quadratura ×4
Acionamento por diferencial Comande um giro de 90° no lugar e meça com um transferidor Dentro de poucos graus e repetível — um erro constante é folga da caixa; um erro aleatório é patinação
Perfis de movimento Comande um movimento curto e um longo com os mesmos limites O movimento curto nunca alcança a velocidade máxima, e você explica pelo formato do perfil
Folga da caixa Gire a roda à mão até sentir resistência em cada sentido Você tem um valor em graus, e ele não é zero

Onde esta trilha termina

Esta trilha termina ao comandar movimento com precisão. Ela não fecha uma malha em torno de um objetivo externo — não há linha a seguir, parede a manter nem referência a alcançar. Isso é controle PID, que pressupõe tudo o que foi visto aqui.

Há três omissões deliberadas que vale nomear. Motores sem escovas e ESCs são outro problema de controle, e quase nenhum robô terrestre pequeno precisa deles. Motores de passo trocam o encoder por posição em malha aberta, ao custo de torque e velocidade — uma troca válida para uma impressora e inválida para um rover —; eles têm sua própria trilha em movimento de precisão com motores de passo. Acionamentos holonômicos — rodas mecanum e omni que permitem movimentação lateral — exigem quatro rodas controladas de forma independente e um conjunto diferente de cinemática, além de terem sua própria trilha em acionamento holonômico. E a medição de corrente — medir o que o motor realmente consome, em vez do que foi comandado — é a maneira profissional de detectar travamento e é realmente útil, mas exige equipamento que a maioria dos drivers iniciais não tem.

Roteiro de aprendizagem

O caminho

Siga os nós em ordem — cada um desbloqueia o próximo depois que você o conclui. Seu progresso fica salvo neste dispositivo.

0 / 13 concluídos

100%
Tutorial

Controle de motores de CC com PWM e ponte H

Tutorial

Abrir tutorial
Tutorial

Meça distância e velocidade com encoders

Tutorial

Abrir tutorial
Tutorial

Acionamento por diferencial e odometria

Tutorial

Abrir tutorial
Tutorial

Use uma rampa de movimento, não um comando direto

40 min

Abrir tutorial
Objetivo

Pilote um robô com precisão

Habilidade desbloqueada

Dúvidas comuns

Perguntas frequentes

O que preciso aprender para controlar os motores de um robô?

Quatro camadas, em ordem. Primeiro, dimensionamento: transforme a massa e o diâmetro das rodas do seu robô no torque e RPM que realmente precisa, para escolher o motor em vez de herdá-lo de um kit. Segundo, comutação: uma ponte H e PWM permitem que um pino lógico controle uma corrente que jamais poderia fornecer. Terceiro, medição: um encoder informa quanto cada roda girou, em vez de o robô supor. Quarto, combinação: o acionamento por diferencial transforma duas velocidades de roda em rumo e posição. Tudo depois disso — seguimento de linha, PID, navegação — é construído sobre essas quatro camadas.

Por que meu motor não se move até cerca de 30% de ciclo de trabalho PWM?

É necessário vencer o atrito estático e a resistência de partida da caixa antes que qualquer peça gire; abaixo desse limiar, o motor fica apenas zumbindo. O valor depende do equipamento específico — relação da caixa, estado dos mancais, temperatura e peso sobre as rodas — e precisa ser medido, não consultado. Aumente o ciclo de trabalho em passos de 5 e anote quando cada roda começa a girar. Robôs costumam ter dois limiares diferentes, um por lado, e um robô que desvia em baixa velocidade normalmente mostra essa diferença, não um erro de direção.

Quão precisa é a odometria das rodas?

Excelente em um metro e inútil em cem. A odometria integra o movimento das rodas, portanto todo erro que ela comete é permanente — não existe medição que o corrija. A patinação aleatória cresce com a raiz quadrada da distância, o que é tolerável, mas um erro sistemático, como um diâmetro de roda 1% fora da medida, cresce linearmente, o que não é. Na prática, a odometria é a ferramenta certa para fechar uma malha de controle nos próximos segundos e a errada para saber onde você está depois de cinco minutos.

L298N ou TB6612FNG — qual driver de motor devo usar?

TB6612FNG para quase qualquer robô pequeno. Seu estágio de saída com MOSFETs tem uma queda de tensão de cerca de 0,5 V, contra aproximadamente 2 V do L298N; em um motor de 6 V, essa diferença equivale a um terço da alimentação e é dissipada como calor antes de chegar ao motor. O L298N se justifica quando você precisa de mais de aproximadamente 1,2 A por canal continuamente ou quando a alimentação do motor ultrapassa o limite de 13,5 V do TB6612FNG. Ele também é o que a maioria dos kits inclui, por isso vale conhecê-lo bem, mesmo que você o substitua.

Preciso de encoders em um robô para iniciantes?

Não para um seguidor de linha, que se orienta pelo sensor de linha e nunca precisa saber quanto percorreu. Você precisa deles assim que o robô tiver de percorrer uma distância definida, girar um ângulo definido ou manter uma velocidade que não cai quando a bateria perde carga ou o carpete fica mais grosso. Um solucionador de labirinto com sensores de linha precisa deles; um primeiro seguidor de linha, não. Adicioná-los depois exige trocar os motores; se você espera chegar a essa necessidade, compre motores que já venham com encoder.

Por que a virada do meu robô ultrapassa o alvo sempre na mesma medida?

Erro constante que muda de sinal conforme a direção é mecânico, não um problema de ajuste. Todo conjunto de engrenagens tem uma folga que precisa ser eliminada antes de a saída se mover, e essa folga é consumida em cada inversão. Um encoder montado no eixo do motor fica do lado errado da caixa e não consegue detectar essa folga, portanto o controlador acredita que o movimento terminou. Meça a folga em graus na roda e compense-a no software ou evite inverter no meio do movimento.