Robô com Arduino

Tutorial: Como montar um Robô com Arduino Leave a comment

Neste post vou ensinar como montar um Robô com Arduino. A montagem não é complicada! Você não precisa ser um expert em eletrônica para montar este robô.

Mas precisa ter noções básicas (para poder ligar os cabos corretamente), além de fazer soldagem de componentes e fios.

Robô com Arduino – Por onde começar?

Em primeiro lugar, você deve definir o que seu robô vai fazer e em que ambiente ele vai se deslocar. Isso é essencial para a escolha das peças e estrutura corretas. Por exemplo, a estrutura de um robô que irá se deslocar em piso liso e limpo será muito diferente daquela de um robô capaz de se locomover em ambientes externos com piso de areia.
Uma opção bem econômica é aproveitar aquele velho carro de controle-remoto que você não usa mais (ou roubar o do seu irmão). Nesse caso, você pode aproveitar a estrutura mecânica e os motores. Retire toda a eletrônica original (com cuidado, para que você consiga montar novamente caso seu irmão descubra), e substitua pelas placas que vou descrever a seguir.

Robô com Arduino – Dicas de Montagem

Base

 
A base tem dimensões de 98 x 86 x 39 mm. É feita de plástico, tem suporte para 4 pilhas AA, para os dois motores e para as rodas. As quatro rodas e as duas esteiras de borracha acompanham o conjunto.
A base vem quase pronta, mas alguma montagem é necessária. Você vai precisar encaixar os contatos metálicos para as pilhas. Os contatos das extremidades não têm local fixo de encaixe, então você pode colá-los com um pouco de Super Bonder ou prender com uma fita dupla-face. Eu usei fita isolante mesmo. É uma boa ideia soldar os fios aos contatos das pilhas antes de prendê-los à base!
Lembre-se de usar fios de cores diferentes para os terminais positivo e negativo das pilhas, pois isso ajuda a evitar ligações incorretas que podem resultar em queima dos circuitos.

Motores 

Os motores que usei são micro-motores de 6V que já vêm com uma caixa de redução de 100:1. Ou seja, a cada 100 voltas no eixo do motor, a roda dará apenas uma volta. Isso significa que a roda gira numa velocidade muito menor que o eixo do motor. Porque queremos isso? Simples: com a caixa de redução, o torque disponível na roda aumenta na mesma proporção da redução da velocidade. Ou seja, o robô fica mais lento, mas muito mais forte!
No site da Tecnotronics você encontra outros motores que se encaixam na base. Eles têm o mesmo tamanho e mesma tensão, mas relação de redução é diferente. Com isso, se você quiser um robô mais rápido (e menos forte), pode usar um motor com redução menor (50:1, por exemplo).
Atenção! As rodas dos motores são diferentes! Elas tê um pequeno rasgo na lateral e o encaixe do eixo não é perfeitamente redondo: possui um chanfro para encaixar o eixo do motor. Depois de encaixar os motores nas rodas, você pode usar a própria roda como base para soldar os fios nos terminais dos motores. De novo, lembre-se de usar cores diferentes para os terminais positivo e negativo.
Robô com Arduino

Motor Shield para Arduino

O uso do Arduino como placa controladora permite a utilização de um shield para controle dos motores. Eu usei o Arduino Uno, mas você também pode usar outras versões, como o Leonardo ou o Duemilanove.
Ele tem um chip com duas pontes-H com capacidade para controlar dois motores de corrente contínua de maneira independente. Recebe alimentação entre 6 e 15V e inclui um regulador de 5V para alimentar o Arduino, o que é muito interessante já que as 4 pilhas (alcalinas) resultam numa fonte de 6V.
Robô com Arduino
A ligação dos motores ao motor shield é bem simples: basta parafusar seus fios ao conector verde com as indicações M1+, M1-  (motor 1) e M2+, M2- (motor 2).  Os terminais da bateria devem ser ligados ao conector com as indicações VS (positivo) e GND (negativo). O jumper J4 deve permanecer encaixado para que a alimentação do Arduino seja feita através do regulador do motor shield.  Encaixe o motor shield no Arduino de maneira que as bordas das placas fiquem alinhadas.
Um código para teste do shield e acionamento dos motores está disponível na página do fabricante (veja link no final do post). A velocidade dos motores é controlada pela variação da razão cíclica do sinal PWM gerado pelo Arduino.
No exemplo do fabricante ele usa a função analogWrite para gerar o PWM, o que resulta num sinal com frequência de ~490Hz. Nos testes os motores funcionaram sem nenhum problema com esse PWM, mas emitiram ruído audível que pode incomodar um pouco.

Robô com Arduino Detalhe importante:

Para que o robô se desloque em linha reta é necessário que as duas esteiras girem na mesma velocidade. No seu programa você pode usar o mesmo valor na função analogWrite de ambos os motores. Mas isso não garante que as rodas irão girar na mesma velocidade! Apesar de serem do mesmo tipo, dois motores nunca são exatamente iguais. Além disso, características como atrito, deslizamento e até diâmetro das rodas irão afetar a velocidade final de deslocamento.

Um robô só é um robô de verdade quando ele pode perceber o meio. Um sensor muito popular que permite a medição de distância a obstáculos é o sensor ultrassônico. A figura ao lado apresenta dois módulos de sensores ultrassônicos (um é visto de frente e o outro é visto de costas). Segundo o fabricante, esse módulo é capaz de medir distância a obstáculos entre 3cm e 4 metros!

Sensor Ultrassônico

O módulo ultrassônico funciona como um Sonar. Para medir a distância ao objeto que está a sua frente. O módulo emite um pulso de ultrassom (som em frequência de 40kHz, nesse caso) e mede o tempo que o reflexo do som leva para retornar. Sabendo que a velocidade do som no ar (à temperatura ambiente) é de ~340m/s, conhecendo o tempo que o som levou para ir até o obstáculo e voltar você pode calcular a que distância ele está!
Robô com Arduino

Onde comprar as peças para montar seu Robô com Arduino  ?

Compre Arduino, componentes eletrônicos e ferramentas na Tecnotronics. Os preços são ótimos, a agilidade é matadora e as entregas são feitas para todo o Brasil.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

×