Escolar Documentos
Profissional Documentos
Cultura Documentos
UNICENP/NCET
Curitiba
2007
TERMO DE APROVAÇÃO
Nome do Aluno
Élio Rubens Pscheidt
Ao meu orientador Alessandro Zimmer, por ter aceitado a idéia deste projeto e pela
ajuda, apoio e orientação em toda as etapas do projeto.
Aos meus pais Lidegar Pscheidt e Dometila Pscheidt por todo o esforço e incentivo que
me deram para concluir este curso de engenharia da computação, sempre me incentivando em
todos os momentos por mais difícil que fossem.
A minha namorada Fernanda Pariz, pelo incentivo, muita paciência e dedicação durante
todo o tempo me dando sempre forças para continuar.
A todos os professores do curso, que desde os primeiros anos, tiveram muita paciência e
estavam sempre dispostos a me ensinar em tudo o que foi preciso.
Ao meu amigo Jerônimo, que sempre me ajudou nas horas que mais precisava durante o
curso com seu conhecimento.
Palavras chave:
The purpose of this project is develop a autonomous robot control systemin a way that
can be controled as a autoguide vehicle. The main target of this system is to act in factory
production lines, making possible integrate control techniques and decision making. This
working have a function to fit the robot in a “Real World” environment.
Initially will be used motion robot concepts, like AGV, that make possible control the
motion, the obstacles, stop control and decision making for paths.
With the finalized project, it was implemented a factory production line simulator
(plataform for test, paths for the robot walk), where can be changed to fit a suitable test
environment.
After the project finished, it was possible study the results through the implementation
and test.
Key words:
Lista de Tabelas.............................................................................................................................08
Lista de Figuras.............................................................................................................................09
Lista de Siglas...............................................................................................................................12
CAPÍTULO 1 – Introdução..........................................................................................................13
CAPÍTULO 2 – Fundamentação Teórica.....................................................................................15
2.1 – Conceitos..................................................................................................................15
2.2 – Histórico da Robótica...............................................................................................15
2.3 – Robôs Móveis...........................................................................................................16
2.4 – Tipos e Classificação Robôs Móveis........................................................................17
2.4.1 – Anatomia ...................................................................................................17
2.4.1.1 – Robôs Aquáticos.........................................................................17
2.4.1.2 – Robôs Aéreos..............................................................................18
2.4.1.3 – Robôs Terrestres..........................................................................18
2.4.2 – Funcionalidades.........................................................................................19
2.4.2.1 – Robôs Pessoais............................................................................19
2.4.2.2 – Robôs de Serviços.......................................................................20
2.4.2.3 – Robôs de Campo.........................................................................20
2.4.2.4 – Robôs Industriais........................................................................20
2.4.3 – Tipos de Controles.....................................................................................21
2.5 – Arquitetura................................................................................................................21
2.6 – Navegação.................................................................................................................22
2.7 – Técnicas de Navegação.............................................................................................22
2.7.1 – Trajetória com Grafo..................................................................................22
2.7.2 – Trajetória por Espaço Livre........................................................................23
2.7.3 – Trajetória Baseada em Comportamento.....................................................23
2.7.4 – Navegação Heurística.................................................................................23
2.7.5 – Navegação por Obstáculos.........................................................................23
2.8 – Sensores....................................................................................................................23
2.8.1 Sonar.............................................................................................................23
2.8.2 – Laser...........................................................................................................24
2.8.3 – Câmeras de Video......................................................................................24
2.8.4 – Sensores de Posicionamento......................................................................25
2.8.5 – Sensores Infravermelhos............................................................................26
2.8.5.1 Optoacoladores..............................................................................26
2.8.5.2 – Fototransitor................................................................................27
2.8.5.2 – Microinterruptores e Fins de Curso............................................27
2.9 – Microcontrolador......................................................................................................28
2.9.1 – Microcontroladores Microchip PIC...........................................................28
2.9.2 – Principais Modelos de Microcontroladores PIC........................................29
2.9.3 – Microchip PIC16F877A.............................................................................30
2.10 – Motores de Passo....................................................................................................31
2.10.1 – Tipos de Motores de Passo.......................................................................31
2.10.1.1 – Motores de Passo Unipolares....................................................31
2.10.1.2 – Motores de Passo Bipolares......................................................32
2.10.1.3 – Motores Multifases....................................................................32
2.10.1.4 – Motores de Relutância Variável................................................33
CAPÍTULO 3: Especificação Técnica...........................................................................................34
3.1 – Especificação do Carrinho........................................................................................37
3.2 – Especificação do Hardware.......................................................................................37
3.2.1 – Optoacoplador............................................................................................37
3.2.2 – Sensor Fim de Curso..................................................................................38
3.2.3 – Microcontrolador........................................................................................38
3.2.4 – Motor de Passo...........................................................................................40
3.2.5 – Interface Para Uso do Motor de Passo.......................................................40
3.2.6 – Display de LCD..........................................................................................41
3.3 – Especificação do Firmware.......................................................................................41
3.4 – Estudo de Viablidade Técnica / Econômica.............................................................42
3.5 – Cronograma..............................................................................................................44
CAPÍTULO 4: Projeto...................................................................................................................45
4.1 – Hardware...................................................................................................................45
4.1.1 – Implementação dos Sensores.....................................................................45
4.1.2 – Implementação do Microcontrolador PIC16F877A...................................47
4.1.3 – Implementação do Controle do Motor de Passo........................................47
4.1.4 – Display de LCD..........................................................................................47
4.2– Software.....................................................................................................................48
CAPÍTULO 5: Resultados e Validações ......................................................................................50
5.1 – Teste Hardware com Motores de Passo....................................................................51
5.2 – Teste Hardware/Software com PIC16F877A...........................................................51
5.3 – Teste Implementação dos Sensores de Rota/Bifurcação...........................................52
5.4 – Teste Implementação do Sensor de Parada ..............................................................53
5.5 – Testes Implementação do Sensor de Obstáculos .....................................................54
5.6 – Testes Integrados do Protótipo e Montagem das Placas...........................................54
5.7 – Testes e Validações Finais........................................................................................55
CAPÍTULO 6: Conclusão.............................................................................................................56
CAPÍTULO 7: Referências Bibliográficas....................................................................................57
CAPÍTULO 8: Anexos..................................................................................................................58
LISTA DE TABELAS
Desde criança, muitas pessoas costumam imaginar como é ter um robô semelhante ao que
se vê nos filmes, como “Eu Robô”, “Exterminador do Futuro”, “O Homem Bicentenário” ou
“Inteligência Artificial”, que embora sejam robôs possuem várias capacidades humanas.
Em nossa realidade estamos longe dos desafios da robótica com relação ao que são vistos
em filmes, como citados acima, mas com o avanço na área de inteligência artificial e de novos
tipos de materiais, nos permite o desenvolvimento dos mais diversificados tipos de robôs.
A robótica móvel é uma área de pesquisa que vem se desenvolvendo bastante nos últimos
anos. Os robôs tem auxiliado o homem em diversas tarefas, tais como a exploração espacial,
auxílio a pessoas com deficiências físicas, realização de trabalhos industriais ou simplesmente
como brinquedo para diversão de crianças.
Com o grande desenvolvimento da tecnologia de informática, principalmente na área do
hardware, potentes computadores podem ser usados para desenvolver novas técnicas de controle
robótico. Estas técnicas estão permitindo que esses robôs executem tarefas complexas, que até
então só eram executadas por seres-humanos, tais como: aprender com a experiência, navegar
por ambientes desconhecidos, desviar de obstáculos imprevistos e reagir de forma inteligente a
estímulos do ambiente. Para que os robôs móveis consigam executar essas tarefas, todos os seus
componentes (sensores, atuadores, etc) precisam estar integrados através de um sistema de
controle.
Os sistemas planificados baseiam suas ações em um modelo do mundo, que é predefinido
e armazenado na memória do robô. Os sistemas reativos não armazenam nenhuma representação
ou modelo do mundo, eles se restringem a reagir aos estímulos recebidos do ambiente pelos
sensores, com base nesses estímulos eles decidem o que fazer e em que direção se movimentar.
Cada um desses sistemas tem suas vantagens e desvantagens, dependendo da complexidade e do
tipo de ambiente onde o RMA (Robô Móvel Autônomo) atua. A principal desvantagem dos
sistemas planificados é que por eles possuírem um modelo do ambiente, acabam por limitar a sua
área de atuação, e qualquer mudança inesperada no ambiente tornaria o modelo inválido. Já nos
sistemas reativos, a principal desvantagem é que é muito difícil implementar comportamentos
complexos, muitas vezes limitando os RMAS a comportamentos simples e sem objetivos
específicos.
Este projeto tem a finalidade, construir um protótipo AGV (Automated Guide Vehicle),
para simular tarefas de chão de fábrica, que integre técnicas de controle e tomadas de decisão.
Neste projeto, o usuário poderá escolher em quais pontos o robô deverá parar, evitando colisão
com obstáculos colocados a sua frente e ao seu final, indicará o tempo de cada volta percorrida
13
do percurso junto com a média geral de toda sua trajetória.
A primeira parte do projeto mostrará os conceitos básicos sobre robótica, principalmente
robótica móvel autônoma e robótica inteligente. São mostrados os principais tipos de RMA e os
principais tipos de sensores. Também é visto um breve histórico sobre o surgimento, evolução
dos robôs, sistemas de controle robótico, dando uma visão sobre os vários tipos de sistemas e as
arquiteturas de controle existentes, bem como alguns tópicos sobre aprendizado. A segunda parte
é especificação técnica do trabalho e a terceira é implementação do projeto junto com dados e
documentação técnica e forma de implementação do projeto.
14
CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA
2.1 Conceitos
1. AGV (Automated Guided Vehicle), que usam sensores que detectam linhas;
2. Robôs utilizando Inteligência Artificial;
3. Robôs para navegação;
4. Robôs Interplanetários que são utilizados para explorações de outros planetas;
1 - Um robô jamais deve causar dano a um ser humano nem, através de omissão, permitir
que isto aconteça;
2 – Um robô deve sempre obedecer a um ser humano, a menos que isto entre em conflito
com a primeira lei
3 – Um robô deve proteger a si mesmo de danos, a menos que isto entre em conflito com
a primeira e a segunda lei;
15
Em 1963 surgiram os primeiros protótipos de robôs móveis e somente em 1968 foi
construído robô móvel com conceitos de robótica fixa e mecânica. A partir desta década
começou a evolução dos princípios de sensores, processamento de imagens e inteligência
artificial, para ter robôs com capacidade de atuar em ambientes dinâmicos e que fossem simples
e robustos. [8]
Na década de 80, surgiram vários trabalhos interessantes na área de robótica. Em 1983
foi desenvolvido o método freeway, conforme descrito em [8], que é uma modelagem do espaço
livre e planejamento da trajetória, mas tinham restrições com a manutenção e a criação dos
mapas do ambiente. Em 1986 começou a trabalhar com leitura baseada em seus sensores. Esta
ultima arquitetura foi essencial para pesquisas de métodos reativos e contribuiu para construção
de robôs móveis.
A partir de 1990 começou surgir arquiteturas mais consistentes como a de Mataric, que
analisou a necessidade de dotar um robô de capacidades mais elaboradas, com utilização de um
mapa construído através de marcas detectadas no ambiente. Nesta analise pressupôs que o mapa
seria atualizado sempre que houvesse mudança de ambiente. Neste mesmo ano Zelinski estudou
um método que se baseava no mapeamento em tempo de execução.
Em 1994, começaram as grande revoluções na área de robótica, principalmente a na área
de robótica móvel. A NASA junto com a Carnegie Mellon University, desenvolveram um robô
para inspeção de vulcões ativos e em Julho de 1997 foi enviado o famoso “Soujourner”, robô
mandado para uma expedição a Marte chegando lá somente no ano de 2000.
Em 2000, a “Carnegie Mellon” criou um robô de quatro rodas para realizar uma
expedição a Antártida, em busca de amostras de meteorito , onde o mesmo, utilizando técnicas
avançadas de Inteligência Artificial, coletava pedras já classificando as mesmas.
Este projeto será implementado com teorias e estudos de robótica móvel. Por este motivo
segue alguns tipos, aplicações e funcionalidades técnicas neste documento.
Alguns robôs podem funcionar sobre circunstâncias menos controladas do que outros
robôs. Eles possuem diversos sensores que lhes permitem captar informações do ambiente. Estes
sensores podem ser: sonares, que mandam e recebem ondas de som, infravermelhos, medindo a
temperatura e a luminosidade do ambiente; câmeras coletando informações visuais; lasers
medindo a luz; etc. Robôs inteligentes usam estas informações para decidir como vão agir,
podendo adaptar melhor ao ambiente no qual estão inseridos.
Por exemplo: um robô chão de fabrica inteligente, pode percorrer seu caminho em um
16
fabrica seguindo uma linha no chão, realizando todas as entregas programadas previamente pelo
usuário. Ele pode desviar de obstáculos e pessoas no seu caminho. Também poderia identificar
quando está com pouca energia e se plugar em uma estação de recarregamento de energia.
Atualmente há tentativas de classificar robôs em diversas formas , mas nenhuma que seja
realmente definitiva. Mas de forma geral podemos classificar em três formas: [8]
1. Anatomia;
2. Funcionalidade;
3. Tipos de Controle;
2.4.1 – Anatomia
Robôs Aquáticos
Robôs Terrestres
Geralmente são formados por aeromodelos, que podem ser equipados com cameras de
vídeo e geralmente são utilizados para reconhecimento de terrenos, inspeção de grandes áreas,
investigação aérea, entre outras utilizações.
18
Com rodas (duas ou mais rodas): Estes são os modelos mais utilizados, pois são os mais
simples de serem implementados e conforme o tipo de robô que está sendo projetado, não
necessita um hardware tão complexo quanto um robô que utiliza-se de pernas móveis.
Geralmente são usados em terrenos regulares, pelo fato de algumas vezes, as rodas não terem as
mesmas aderência que os robôs de esteira em determinados tipos de terrenos. Atualmente é
muito utilizado para brinquedos e chão de fabricas.
2.4.2 – Funcionalidades
1. Robôs Pessoais;
2. Robôs de Serviços;
3. Robôs de Campos;
4. Robôs Industriais;
São os robôs que não desenvolvem nenhuma tarefa, mas interagem com pessoas humanas
na forma de entreterimento, ajuda doméstica, etc.
19
2.4.2.2 Robôs de Serviço
Estes podem atuar tanto em ambientes internos como externos. Neste caso os robôs
geralmente necessitam o modelo do ambiente em que estão trabalhando, porém o mesmo deve
ter autonomia para reconhecer, processar informações e atuar sobre algumas situações
encontradas dentro do ambiente. Exemplo: Desviar de objetos encontrados durante o percurso.
20
Suas características técnicas são: manutenção simples, sem controle central para operação
do sistema e condução passiva sobre uma trilha (não havendo necessidade de alimentação de
corrente).
O AGV transita entre dois postos de trabalho (por exemplo, almoxarifado e linha de
montagem). Instala-se, simplesmente, uma fita guia adesiva entre os dois postos de trabalho, de
acordo com as necessidades e condições locais. Uma simples interrupção da fita guia marca o
ponto de parada. Ao pressionar a tecla de inicialização, o AGV continua o seu percurso.
2.5 Arquitetura
21
• Deliberativas: Baseada em reconhecimentos de padrões ou manipulação simbólica.
• Reativas: Baseada na suposição de comportamentos inteligentes que podem ser
gerados sem nenhuma representação simbólica explícita. São capazes de reagir ao
ambiente sem a utilização de um raciocínio muito complexo.
• Híbridas: Utiliza-se da arquitetura deliberativa para uso de um modelo simbólico do
mundo e um reativo, capaz de reagir aos variados ambientes sem raciocinio simbólico.
2.6 Navegação
22
exemplo de algoritmo do melhor caminho é o DIKSTRA.[6]
Tem por função gerar caminhos que são difíceis de se prever, mas apresenta a
navegação reativa independente de um caminho já modelado, ou de um ambiente já
conhecido.[6]
2.8 Sensores
23
2.8.1 Sonar
2.8.2 Laser
Utiliza-se câmera (pode ser webcam ou filmadora), instalada no robô, que transmite a
24
imagem processada para computador analisando e decidindo oque deve ser feito. Este método é
conhecido como reconhecimento de padrões, onde o computador analisa certas imagens e
identifica certos objetos. As câmeras também podem ser utilizadas para calculos de distância.
Além de detectar obstáculos, tem por finalidade saber onde exatamente se encontra no
ambiente. Estes devem medir de forma absoluta ou relativa a posição atual.
Segue alguns exemplos de sensores de posicionamento:
1. GPS;
2. Bússola;
3. Odômetro;
25
2.8.5 Sensores Infravermelhos
O sensor infravermelho é um diodo que emite um raio modulado, onde o raio atinge um
objeto e uma porção de luz é refletida, sendo captada novamente pelo diodo receptor. A luz
refletida depende do ângulo apresentado pelos sensores.
Este sensor possui velocidade de reposta alta, embora tenha uma baixa sensibilidade,
muitas vezes exige uma grande amplificação nos sinais de saída.
O projeto é composto de sensores de infravermelho, mais conhecido como
optoacopladores.
2.8.5.1 Optoacopladores
26
Para uma tensão colector – emissor constante, quanto maior for a corrente direta no led,
maior será a sua intensidade luminosa, logo maior a corrente de base no foto-transístor o que
acarreta uma maior corrente no seu colector.
O sinal de entrada é aplicado ao fotoemissor (led) e a saída é retirada do fotoreceptor
(foto-transístor). Os optoacopladores são capazes de converter um sinal elétrico num sinal
luminoso modulado e voltar a converte-lo em um sinal elétrico.
A grande vantagem de um optoacoplador, reside no isolamento eléctrico que pode
estabelecer-se entre os circuitos de entrada e saída.
2.8.5.2 Fototransistores
27
Figura 2.13 – Modelos Sensor de Fim de Curso
FONTE: www.electronred.iespana.es/indicomponen.htm(2007)
2.9 Microcontrolador
O PIC é um produto que se destaca por possuir uma boa diversidade de recursos,
capacidade de processamento, custo e flexibilidade de aplicações. O ponto mais forte desta
tecnologia está na simplicidade de aplicação, permitindo a aplicação deste microcontrolador em
projetos de pequeno porte, facilitando a implementação e diminuindo o custo de
desenvolvimento.
28
Os microcontroladores estão divididos de acordo com sua características de performance
e funcionalidade. A familia PIC10, de menos recursos, é aplicado a funções mais simples e de
menor porte, consequentemente possuindo um custo relativamente baixo. Já a família dsPIC30 e
dsPIC33, são adequadas para tratamento e processamento veloz de sinal analógico, permitindo
um desenvolvimento de aplicações mais complexas ligadas as áreas de telecomunicações,
comunicação sem fio de alta perfomance, controles de tempo real de alta velocidade, etc.
Abaixo segue uma lista dos principais PIC utilizados que vão dos mais simples de 8 bits
até os com maior performance de 16bits.
• PIC100F200
• PIC16F84
• PIC16F628
• PIC16F877
• PIC16F877A
• PIC18F4431
29
2.9.3 Microchip PIC16F877A
• CPU RISC DE 35 instruções com clock de até 20MHz (5 milhões de instruções por
segundo);
• Até 8 Kwords de memória de programa;
• 368 bytes de RAM;
• 256 bytes de EPROM;
• Dois comparadores e geradores PWM;
• Oito canais de conversão A/D de 10 bits;
• Comunicação Serial;
• 33 Pinos de entrada/Saída;
FONTE: http://www.microchip.com(2007)
30
2.10 Motores de Passo
• Parados;
• Ativo com motor travado;
• Girando em etapas;
O movimentos dos mesmos podem ser bruscos ou suaves, de acordo com a quantidade de
impulsos enviados para ele, em relação a inércia que ele se encontra.
Com relação ao funcionamento, podem ser comparados aos síncronos, ou seja, um campo
rotativo faz girar um motor magnético. Os motores foram divididos de acordo com a forma que é
gerado o campo : Enrolamento Unipolar ou Bipolar no estator .
Para escolha do motor de passo deve-se levar em consideração a taxa de arranque que é a
máxima aceleração permitida pela operação. Portanto vemos sempre seguir alguma regras
básicas como:
Possuem geralmente cinco ou seis fios, com um fio central em cada um dos rolamentos.
O fio central é ligado ao pólo positivo da bateria, e os dois finais de cada enrolamento são
levados ao pólo negativo alternadamente para reverter a direção do campo magnético.
31
`
Figura 2.16 – Motor de Passo Unipolar
FONTE: http://www.mrshp.hpg.ig.com.br/rob/passotipo.htm(2007)
São construídos exatamente com os mesmos mecanismos usados nos motores unipolares,
mas os dois enrolamentos são mais simples e não necessitam a utilização do fio central. Isto
torna o circuito eletrônico mais complexo, pois precisa controlar a reversão da corrente para cada
enrolamento.
Para diferenciar um motor de passo bipolar de um unipolar basta medir a resistência entre
os terminais.
Um tipo menos comum, é o motor de passo magnético permanente, que possui seus
enrolamentos ligados de uma forma cíclica, com um pequeno enrolamento ligando o centro de
cada par de enrolamentos formando um círculo.
32
Figura 2.18 – Motor de Passo Multifaces
FONTE: http://www.mrshp.hpg.ig.com.br/rob/passotipo.htm(2007)
33
CAPÍTULO 3 – ESPECIFICAÇÃO DO PROJETO
• Veículo
1. A base será desenvolvida em madeira 10 mm;
2. 1 baterias própria de 6V e 1,3A;
3. Dois motores de passo bipolares;
4. Uma roda para equilíbrio do carrinho;
5. Botões para ligar e desligar o carrinho;
• Aquisição de Sinais
1. Dois sensores para controle de rota;
2. Um sensor para identificar fim de curso;
3. Um sensor de aproximação para identificar a presença de algum objeto a
frente do carrinho;
4. Um sensor para identificar locais de parada;
• Tratamento de Sinais
1. Um microcontrolador para realizar a leitura do sensor e atuar sobre os
motores de passo;
2. Botão para reinicio de percurso para cada parada realizada;
• Escolha/Leitura de Trajeto
1. Um display de LCD para mostrar tempo de cada rota e a média de cada
trajetória;
2. Botões para escolha de rota;
Para o inicio de todo o projeto, será desenvolvido um carrinho que se movimentará através
de dois motores de passo bipolares que estarão fixados na parte de baixo do carrinho. A sua
frente será colocado uma roda para dar somente sustentação ao projeto. Também o protótipo terá
funcionamento autônomo, com uma bateria de 6V e 1,3A.
34
A rota a ser seguida será previamente definida no chão na cor preta (será marcada no chão
com fita isolante preta). A trajetória deverá conter curvas no formato de 90 graus. Por este
motivo será colocado dois sensores infravermelhos no carrinho, para que eles mantenham o
carrinho sempre na rota da fita de cor preta.
É utilizado uma plataforma na cor branca, que serve como base para as rotas a serem
trançadas, afim de, evitar interferência de cor para leitura dos sensores de rota.
Antes de o carrinho iniciar a trajetória, o usuário deverá escolher através do botão de
parada, quais paradas deverá executar durante o percurso. As paradas estarão sendo mostradas no
display de LCD onde um usuário externo deverá realizar a escolha. O projeto conterá 2 paradas
não obrigatórias fixas, espalhadas durante o percurso.
Ao iniciar a trajetória dois sensores de rota optoacopladores identificarão uma linha preta
na plataforma, fazendo que o carrinho permaneça na rota estabelecida, até completar todo o
percurso.
Durante a trajetória o carrinho irá encontrar bifurcações. Neste caso, é identificado no chão
com fita isolante (faixas na cor preta acima da plataforma branca), qual bifurcação do percurso o
sensor optoacoplador estará avaliando. A partir desta avaliação o carrinho saberá por qual
trajetória da bifurcação deverá seguir.
Os pontos de paradas serão identificados através de blocos no chão na cor branca(acima da
fita isolante). Após o sensor optoacoplador identificar a parada estabelecida, o carrinho deverá
parar, e só voltará a funcionar após o acione de um botão pelo usuário.
Para evitar colisões com qualquer objeto encontrado durante o caminho, será colocado um
sensor fim de curso para identificar a presença do mesmo. O carrinho só retorna a sua trajetória
após a retirada do objeto.
Para o controle de todo o processo, será feito através de um microcontrolador, onde o
mesmo receberá as informações dos sensores e converterá internamente o sinal para digital.
Após o tratamento do sinal o microcontrolador irá processar as informações recebidas e enviará
um comando para acionar os motores de passo conforme a necessidade de uso dos mesmos.
Após o carrinho realizar todo seu percurso e passar por todas as paradas estabelecida pelo
usuário, ele deverá retornar ao ponto inicial do trajeto desligando-se automaticamente. Através
do leitor de LCD, o usuário poderá visualizar o tempo que levou para realizar cada volta, e ao
final demonstrará a média de todo o percurso realizado.
35
Figura 3.1 – Diagrama em Blocos Geral do Sistema
36
3.1 Especificação do Carrinho
O carrinho foi fabricado em madeira MDF 10 mm, contendo dois motores de passo com
rodas de madeira e uma roda de flexível na frente, para dar sustentação ao protótipo. As rodas
são revestidas com elástico de borracha para que a mesma tenha maior aderência ao chão.
Abaixo segue foto ilustrativa da forma do protótipo.
Sensor
Rota
Motor de
passo Sensor
Circuito geral Parada
Do Protótipo
Motor de
passo Sensor
BATERIA Rota
Sensor
Presença
O hardware foi composto de um microcontrolador PIC que será responsável por todo o
tratamento e processamento das informações recebidas dos sensores.
As descrições detalhadas dos componentes que serão utilizadas no projeto serão descritas
abaixo:
3.2.1 Optoacoplador
No projeto foi utilizado dois optoacoplador PHCT203 serão responsáveis por reconhecer a
trajetória do carrinho.
Este componente será usado pelo fato de emitir uma luz de raios infravermelhos para uma
faixa no chão que é transmitida ao receptor afim de identificar se está seguindo a faixa na cor
preta no chão. Eles fornecem uma tensão entre 20mV e 5V (tensão que varia entre a cor branca
37
e preta). A única limitação é o sensor não pode ficar mais que dois centímetros do local onde
está sendo medido.
As dimensões físicas do optoacoplador segue abaixo:
3.2.3 Microcontrolador
No projeto foi usado um microcontrolador PIC16F877A, que possui bons recursos para
38
aplicações de controle e oferece alguns recursos que podem minimizar ou eliminar a necessidade
de implementações periféricas, com ganho de tempo e espaço.
Para implementação do projeto, dentre os recursos do PIC16F877, podemos citar como
os mais importantes: CPU RISC de 35 instruções, com clock de até 20MHz (5 milhões de
instruções por segundo). Até 8 KWords de memória de programa, 368 bytes de RAM, 256 bytes
de EEPROM, dois comparadores e geradores PWM, 8 canais de conversão A/D de 10 bits,
comunicação serial, 33 pinos de Entrada/Saída. Também possui 8 canais de conversão
analógico/digital elevam este microcontrolador a aplicações de controle mais sofisticadas.
Na figura 3.6 segue arquitetura do PIC16F877A.
39
3.2.4 Motores de Passo
Para a movimentação do protótipo foi usado dois motores de passo 941214 da empresa
Sanyo que atuam na escala de 1 grau por passo. O motivo da escolha deste motor, é que tem um
tamanho ideal 3cm de raio no que proporciona uma robustez no protótipo e atende a necessidade
de locomoção do mesmo.
FONTE: http://engcomp.unicenp.edu.br(2007)
40
Figura 3.8 – Interface Motor de Passo
Estes módulos utilizam um controlador próprio, permitindo sua interligação com outras
placas através de seus pinos, onde deve ser alimentado o módulo e interligado o barramento de
dados e controle do módulo com a placa do usuário.
O LCD será usado para display de escolha de rota e visualização de tempos e média de
percurso. O display estará acoplado ao microcontrolador PIC, como especificado anteriormente,
para que possa exibir as informações aos usuários.
41
ou dados são armazenados permanentemente em um chip de memória de hardware, como uma
ROM ou EPROM.
O firmware tem as seguintes características:
42
VALOR TOTAL R$ 215,00
43
Total = Viabilidade Técnica/Econômica de Insumos do Projeto +
Viabilidade Técnica/Econômica de Instalações +
Viabilidade Técnica/Econômica de Equipamentos +
Viabilidade Técnica/Econômica de Softwares +
Viabilidade de Mão de Obra
Total = R$ 215,00 + R$ 5.600,00 + R$ 866,00 + R$ 259,00 + R$ 28.300,00
3.5 Cronograma
44
CAPÍTULO 4 – PROJETO
4.1 Hardware
A função de hardware neste projeto, é coletar informações dos sensores como: escolha do
trajeto, acionamento para retomada de trajetória, e visualização de tempo da trajetória realizada.
Também tem a função de realizar todo o controle através de um microcontrolador da familia PIC
e acionamento de motores de passo.
Segue abaixo, digrama de bloco simplificado do hardware:
45
• Led EMISSOR
VR (tensão reversa): 6V
IF (corrente direta): 60 mA
• Led DETECTOR
VCEO (tensão coletor-emissor): 30 V
VECO (tensão emissor-coletor): 6 V
IC (corrente de coletor): 70 mA
Estes sensores identificam se o protótipo está seguindo a linha de cor preta colocada
acima da plataforma de cor branca. Os sensores sofrem uma variação de tensão de 20mV até 5V
de acordo com a cor que está sendo analisada. Também terá a função de identificar bifurcações
durante a trajetória
Um fator importante a ser levado em consideração, o sensor deve estar adaptado no
protótipo para funcionar a 2 cm do chão, pois a faixa de atuação entre o led emissor e receptor
para este optoacoplador é pequena.
• Sensor de parada: Neste caso também é utilizado um optoacoplador PHCT203 que é
responsável, por identificar pontos de parada (blocos na cor branca acima da linha de cor preta
da trajetória). O sensor deverá identificar parada selecionada, que é indicada através de um
bloco na cor branca no chão.
O sensor deve ler identificar o bloco branco no chão da trajetória e mandar o sinal para o
microcontrolador, para que o mesmo possa analisar e identificar a parada selecionada. No caso
de encontrar a parada desejada, o mesmo deve travar, só retomando a trajetória após acione de
um botão pelo usuário.
Neste caso o sensor também é adaptado a dois centímetros do chão e suas especificações
técnicas seguem no tópico descrito acima.
• Sensor de obstáculos: É utilizado um sensor de Fim de Curso modelo NS3-020D.
Com o uso do sensor, é adequado para não haver diferença de sinais de resposta para que o
mesmo identifique madeira, ferro, aço e a distancia de parada seja a mesma para qualquer
material que esteja-se medindo.
Segue tabela com especificações técnicas do sensor no capítulo de anexos.
46
4.1.2 Implementação do Microcontrolador PIC16F877A
O protótipo possui dois motores de passo alimentados com 5V e ambos consomem juntos
uma corrente de 1A. Os motores são acionados a partir pulsos gerados pelo microcontrolador.
Os motores são responsáveis pela aceleração, velocidade e direção do protótipo. O
motores de passo estão acoplados a na parte de trás do protótipo.
Para acionamento e controle dos motores de passo, é utilizado uma placa que é
responsável por duas funções importantes:
• Passo: Indica que o motor deve seguir para o passo seguinte. A placa gera uma
lógia de controle de acionamento dos rolamentos conforme segue sequência a seguir:
Comum: Pino vermelho do motor de Passo
A1 – Direção: Pino amarelo do motor de Passo
B1 - Direção: Pino marrom do motor de Passo
A2 – A1 negado: Pino laranja do motor de Passo
B2 – A2 negado: Pino preto do motor de Passo
• Direção: Indica para que lado o motor de rodar. O motor esquerdo é ligado no
VCC e o motor direito no GND, para ambos manterem a mesma direção.
No projeto o LCD de 8 segmentos tem a função de mostrar o tempo de cada volta que o
47
protótipo realizou e ao final de toda a trajetória deverá mostrar a média de tempo de todas as
voltas.
O microcontrolador deverá calcular tempo e a média de tempos e enviar todas as
informações para o LCD.
Abaixo segue uma tabela da pinagem completa do LCD
4.2 Software
48
Figura 4.2 – Fluxograma do Firmware
49
CAPÍTULO 5 – RESULTADOS E VALIDAÇÕES
A validação do projeto ocorreu sobre uma plataforma plana branca com a rota desenhada
na cor preta, conforme mostra Figura 5.1.
O protótipo foi desenvolvido com uma base de sustenção em madeira MDF 10 mm, e sua
cabine no material acrílico transparente, para que fosse possível ver todas as placas
implementadas e interligadas. Segue asseguir foto do protótipo apresentado.
Para obter todos os resultados encontrados foram realizados testes com cada módulo
50
separadamente, a fim de garantir o funcionamento de cada componente implentado, incluindo o
desenvolvimento do software e o tratamento dos sinais externos recebidos através dos sensores.
Após todos os testes realizados em protoboard, foram fabricadas 4 placas:
Para inicio do projeto foi desenvolvido a parte de controle de motor de passo. Nesta
estapa foram montada duas placas ( uma para cada motor de passo). As mesmas foram testadas
com os motores de passo unipolares onde não foi encontrado nenhuma dificuldade em suas
montagens e testes.
A partir desta etapa foi implementado o PIC foi integrado as placas de controle de motor
de passo, passando a fornecer pulsos continuos ( 0 e 1) para testar o funcionamento das placas e
motores de passo.
51
funcionamento e os primeiros códigos para testes do PIC com motor de passo, onde o mesmo só
mandava pulsos para movimentação dos motores de passo. Nesta etapa antes de testar o código
no hardware, cada módulo do software desenvolvido era simulado no Proteus (software de
simulação do circuito implementado), para garantir seu funcionamento. Após o código
implementado no processador, foram realizados testes para regular a velocidade do protótipo
para garantir o funciomento do PIC integrado as placas de controle de motor de passo.
Foi realizado a implementação dos sensores de rota, com a função diferenciar a cor preta
da cor branca. Alcançado esta etapa, foi implementado no PIC o controle dos sinais vindos dos
sensores. O PIC diferenciava as cores (preta ou branca) e enviava o sinal para as placas de
motores de passo, para o protótipo seguir a linha preta .
Umas das dificuldades encontradas nesta implementação foi identificar o
possicionamento dos sensores no carrinho, ou seja, a distância entre os sensores para identificar a
linha na cor preta e aproximidade dos sensores em relação ao chão.
Após todas estas validações, passou a ser testado o protótipo andando na linha. Mesmo
analisando todo o posicinamento dos sensores antes dos testes, notava-se alguns erros do
carrinho tais como: pouco de lentidão e travamento em curvas de 90 graus. Com a correção dos
erros os testes foram realizados obtendo otímos resultados de desempenho do carrinho em sua
trajetória.
Nesta etapa também foi implemantado os controles para bifurcação. A idéia inicial era
antes de cada bifurcação fossem colocadas pequenas linhas na cor branca (simulando linhas de
códigos de barra), por exemplo, ao sensor deparar-se com uma linha branca o carrinho deveria
52
continuar a trajetória, ou quando deparava-se com duas linhas brancas deveria rotacionar 90
graus para esquerda. Isto não foi possível ser implementado devido a leitura do sensor
PHCT203, onde muitas vezes não realizava corretamente a sequencia de leitura da linhas brancas
ou o PIC processava com atraso, devido a leitura errada das linhas brancas que simulavam o
código de barras. Outra tentativa para reconhecer bifurcação era usar leitura por cores, mas foi
descartado pois deveriam ser utilizados sensores industriais com custo muito elevado para está
implementação. Também foi estudado o fototransistor L14G1 – Motorola, mas também foi
descartado pois a resposta do sensor entre as cores era muito pequena.
A solução encontrada foi tratar no próprio software o controle de bifurcação. Quando os
dois sensores de rota deparavam com a cor preta simultaneamente, o software analisava
mandava informação referente o que fazer na bifurcação encontrada. O grande problema
encontrado foi a capacidade de memória flash do PIC ( 8 Kb de memória flash), pois como o
tratamento passou a ser realizado pelo software, o tamanho do código aumentou
respectivamente. Neste caso foi decidido usar apenas duas rotas ao invés de usar três, ajudando a
diminuir o tratamento no código fonte. Com essa solução foi possível realizar as bifurcações e
realizar todos os testes necessários para o funcionamento ideal do protótipo.
Segue abaixo foto ilustrando o protótipo realizando bifurcação do projeto.
Para implentação foi usado um sensor de fim de curso, com a implentação rápida e sem
maiores dificuldades na sua implementação.
Os testes foram realizados inicialmente em protoboard, logo em seguida testados no
protótipo para validação durante o percurso. Nesta etapa não foi encontrado nenhum problema e
dificuldade para validação do sensor.
Após testes realizados em protoboard, foi realizada a confecção das placas do protótipo.
54
Foi implentado uma placa para os botões do protótipo (Parada1, Parada2, Inicio, Retorna a
Trajetória e Tempo Total), onde não foi identificado nenhum problema nos testes realizados.
A outra placa implementada foi dos controles do PIC e sensores. Na montagem da placa
foi encontrado alguns problemas com trilhas que não foram bem traçadas ocasionando
problemas na leituras dos sensores. Após corrigir as falhas da placa, foi testada no projeto para
validação geral do protótipo, não encontrando nenhum problema para finalização do mesmo.
Nesta placa consta dois PIC, onde um é usado para controle de geral do carrinho e outro
seria usado para implementação do leitor LCD. Neste caso não foi implementado o LCD devido
a dificuldades de usar a biblioteca “lcd.c” do PIC quando é utilizado interrupções no
processamento do mesmo.
Concluído todo o processo, foi montado o protótipo com todos os módulos conectados
para testes finais. O carrinho teve um bom funcionamento, só encontrando dificuldades com o
peso que sobrecarregou um pouco o funcionamento dos motores de passo, e a bateria que foi
utilizada uma menos potente para diminuir o peso sobre o protótipo.
55
CAPÍTULO 6 – CONCLUSÃO
Este projeto conseguiu atender seu objetivo pricipal, a criação de um protótipo de veículo
autoguiado, capaz de identificar rotas definidas pelo usuário, inteligente para localizar
trajetórias e encontrar suas paradas pré determinadas. Também foi util para explorar conceitos de
robótica com implementação de baixo custo, pois o custo de veículos autoguiados para chão de
fabrica é muito elevado, tratando dos componentes e peças utilizados nos mesmos.
O protótipo desenvolvido, realizou todo o traçado definido com curvas com angulo de 90
graus, e sempre mantendo-se na trajetória. Outro ponto importante foi o reconhecimento de
bifurcações, e sempre que encontrava as mesmas, realizava o processamento e tomava uma
decisão indicando qual trajeto o protótipo deveria seguir. Também a implementação dos
controles de parada e obstáculos, foram desenvolvidos sem problemas.
Todas as implementações citadas acima tiveram um bom desempenho no seu
funcionamento, embora a bateria utilizada, deveria ser mais potente para atender as necesidades
de consumo do protótipo. Também não foi possivel implementar o display de LCD, pois a
biblioteca utilizada no PIC impossibilitava o uso de interrupções junto com o display.
O projeto apresentado aqui, mesmo tendo atingido seu principal objetivo, e ser um
protótipo funcional, continuará sendo implementado com melhorias e novas funcionalidades para
atender novos estudos e novas formas de implementações de veículos autonômos.
56
CAPÍTULO 7 – REFERÊNCIAS BIBLIOGRÁFICAS
[2] COUGHLIN, ROBERT F. Operational Amplifiers & Linear integrated Circuits, Editora
Prentice-Hall do Brasil, Rio de Janeiro, 1991.
[3] PEREIRA, FABIO. Microcontroladores Pic – Programação em C, Editora Érica, São Paulo,
2003.
[4] SOUZA, David José. Desbravando o PIC – Editora Érica, São Paulo, 2003.
[5] Halliday, D.Fundamentos da Física 4, Ótica e Física Moderna, Rio de Janeiro, 2001.
[6] SANDI, Franz A. Sistema de Navegação e guiagem de robôs móveis autônomos, SBA
Controle e Automação, 1998.
[7] PROF. EDSON ROBERTO DE PIERI. Curso de Robótica Móvel, Santa Catarina,
Florianópolis 2002.
[10] Datasheets
www.datasheetsarchive.com – Data: 21/03/2007
57
CAPÍTULO 8 - ANEXOS
58