Índice:

Arduino - Balance - Balancing Robot - Como fazer ?: 6 etapas (com fotos)
Arduino - Balance - Balancing Robot - Como fazer ?: 6 etapas (com fotos)

Vídeo: Arduino - Balance - Balancing Robot - Como fazer ?: 6 etapas (com fotos)

Vídeo: Arduino - Balance - Balancing Robot - Como fazer ?: 6 etapas (com fotos)
Vídeo: Arduino Unboxing: Self-Balancing Robot Kit ELEGOO Tumbller 2024, Novembro
Anonim
Image
Image

Neste tutorial, aprenderemos como fazer o robô de balanceamento (balanceamento) do Arduino que se balança a si mesmo. Primeiro você pode dar uma olhada no vídeo tutorial acima.

Etapa 1: Hardware necessário

Montagem do Robô
Montagem do Robô

Placa Arduino (Uno) -

MPU-6050 GY521 Acc + Gyro -

Conjunto de motor de engrenagem codificador DC 6V 210 RPM -

Driver do motor L298N -

Botão de mudança -

Conjunto de porca de parafuso espaçador hexagonal M3 -

Folha de acrílico Perspex -

3,7v 18650 recarregável Li-ion + carregador -

Bateria 9V -

Jumper Wires -

Pistola de cola quente -

Kit inicial e suprimentos do Arduino (opcional): Placa Arduino e suprimentos SCM nº 01 -

Placa Arduino e suprimentos SCM # 02 -

Arduino Basic Learning Starter Kit # 01 -

Arduino Basic Learning Starter Kit # 02 -

Arduino Basic Learning Starter Kit # 03 -

Mega 2560 Starter Kit com tutorial -

Kit de módulo de sensor para Arduino # 01 -

Kit de módulo de sensor para Arduino # 02 -

Etapa 2: Montagem do Robô

Montagem do Robô
Montagem do Robô
Montagem do Robô
Montagem do Robô
Montagem do Robô
Montagem do Robô
  • Perfure quatro cantos de 3 folhas de acrílico. (Imagem 1 e 2)
  • Entre cada folha de acrílico haverá cerca de 8 cantímetros / 3,15 polegadas. (Imagem 3)
  • Dimensões do robô (aprox.) 15 cm x 10 cm x 20 cm. (Imagem 4)
  • O motor DC e as rodas serão colocados no centro (linha média) do robô. (Imagem 5)
  • O driver do motor L298N será colocado no centro do primeiro andar (linha média) do robô. (Imagem 6)
  • A placa do Arduino será colocada no segundo andar do robô.
  • O módulo MPU6050 será colocado no andar superior do robô. (Imagem 7)

Etapa 3: conexões

Conexões
Conexões
Conexões
Conexões

Teste o MPU6050 e verifique se ele funciona! Conecte o MPU6050 ao Arduino primeiro e teste a conexão usando os códigos do tutorial abaixo. O daha deve ser exibido no monitor serial

Tutorial de instrutíveis - MPU6050 GY521 Acelerômetro de 6 eixos + giroscópio

Tutorial do YouTube - MPU6050 GY521 6 eixos acelerômetro + giroscópio

O módulo L298N pode fornecer os +5 V necessários ao Arduino, desde que sua tensão de entrada seja +7 V ou superior. No entanto, optei por ter uma fonte de alimentação separada para o motor

Etapa 4: Como funciona o equilíbrio?

Como funciona o equilíbrio?
Como funciona o equilíbrio?
Como funciona o equilíbrio?
Como funciona o equilíbrio?
Como funciona o equilíbrio?
Como funciona o equilíbrio?
  • Para manter o robô equilibrado, os motores devem neutralizar a queda do robô.
  • Esta ação requer um feedback e um elemento de correção.
  • O elemento de feedback é o MPU6050, que dá aceleração e rotação em todos os três eixos usados pelo Arduino para saber a orientação atual do robô.
  • O elemento de correção é a combinação do motor e da roda.
  • O robô com autobalanceamento é essencialmente um pêndulo invertido.
  • Pode ser melhor equilibrado se o centro de massa for mais alto em relação aos eixos das rodas.
  • É por isso que coloquei a bateria por cima.
  • A altura do robô, entretanto, foi escolhida com base na disponibilidade de materiais.

Etapa 5: código-fonte e bibliotecas

Código-fonte e bibliotecas
Código-fonte e bibliotecas
Código-fonte e bibliotecas
Código-fonte e bibliotecas

O código desenvolvido para o robô de equilíbrio é muito complicado. Mas não precisa se preocupar. Vamos apenas alterar alguns dados.

Precisamos de quatro bibliotecas externas para fazer o robô de auto-equilíbrio funcionar

  • A biblioteca PID facilita o cálculo dos valores P, I e D.
  • A biblioteca LMotorController é usada para acionar os dois motores com o módulo L298N.
  • A biblioteca I2Cdev e a biblioteca MPU6050_6_Axis_MotionApps20 são para leitura de dados do MPU6050.

Baixar Bibliotecas

PID -

LMotorController -

I2Cdev -

MPU6050 -

Obtenha o código-fonte -

O que é PID?

  • Na teoria de controle, para manter alguma variável (neste caso, a posição do robô) constante, é necessário um controlador especial denominado PID.
  • P para proporcional, I para integral e D para derivada. Cada um desses parâmetros tem “ganhos” normalmente chamados de Kp, Ki e Kd.
  • O PID fornece correção entre o valor desejado (ou entrada) e o valor real (ou saída). A diferença entre a entrada e a saída é chamada de “erro”.
  • O controlador PID reduz o erro ao menor valor possível ajustando continuamente a saída.
  • Em nosso robô de autobalanceamento Arduino, a entrada (que é a inclinação desejada, em graus) é definida pelo software.
  • O MPU6050 lê a inclinação atual do robô e a alimenta para o algoritmo PID, que realiza cálculos para controlar o motor e manter o robô na posição vertical.

O PID requer que os valores de Kp, Ki e Kd dos ganhos sejam “ajustados” para valores ótimos

Em vez disso, ajustaremos os valores PID manualmente

  1. Faça Kp, Ki e Kd iguais a zero.
  2. Ajuste Kp. Muito pouco Kp fará o robô cair (correção insuficiente). Muito Kp fará com que o robô vá para frente e para trás descontroladamente. Um Kp bom o suficiente fará o robô ir um pouco para frente e para trás (ou oscilar um pouco).
  3. Assim que o Kp for definido, ajuste Kd. Um bom valor de Kd diminuirá as oscilações até que o robô esteja quase estável. Além disso, a quantidade certa de Kd manterá o robô de pé, mesmo se for pressionado.
  4. Por último, defina o Ki. O robô irá oscilar ao ser ligado, mesmo se Kp e Kd estiverem definidos, mas se estabilizará com o tempo. O valor correto de Ki encurtará o tempo que leva para o robô se estabilizar.

Sugestão para melhores resultados

Eu recomendo que você crie uma estrutura de robô semelhante usando os materiais usados neste projeto para fazer o código-fonte do Balance Robot funcionar de forma estável e eficiente.

Etapa 6: para suporte

Para suporte
Para suporte
  • Você pode se inscrever no meu canal no YouTube para mais tutoriais e projetos.
  • Além disso, você pode se inscrever para obter suporte. Obrigada.

Visite meu canal no YouTube -

Recomendado: