Você está na página 1de 22

Centro de Educao Superior de Braslia - IESB

Centro Universitrio Instituto de Educao Superior de Braslia

BRENO SILVEIRA DE JESUS

LUIZ HENRIQUE CAVALCANTE WURLITZER

MATHEUS CARVALHO DE JESUS

RELATRIO DO PROJETO ROB NO SEI ONDE VOU

BRASLIA DF
ABRIL 2017
Centro de Educao Superior de Braslia - IESB
Centro Universitrio Instituto de Educao Superior de Braslia

RELATRIO DO PROJETO ROB NO SEI ONDE VOU

Trabalho de graduao submetido ao


Departamento de engenharia
Computao/Eltrica do instituto de educao
superior de Braslia para a disciplina projeto
integrador.

Prof. Joel Guilherme da Silva

BRASLIA DF
ABRIL 2017
RESUMO

Nesse projeto com a ajuda do Arduino uma pequena placa microcontrolador


onde pode-se usar uma linguagem de programao para controlar portas digitais e
analgica, foi desenvolvido um rob com capacidade de desviar dos obstculos sua
frente, totalmente autnomo e utilizando linguagem C++ e uma Shield.

Palavras-chave: Arduino, rob autnomo, carrinho.


ABSTRACT

In this project with the help of the Arduino a small microcontroller board where
we can use a programming language to control digital and analog ports, it was
developed a robot with ability to deflect obstacles in his front. Its completely
autonomous using C ++ language and a Shield.

Key-words: Arduino, standalone robot, stand.


SUMRIO

1. INTRODUO ........................................................................................................ 6
2. PARTE ELETRONICA ............................................................................................ 7
2.1. Microcontrolador Arduino .................................................................................. 7
2.1.1. Caractersticas do Arduino ................................................................... 7
2.2. Ponte H ............................................................................................................. 8
2.2.1. Funcionamento da Ponte H.................................................................. 9
2.3. Motores DC..................................................................................................... 10
2.4. Sensor Ultrassnico ........................................................................................ 11
2.4.1. Funcionamento do Sensor Ultrassnico ............................................ 11
2.5. Servo Motor .................................................................................................... 12
2.5.1. Funcionamento Do Sevo Motor.......................................................... 13
3. CHASSI ................................................................................................................ 14
4. ESQUEMTICO ................................................................................................... 14
5. FIRMWARE .......................................................................................................... 15
6. FLUXOGRAMA DE COMPORTAMENTO ............................................................ 20
7. Concluso ............................................................................................................ 22
8. Bibliografia............................................................................................................22
6

1. INTRODUO

Este projeto consiste na criao de um rob autnomo que utiliza um sensor


ultrassnico capaz de desviar de obstculos e ainda decidir o melhor caminho a
seguir. Por ambicionar a construo de um rob autnomo, gera desafios na rea da
eletrnica digital, programao de microcontroladores e mecnica. A robtica est
cada vez mais presente no dia a dia das pessoas, uma grande parcela dos eletrnicos
atuais possui um microcontrolador com intuito de facilitar os servios avanados que
por um humano poderia demorar horas a ser realizado, como por exemplo, robs
utilizados na indstria automobilstica e tambm na montagem de eletrnicos. Com
este projeto pode-se observar como o avano da tecnologia pode propiciar o uso de
robores autnomos para limpeza, carregar objetos e entre outras utilidades.
7

2. PARTE ELETRONICA

A parte eletrnica do projeto foi feita utlizando o Arduino, ponte H, motores, sensor
ultrassnico e servo motor. Abaixo ser explorado cada caracterstica dos
componentes utilizado.

2.1. MICROCONTROLADOR ARDUINO

Nesse projeto foi utilizado o Arduino UNO que aparece na figura 1, uma
plataforma open-source de computao fsica baseada no microcontrolador ATMega-
328, que engloba um software e um hardware. Tal plataforma tem sido destaque em
muitos projetos tecnolgicos, porm ainda pouco utilizado por grande parte dos
pesquisadores, devido, principalmente, a um preconceito pela facilidade.

FIGURA 1 ARDUINO

2.1.1. CARACTERSTICAS DE UM ARDUINO

Segundo o fabricante da plataforma (Arduino, 2017), a mesma apresenta as seguintes


especificaes tcnicas:
- Microcontrolador: ATmega328;
- Tenso Operacional: 5 V;
- Tenso de entrada (recomendada): 7-12 V;
- Tenso de entrada (limites): 6-20 V;
- Pinos E/S digitais: 14;
- Pinos de entrada analgica: 6;
- Corrente CC por pino E/S: 40 mA;
- Corrente CC para o pino 3,3 V: 50 mA;
8

- Flash Memory: 32 kB (ATmega328).


- SRAM: 2 kB (ATmega328);
- EEPROM: 1 kB (ATmega328);
- Velocidade de Clock: 16 MHz.

O Arduno pode ser alimentado pela conexo USB ou com uma fonte de alimentao
externa. A alimentao selecionada automaticamente. Esta placa pode funcionar
com uma fonte de alimentao externa de 6 a 20 V, no entanto, se a alimentao for
inferior a 7 V, o pino 5 V pode fornecer menos de 5 V, e a placa pode se mostrar
instvel. Se a alimentao for maior do que 12 V, o regulador de tenso pode
superaquecer e danificar a placa. A faixa recomendada de 7 a 12 V (Arduino, 2017).

Os pinos de alimentao so os seguintes:


- VIN: a entrada de alimentao para a placa Arduino, quando se est utilizando uma
fonte de alimentao externa (em oposio conexo USB ou outra fonte de
alimentao regulada).
- 5V: a fonte de alimentao regulada usada para o microcontrolador e para outros
componentes na placa. Pode vir tanto do VIN(tenso de entrada) atravs do regulador
embarcado ou da conexo USB

- 3V: uma fonte de 3,3 V gerada pelo regulador embarcado. A corrente mxima
suportada de 50 mA.

- AREF: Tenso de referncia para as entradas analgicas.

2.2. PONTE H

Para controlar os motores por PWM, utilizou-se a ponte-H L293d(FIGURA 2) a qual


possui capacidade de gerenciar quatro motores e alimentada com tenso de 7.4V.
O dispositivo, alm de facilitar o controle PWM dos motores, permite que os mesmos
sejam controlados independentemente. Os fios do motor so conectados na ponte-H
e da mesma saem outros dois fios que, neste caso, foram conectados aos pinos de
entrada digitais do Arduino. Os fios para alimentao do motor saram tambm do
L293d e foram conectados bateria.
9

FIGURA 2. SHIELD PONTE H

Entradas da ponte H:
A parte superior possui apenas a entrada denominada POWER conforme a figura 2
que pode operar em uma faixa de 4,5-36V de tenso continua, na parte inferior possui
as entradas logicas que so ligadas diretamente no Arduino.

Sadas para os motores:

A ponte h possui 8 sadas em sua parte superior conforme mostra figura 2 os pontos
M1_A, M1_B, M2_A, M2_B, M3_A, M3_B e M4_A, M4_B dedicadas a motores com
uma corrente mxima de 600mA por canal, nesses canais pode ser feito o controle de
at 4 motores DC bidirecional com seleo individual de velocidades de 8 bits ou
controlar 2 motores de passo unipolar ou bipolar com bobina nica, dupla ou passos
interlaados.

2.2.1. FUNCIONAMENTO DA PONTE H

A ponte H funciona como uma chave de um tipo chopper classe E em que converte
uma fonte de corrente continua fixa em uma tenso de corrente continua varivel.
Todo seu funcionamento depende exclusivamente do chip L293d, cada porta possui
4 transistores NPN que decide qual sentido girar conforme nvel logico.

Para o acionamento do motor para determinado lado, teremos que manter um lado
em nvel lgico baixo, acionando o transistor PNP daquele lado, e do outro lado em
nvel lgico alto, acionando o transistor NPN conforme figura 3.
10

FIGURA 3. FUNCIONAMENTO CANAL PONTE H

Para girar o motor no sentido contrrio basta apenas inverter as entradas de nvel
logico conforme figura 4.

FIGURA 3. FUNCIONAMENTO CANAL PONTE H

FIGURA 4. FUNCIONAMENTO CANAL PONTE H

2.3. MOTORES DC

Foram utilizados quatro motores(figura 5) de reduo 1:48, sendo dois motores para
trao dianteira do carrinho e outros dois para trao traseira. Cada motor possui eixo
duplo, alimentao de 3 a 6 Vdc, torque de 5,5 Kg/cm e possui encoder, contudo este
no foi utilizado devido ao tempo limitado para desenvolver o projeto. Foi acoplado s
rodas traseiras e dianteiras, fazendo com que o movimento de uma fosse
independente da outra. Na figura 6 podemos observar que o tamanho do motor e
relativamente pequenas graas as engrenagens que fazem a reduo, elas diminuem
o torque e aumenta a trao dos motores.
11

FIGURA 5. MOTOR DC FIGURA 6. MEDIDAS MOTOR DC

2.4. SENSOR ULTRASSNICO

Foi utilizado o sensor ultrassnico hc-sr04(figura 7) o funcionamento dele e emitir


ondas ultrassnica e medir a distncia dos objetos, tem uma tima preciso e unindo
o mesmo com um servo motor pode fazer a medida tanto a esquerda quanto da direita
e assim decidir o melhor caminho a seguir

FIGURA 7. SENSOR ULTRASSNICO

2.4.1. FUNCIONAMENTO DO SENSOR ULTRASSNICO

O princpio de funcionamento dos sensores ultrassnicos est baseado na emisso


de uma onda sonora de alta frequncia, e na medio do tempo levado para a
recepo do eco produzido quando esta onda se choca com um objeto capaz de
refletir o som. Eles emitem pulsos ultrassnicos ciclicamente. Quando um objeto
reflete estes pulsos, o eco resultante recebido e convertido em um sinal eltrico. No
projeto em questo um dos componentes mais importante pois ser ele que vai
determinar o melhor lado a seguir.
12

O sensor ultrassnico possu 4 pinos que podem ser visto na figura 7, sendo
eles Vcc(alimentao 5v), Echo como o prprio nome diz eco com ele e possvel
calcular o tempo gasto no retorno da onda sonora, Trigger esse responsvel por enviar
as ondas sonoras determinada em cdigo e GND(alimentao de referncia). Seu
funcionamento consiste basicamente em enviar um sinal que, ao atingir um objeto,
volta para o sensor e com base nesse tempo entre o envio e recebimento, calculada
a distncia entre o sensor e o objeto.

Processo de medio:

1. enviado um sinal com durao de 10 s (microsegundos) ao pino trigger,


indicando que a medio ter incio conforme figura 8.
2. Automaticamente, o mdulo envia 8 pulsos de 40 KHz e aguarda o retorno do
sinal pelo receptor conforme figura 8.
3. Caso haja um retorno de sinal (em nvel HIGH), determinamos a distncia entre
o sensor e o obstculo utilizando a seguinte equao: Distancia = (pulso em
nvel alto x velocidade do som (340m/s) /2

FIGURA 8. DIAGRAMA DE TEMPO HC-SR04

2.5. SERVO MOTOR

Foi utilizado um servo motor 9g para controlar o movimento do sensor


ultrassnico, ou seja, o sensor foi acoplado no micro servo com essa finalidade como
na figura 9.
13

FIGURA 9. ULTRASOM ACOPLADO AO SERVO

2.5.1. FUNCIONAMENTO DO SEVO MOTOR

A principal diferena entre um servo motor e os outros motores (tanto de corrente


alternada quanto contnua) que os servos possuem incorporado neles um encoder
e um controlador. Ou seja, os servos nada mais so do que motores comuns com
controladores e encoder acoplados. Avanando um pouco mais na definio, um
servo motor um atuador rotativo ou linear que garante o controle, velocidade e
preciso em aplicaes de controle de posio em malha fechada. (Bertulucci, 2016)

O servo motor trabalhando junto ao Arduino segue o diagrama da figura 10 onde


possui um motor e um potencimetro na qual possvel determinar com preciso o
ngulo em que est. Na figura 11 e possvel visualizar o chip de controle do servo e
tambm o potencimetro como tambm as engrenagens.

FIGURA 10. DIAGRAMA DE COMPORTAMENTO SERVO MOTOR


14

FIGURA 11. COMPONENTES DE UM SERVO MOTOR

3. CHASSI

No projeto foi utilizado um chassi de acrlico de dois andares conforme a figura 12,
pois so bastante resistente e tm um tamanho apropriado para o projeto. Suas
dimenses so de 256 x 150 x 65 mm, o peso completo do chassi e de 470g o
tornando bastante leve para o motor com caixa de reduo.

FIGURA 12. CHASSI

4. ESQUEMTICO

Na figura 13 possvel visualizar detalhadamente as ligaes feita no projeto real, foi


colocado uma chave para no intuito de ligar e desligar um fio da bateria tendo assim
um maior controle sobre o projeto, podemos observar as ligaes dos motores na
ponte H, lembrando que essa figura ilustrativa e nem todos componentes so
idnticos aos utilizados.
15

FIGURA 13. ESQUEMTICO DO PROJETO

5. FIRMWARE

O cdigo relativamente simples, utilizou-se trs bibliotecas, uma delas a


AFmotor.h responsvel por predefinir as portas para a Shield L293d e facilitar o
trabalho com um vasto controle encima das portas PWM. Foi utilizado tambm a
biblioteca NewPing.h essa responsvel pelo ultrassom, um diferencial dessa
biblioteca e seu mtodo de converso para cm de forma pratica sem muitas linhas de
cdigo, ela se encarrega de fazer todos clculos de distncia do trig e do echo sem
precisar de mais linhas de cdigo para isso. Por fim foi utilizado uma biblioteca padro
do IDE do Arduino Servo.h responsvel por fazer o movimento do servo em graus
que vai de 0 a 180, utilizada para decidir qual melhor caminho a se seguir virando o
sensor ultrassnico para a direita e esquerda ento calculando o melhor caminho.

A primeira parte do cdigo onde so inclusas as bibliotecas e definido dois pinos


importante responsveis pelo ultrassom, e uma distncia mxima de leitura do
ultrassom conforme figura 14.

FIGURA 14. PARTE EXTRADA DO CDIGO


16

Nessa parte do cdigo na figura 15 podemos observar a biblioteca NewPing


recebendo os pinos que j foram definidos anteriormente na figura 14, tambm
possvel ver a varivel servo, tambm as portas dos motores utilizando a biblioteca
AFMotor

FIGURA 15. PARTE EXTRADA DO CDIGO

Na figura 16 foi dado as condies iniciais antes do looping como o pino do servo
motor e o ngulo inicial de 90. Foi tambm definido a velocidade dos motores no caso
255 que e a velocidade mxima e finalmente feito a leitura inicial do da distncia pelo
sensor ultrassom feito 5 vezes com intuito de minimizar erros

FIGURA 16. PARTE EXTRADA DO CDIGO

Na figura 16 foi utilizada uma funo readPing() para realizar a leitura do ultrassom
onde a biblioteca NewPing.h e responsvel por fazer a leitura foi utilizado o comando
interno da biblioteca sensor.ping_cm() responsvel por converter para centmetros o
valor lido no ultrassom conforme figura 17.
17

FIGURA 17. PARTE EXTRADA DO CDIGO LEITURA ULTRASSOM

Agora na figura 18 onde comea o loop, primeiramente e declarado as variveis onde


receber as informaes de distncia, ento temos uma condicional if(se) utilizada
para determinar quando o carrinho deve mudar seu caminho. Dentro dessa
condicional ele executa algumas funes como moveStop();, moveBackward();,
movedireita();, move_esquerda(); e as funes de leitura do olhar_direita(); e
finalmente olhar_esquerda(); essas funes obedecem o seguinte se a distncia for
menor que 32 cm ele para, recua, e ento decide o melhor caminho a seguir.

FIGURA 18. PARTE EXTRADA DO CDIGO FUNO LOOP

FIGURA 18. PARTE EXTRADA DO CDIGO LOOP


18

As funes descritas na pgina anterior so responsveis por fazer a leitura do


ultrassom e tambm movimentar o carrinho como podemos observar na figura 19.

FIGURA 19. PARTE EXTRADA DO CDIGO FUNES

Na figura 19 tem duas funes responsvel pela leitura e o movimento do servo motor
que tambm usa a funo readPing(); que j foi comentada anteriormente.
Primeiramente o servo motor vai para a posio 5 dada em graus aguarda o
posicionamento do servo motor ento e feito duas leituras de distncia para melhor
preciso ento o servo motor volta para 90 e a funo retorna a distncia. J na
funo olhar_esquerda(); nica diferena e a posio do servo motor o resto da leitura
e idntico ao passo anterior.

Agora as funes de movimento foi relativamente simples graas a biblioteca


AFmotor j comentada anteriormente utilizando apenas a varivel do motor e um
comando .run(Funo interna), onde a funo interna pode ser FORWARD(para
frente), BACKWARD(para trs) ou RELEASE(parar) podemos ver isso claramente
melhor na figura 20.
19

FIGURA 20. PARTE EXTRADA DO CDIGO FUNES DE MOVIMENTO

Por fim voltando na funo loop quando e feito a leitura e nenhum obstculo
encontrado o carrinho continua indo para frente o comando responsvel por isso
podemos ver na figura 21 tambm e notvel na figura que a cada loop e feito uma
nova leitura ao final do loop.

FIGURA 21. PARTE EXTRADA DO CDIGO


20

6. FLUXOGRAMA DE COMPORTAMENTO

No Fluxograma abaixo e possvel ver todo o funcionamento do rob em blocos


deixando mais claro o funcionamento do cdigo.

- PARA O ROB
INICIO -L DISTNCIA DA DIREITA
-L DISTNCIA DA
ESQUERDA

CONFIGURAES
INICIAIS

DISTNCIA
DIREITA
-CENTRALIZA SERVO MAIOR QUE
-AGUARDA 0,5 SEG DA
ESQUERDA?

-MOVE ROB PARA FRENTE


-L SENSOR DE ULTRA
SOM

DESVIA PARA DESVIA PARA


ESQUERDA DIREITA

DISTNCIA
NO SIM
MENOR
QUE 30 CM?

FLUXOGRAMA DE COMPORTAMENTO
21

Concluso

Devido facilidade inerente construo do sistema de automao e aos resultados


obtidos em ambiente de testes, possvel concluir que o objetivo proposto na
realizao do projeto foi alcanado com sucesso, atravs do estudo e o amplo uso da
plataforma Arduino e os acessrios que a mesma dispe. O objetivo que se resume
em um rob que pare ao detectar um obstculo e decida o melhor caminho a
seguir(direita ou esquerda em relao ao obstculo) foi alcanado. Houve uma certa
dificuldade inicial no uso do sensor ultrassnico, porm, foi superada ao longo das
aulas. H ainda a possibilidade de melhoria e evoluo do projeto como por exemplo:
o uso de um nmero maior de sensores ultrassnicos para que o rob no necessite
parar ao avistar um obstculo, ou a utilizao de rodas maiores e com amortecimento
para o uso em terreno irregular, e entre outras. Os conceitos de mecnica, eltrica,
eletrnica e fsica em geral estudados e aplicados na construo do rob, podem ser
utilizados em outras rea como a de automao industrial e residencial a fim de
otimizar a execuo de tarefas diversas. O baixo custo do projeto como um todo
viabiliza seu uso futuro em execues de baixo e mdio porte.
22

REFERENCIAS BIBLIOGRFICA

7. Bibliografia
Arduino. (24 de 05 de 2017). Arduino . Fonte: Arduino :
https://www.arduino.cc/en/Main/ArduinoBoardUno

Bertulucci, C. (22 de 11 de 2016). CitiSystems. Fonte: Site da CitiSystems:


https://www.citisystems.com.br/servo-motor/

Wikipdia. (2017). Arduino. Fonte: Wikipdia: https://pt.wikipedia.org/wiki/Arduino

Você também pode gostar