Arduino, Projeto, Robótica, Software

Sr Quarentino

Foto Robô Quarentino

Foto Robô Quarentino

Em quarentena… resolvi montar alguma coisa. Sr Quarentino. Um robô do tipo “self balancing” que funciona como um pêndulo invertido.

Foto Robô Quarentino
Foto Robô Quarentino

Encontrei esse vídeo abaixo e gostei muito. A partir daí busquei a viabilidade de montar um com o material que tenho em mãos.

Os desenvolvedores forneceram os arquivos .STL para impressão 3D e software.

Meu 1° problema: Utilizam uma placa customizada com Arduino Leonardo ( ATmega32u4) e no código foi usado acesso direto a vários registradores dele. Como não tenho esse tipo de microcontrolador e demoraria para fazer portabilidade do código procurei alternativas…

Foi então que achei esse outro vídeo:

Ele usou um arduino nano V3 ( esse sim tenho=D )… e outros módulos:

  • Arduino Nano V3(ATmega328P)
  • MPU6050 (GY-)
  • stepstick A4988 (polulu)
  • Motores nema17
  • Bluetooth
  • software é o BalancingWii rev 1.0 (versão modificada do  MultiWii 2.3 firmware, que é um firmware para “drones”)

Meu 2° problema… lembrei que meu módulo bluetooth já não funciona mais =( maaass no código existe a opção de usar controle de aeromodelo com porta CPPM. Com isso imprimi os arquivos do “BRobot Evo2” (o do primeiro vídeo) e usei o software do segundo vídeo…

Impressão:

Os arquivos para impressão podem ser encontrados no thingiverse.com. Imprimi a versão 2.

OBS: As rodas no final são cobertas por um pedaço de correia GT2 que é colado na roda (usei cola de isopor pois a super cola não funcionou bem).

OBS 2: o STL para o braço não encaixou o braço do servo. Foi necessário alargar o furo para caber o braço do servo. Usei um sevo MG90.


Eletrônica:

O esquema eletrônico não foi fornecido… porém no github e dentro do código do BalancingWii rev 1.0 contém as informações básicas escritas.

OBS: Um detalhe importante não mencionado é a orientação do sensor MPU6050. O eixo Y aponta para a frente do robô. O eixo X aponta para a direita do robô e o Z para cima.

Abaixo está um trecho do “readme” da página github do BalancingWii rev 1.0.

Pinout for Arduino nano (atmega328p):

  • A0 – V_BATPIN: after the resistor divisor we should get [0V;5V]->[0;1023] on analogue V_BATPIN with R1=33k and R2=51k, i.e. (+12v)51k(A0 pin)33k(GND)
  • A2 – BUZZERPIN

I2C:

  • A4 – SDA
  • A5 – SCL

RC control:

  • D2 – CPPM (PPM_SUM)

Motor driver pins:

  • D5 – STEP1 (PORTD 5)
  • D6 – STEP2 (PORTD 6)
  • D7 – DIR1 (PORTD 7)
  • D8 – DIR2 (PORTB 0)
  • D4 – ENABLE (for both)

If you look to the tail of the robot:

  • right motor = STEP1 & DIR1
  • left motor = STEP2 & DIR2

Software:

O firmware é só baixar, compilar na IDE Arduino e enviar para o Arduino Nano v3. Após isso pode-se usar o software MultiWiiConf.exe que está dentro da pasta application.windows32. Esse software ajuda a configurar os parâmetros como o PID e outros detalhes. Também existe a opção via Bluetooth de controle e configuração através do aplicativo EZ-GUI ground station.

OBS: na interface gráfica não apareceu a o valor de tensão… não verifiquei ainda o motivo.

OBS 2: Como esse firmware não foi configurado para usar o braço do robô ainda não funciona, mas pela versatilidade do código será possível acrescentar o controle do braço futuramente.