Você está na página 1de 8

http://nossosrobos.blogspot.com.br/2012/09/monte-seu-robo-comarduino.

html

Monte seu rob com Arduino!

Mini-rob com Arduino.


Quer montar seu prprio rob? Voc pode!!
Neste post vou descrever como voc pode montar o rob ao lado, mostrando onde
comprar as peas e dando dicas para sua montagem.
A montagem no complicada! Voc no precisa ser um expert em eletrnica para
montar este rob, mas precisa ter noes bsicas (para poder ligar os cabos
corretamente), alm de fazer soldagem de componentes e fios.
Se voc quer montar um rob sem precisar fazer soldas nem se preocupar com a
eletrnica, experimente o Lego NXT (veja aqui).
O vdeo abaixo mostra um resumo da montagem e testes do mini-rob com Arduino:
Por onde comear?
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 peas 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 opo bem econmica aproveitar aquele velho carro de controle-remoto que
voc no usa mais (ou roubar o do seu irmo). Nesse caso, voc pode aproveitar a
estrutura mecnica e os motores. Retire toda a eletrnica original (com cuidado, para
que voc consiga montar novamente caso seu irmo descubra), e substitua pelas placas
que vou descrever a seguir.
Eu montei o meu com as peas mostradas abaixo.

Peas usadas na montagem do rob. A lista completa e locais de compra encontra-se no


final deste post.
No fim deste post h uma lista detalhada com a quantidade de peas necessrias e seus
sites para compra.

Se voc quiser montar um rob diferente, pode usar qualquer um dos diversos kits
disponveis no mercado. Veja alguns exemplos em:
http://www.pololu.com/ - http://www.pololu.com/catalog/category/2
http://www.labdegaragem.org/loja/ - http://www.labdegaragem.org/loja/index.php/37-robotica.html
http://www.robocore.net/ - http://www.robocore.net/modules.php?name=GR_LojaVirtual&categoria=3

Rob com Esteiras


Um rob a esteiras melhor do que um rob a rodas para se deslocar em ambientes
acidentados. Ele pode passar por cima de obstculos maiores que robs com rodas, o
que interessante! No entanto, robs com esteira exigem mais energia durante seu
deslocamento, o que significa que eles gastam mais bateria que os robs a rodas.
A estrutura mecnica deste rob torna desnecessrio o uso de rodas direcionais. Para
fazer curvas, basta que uma esteira se movimente mais rpido que a outra. Se uma se
mover num sentido e a outra se mover no sentido contrrio com a mesma velocidade, o
rob far um giro em torno de seu centro. Isso resulta em boa mobilidade e facilita o
controle.
Dicas de Montagem - Vamos ao que interessa!

Base
A base tem dimenses de 98 x 86 x 39 mm. feita de plstico, 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 necessria. Voc vai precisar
encaixar os contatos metlicos para as pilhas. Os contatos das extremidades no tm
local fixo de encaixe, ento 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
ligaes incorretas que podem resultar em queima dos circuitos.
Motores
Os motores que usei so micro-motores de 6V que j vm com uma caixa de reduo 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 reduo, o torque disponvel na roda aumenta
na mesma proporo da reduo da velocidade. Ou seja, o rob fica mais lento, mas
muito mais forte!
No site da Pololu voc encontra outros motores que se encaixam na base. Eles tm o
mesmo tamanho e mesma tenso, mas relao de reduo diferente. Com isso, se voc
quiser um rob mais rpido (e menos forte), pode usar um motor com reduo menor
(50:1, por exemplo).
Ateno! As rodas dos motores so diferentes! Elas t um pequeno rasgo na lateral e o
encaixe do eixo no perfeitamente redondo: possui um chanfro para encaixar o eixo do
motor. Depois de encaixar os motores nas rodas, voc pode usar a prpria 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.

Aps encaixar os motores e soldar os terminais, encaixe os motores na base.


Sensores de giro (opcional)
Se voc quiser, pode instalar codificadores pticos (encoders) para medir o giro das
rodas de seu rob. Essa caracterstica interessante se voc pensa em aplicar
controladores mais complexos em seu rob, pois os encoders permitem medir a
velocidade das rodas e estimar a posio relativa do rob. Se no quiser usar encoders,
seu rob tambm vai funcionar!

Os encoders que eu usei so prprios para as rodas que vm com a base. Por isso, basta
cortar um pouco o plstico superior da base e parafusar os encoders como mostrado na
foto ao lado. Sim, o furo da placa se alinha perfeitamente ao furo da base!
O funcionamento do encoder (de forma resumida) o seguinte: LEDs da placa emitem
luz infravermelha que refletida pelos dentes existentes na parte interna da roda. Com o
giro da roda, os dentes se movem e a reflexo ocorre de maneira alternada. A partir da
deteco ou no do reflexo de luz, um trem de pulsos eltricos gerado. Contando o
nmero de pulsos possvel saber quantos graus a roda girou. Conhecendo a geometria
do rob, pode-se determinar sua velocidade e seu deslocamento.
Detalhe: para saber se a roda est girando no sentido horrio ou anti-horrio, cada placa
tem dois emissores e dois receptores. Eles so montados de forma que o giro da roda em
dado sentido provoca reflexo em um dos sensores primeiro.
Os sensores da Pololu so muito bons. Eles podem ser alimentados diretamente pelo
Arduino e seus sinais de sada tambm so conectados diretamente aos pinos do

Arduino. No entanto, verifiquei que os encoders sofrem muita interferncia de


iluminao externa, o que pode exigir algum ajuste ou colocao de algum tipo de
cobertura.
Motor Shield para Arduino
O uso do Arduino como placa controladora permite a utilizao de um shield para
controle dos motores. Eu usei o Arduino Uno, mas voc tambm pode usar outras
verses, como o Leonardo ou o Duemilanove.

Motor Shield encaixado no Arduino.


O shield que utilizei est mostrado na figura ao lado, j encaixado no Arduino Uno. Ele
tem um chip com duas pontes-H com capacidade para controlar dois motores de
corrente contnua de maneira independente. Recebe alimentao 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.
A ligao dos motores ao motor shield bem simples: basta parafusar seus fios ao
conector verde com as indicaes M1+, M1- (motor 1) e M2+, M2- (motor 2). Os
terminais da bateria devem ser ligados ao conector com as indicaes VS (positivo) e
GND (negativo). O jumper J4 deve permanecer encaixado para que a alimentao do
Arduino seja feita atravs do regulador do motor shield. Encaixe o motor shield no
Arduino de maneira que as bordas das placas fiquem alinhadas.
Um cdigo para teste do shield e acionamento dos motores est disponvel na pgina do
fabricante (veja link no final do post). A velocidade dos motores controlada pela
variao da razo cclica do sinal PWM gerado pelo Arduino. No exemplo do
fabricante, ele usa a funo analogWrite para gerar o PWM, o que resulta num sinal
com frequncia de ~490Hz. Nos testes que realizei, os motores funcionaram sem
nenhum problema com esse PWM, mas emitiram rudo audvel que pode incomodar um
pouco.
Detalhe importante: para que o rob se desloque em linha reta necessrio que as duas
esteiras girem na mesma velocidade. No seu programa, voc pode usar o mesmo valor
na funo analogWrite de ambos os motores, mas isso no garante
que as rodas iro girar na mesma velocidade! Apesar de serem do
mesmo tipo, dois motores nunca so exatamente iguais. Alm disso,
caractersticas como atrito, deslizamento e at dimetro das rodas
iro afetar a velocidade final de deslocamento. Com o uso de
encoders voc pode fazer um programa que mede a velocidade das

rodas e realiza a compensao necessria, caso queira que o rob se


mova em linha reta.
Com a base montada, motores encaixados e eletrnica pronta, seu rob j est pronto
para andar!
Sensor ultrassnico

Mdulos ultrassnicos.
Um rob s um rob de verdade quando ele pode perceber o meio. Um sensor muito
popular que permite a medio de distncia a obstculos o sensor ultrassnico. A
figura ao lado apresenta dois mdulos de sensores ultrassnicos (um visto de frente e
o outro visto de costas). Segundo o fabricante, esse mdulo capaz de medir distncia
a obstculos entre 3cm e 4 metros!
O mdulo ultrassnico funciona como um Sonar. Para medir a distncia ao objeto que
est a sua frente, o mdulo emite um pulso de ultrassom (som em frequncia 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 obstculo e voltar voc pode calcular a que distncia ele
est!
O Arduino possui um exemplo de programa que funciona exatamente com esse modelo
de sensor. Voc pode encontr-lo em Exemples -> 06. Sensors -> Ping.
Usei este exemplo para testar o mdulo ultrassnico como mostrado no vdeo. Pude
observar que esse mdulo tem preciso de +/-1cm para leituras entre 3 e 30cm. Tambm
notei que o ngulo de abertura do sensor no muito grande: para distncias menores
que 20cm, o obstculo deve estar praticamente em frente ao sensor para que possa ser
detectado. A 20cm do sensor, um afastamento de 5cm do centro de sua linha de ao j
faz com que o obstculo no seja percebido.
Rob montado
Provisoriamente, encaixei os sensores de ultrassom numa pequena matriz de contatos
apoiada na parte superior do rob. Um sensor est voltado para para a frente e o outro
para trs, j que esse rob pode se deslocar nos dois sentidos.

Rob montado.
Espero que tenha gostado do post e que ele lhe ajude a montar o seu prprio rob!
A seguir, veja a listagem de peas utilizadas, seu modelo, a quantidade necessria e sites
para compra.
At a prxima!

Quantidade de peas e locais de compra e preos:


1 - Arduino Uno
http://www.labdegaragem.org/loja/index.php/29-arduino/arduino-uno.html
http://www.robocore.net/modules.php?name=GR_LojaVirtual&prod=120
1 - Zumo Chassis Kit (contm uma base com local para pilhas, 4 rodas Pololu Wheel 42x19mm e 2
esteiras)
http://www.pololu.com/catalog/product/1418
2 - 100:1 Micro Metal Gearmotor HP with Extended Motor Shaft (este micromotor encaixa na base
acima)
http://www.pololu.com/catalog/product/2214

1 - Motor Shield (serve para acionar os dois motores)


http://www.seeedstudio.com/depot/motor-shield-p-913.html?cPath=132_134
http://www.seeedstudio.com/wiki/Motor_Shield
Opo para acionar at 4 motores CC:
http://www.labdegaragem.org/loja/index.php/36-motores-afins/4-power.html
2 - QTR-1A Reflectance Sensor (opcionais para fazer seguimento de linha)
http://www.pololu.com/catalog/product/958 ou
http://www.labdegaragem.org/loja/index.php/34-sensores/breakout-de-sensor-de-linha-qre1113digital.html

2 - Encoder for Pololu Wheel 42x19mm (opcionais para medir velocidade das rodas e calcular a
posio do rob)
http://www.pololu.com/catalog/product/1217
2 - Ultra Sonic range measurement module (para medir distncia a obstculos)
http://www.seeedstudio.com/depot/ultra-sonic-range-measurement-module-p-626.html?cPath=144_149
http://www.seeedstudio.com/wiki/index.php?title=Ultra_Sonic_range_measurement_module
Outra opo:
http://www.labdegaragem.org/loja/index.php/34-sensores/sensor-de-distancia-por-ultrassom-maxbotix-lvez1.html
1 - Basic Sumo Blade for Zumo Chassis (opcional interessante para robs feitos para luta de Sum)
http://www.pololu.com/catalog/product/1410

Interesses relacionados