39
i UnicenP – Centro Universitário Positivo Núcleo de Ciências Exatas e Tecnológicas Curso de Engenharia da Computação ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES ESTÁTICOS ESTRUTURADOS Autor: Alexandro Furquim Prof. Orientador: Roberto Selow Curitiba 2003

ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

  • Upload
    buidat

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

i

UnicenP – Centro Universitário Positivo Núcleo de Ciências Exatas e Tecnológicas

Curso de Engenharia da Computação

ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES ESTÁTICOS ESTRUTURADOS

Autor: Alexandro Furquim Prof. Orientador: Roberto Selow

Curitiba

2003

Page 2: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

ii

INDICE 1. Introdução ...........................................................................................................................1 2. Especificação .......................................................................................................................3

2.1. Descrição do Projeto................................................................................................................................. 3 2.1.1. Módulo Microcontrolador: ............................................................................................................... 4 2.1.2. Módulo sensores:.............................................................................................................................. 4 2.1.3. Módulo motores: .............................................................................................................................. 4

3. Estudo Teórico ....................................................................................................................5 3.1. Microcontrolador...................................................................................................................................... 5 3.2. Software Embarcado ................................................................................................................................ 6 3.3. Sensores.................................................................................................................................................... 7 3.4. Motores..................................................................................................................................................... 9

Motores de Relutância Variável ..................................................................................................................... 10 3.4.2. Motores de Passo Unipolares.......................................................................................................... 11 3.4.3. Motor de Passo Bipolares ............................................................................................................... 13 3.4.4. Motores Multifase........................................................................................................................... 14

3.5. Funcionamento dos módulo unidos ........................................................................................................ 15 4. Projeto................................................................................................................................16

4.1. Módulo Microcontrolador ...................................................................................................................... 16 4.1.1. Firmware......................................................................................................................................... 17

4.2. Módulo Sensores .................................................................................................................................... 19 4.3. Módulo Motores ..................................................................................................................................... 21 4.4. Aspectos do Robô................................................................................................................................... 23

5. Implementação ..................................................................................................................24 5.1. Hardware ................................................................................................................................................ 24

5.1.1. Controlador do conversor analógico-digital para os sensores ........................................................ 24 5.1.2. Circuito adaptador para interface entre sensores e o circuito controlador ...................................... 25 5.1.3. Circuito driver para controle dos motores de passo........................................................................ 25 5.1.4. Circuito regulador de tensão........................................................................................................... 26

5.2. Mecânica ................................................................................................................................................ 27 6. Fluxograma de Funcionamento do Projeto ....................................................................30 7. Cronograma ......................................................................................................................31 8. Estimativa de Custos ........................................................................................................32 9. Plataforma de Desenvolvimento ......................................................................................33 10. Conclusão...........................................................................................................................34 11. Referências.........................................................................................................................35 12. ANEXO 1 - ESQUEMÁTICO DA PLACA MICROCONTROLADORA..................36

Page 3: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

iii

INDICE DE FIGURAS Figura 1 - Problema dos Sensores ...............................................................................................8 Figura 2 - Funcionamento dos Sensores......................................................................................8 Figura 3 - Curva de Resposta Sensor ..........................................................................................8 Figura 4 - Motor de Relutância Variável...................................................................................10 Figura 5 - Motor de Passo Unipolar ..........................................................................................11 Figura 6 - Motor de Passo Bipolar ............................................................................................13 Figura 7 - Motor Multifase ........................................................................................................14 Figura 8 – Trajetória ..................................................................................................................15 Figura 9 - Diagrama Microcontrolador .....................................................................................17 Figura 10 - Diagrama em blocos do módulo sensor..................................................................19 Figura 11 - Circuito Conversor..................................................................................................20 Figura 12 - Módulos Sensores ...................................................................................................21 Figura 13 - Circuito Driver........................................................................................................22 Figura 14 – Vista Frontal...........................................................................................................23 Figura 15 - Vista Lateral............................................................................................................23 Figura 16 - Placa do Conversor .................................................................................................24 Figura 17 - Adaptador para Sensores ........................................................................................25 Figura 18 - Placa de Driver........................................................................................................26 Figura 19 - Placa do Regulador de Tensão................................................................................26 Figura 20 - Placa Base Superior ................................................................................................27 Figura 21 - Placa Base Inferior..................................................................................................27 Figura 22 -Vista Frontal da Base...............................................................................................28 Figura 23 - Vista Traseira da Base ............................................................................................28 Figura 24 - Robô Montado ........................................................................................................29 Figura 25 - Fluxograma de Funcionamento do Projeto.............................................................30 Figura 26 - Esquemático do Kit 8051........................................................................................36

Page 4: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

1

1. INTRODUÇÃO A robótica é algo que cada vez mais faz parte do nosso cotidiano, seja na área das

indústrias, com a automação das máquinas, ou nas atividades domésticas, com aspiradores de

pó inteligentes ou outros dispositivos automáticos.

Uma definição bem aceita para a palavra robô é a de uma máquina programável que é

capaz de imitar as ações ou a aparência de uma criatura inteligente, geralmente um ser

humano.

Dentre as características desejadas para os robôs estão a mobilidade, inteligência e

flexibilidade para desenvolver diferentes tarefas e tudo isto sem o auxílio de operadores. A

integração destas capacidades em um único robô é uma busca que vem sendo almejada por

inúmeros pesquisadores mas que ainda está longe de ser alcançada através de uma solução

definitiva.

O estudo de robôs autônomos móveis é um assunto atual que movimenta um grande

número de pesquisadores em todo o mundo devido as novas possibilidades científicas e

comerciais do tema.

O emprego de robôs autônomos móveis para ambientes estáticos internos estruturados

com habilidades de locomoção e para a execução de tarefas sem a supervisão humana pode ser

utilizado em vários setores:

• Em serviços médicos para o transporte de alimentos, medicamentos e material

contaminado.

• Em serviços de limpeza de aeroportos, supermercados e fábricas.

• Para guiar pessoas em supermercados, lojas e empresas.

As justificativas para o emprego de robôs nestas circunstâncias são:

• Prover acesso a ambientes perigosos ou sem condições de vida.

• Promover a redução de custos, aumentar a produtividade e melhorar a qualidade

de produtos e serviços.

Page 5: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

2

Em função da complexidade e incertezas do tema em questão, pode-se dividí-lo em

sub-temas assim enumerados:

• A localização dos robôs.

• O reconhecimento de objetos e de marcos (landmark).

• O planejamento de trajetórias.

• O tipo de tratamento dos dados provenientes dos sensores.

• A estratégia de controle.

É bastante claro que os sub-temas anteriormente citados são fortemente

interrelacionados e que é necessário o estudo e a combinação adequada destes para a

construção de um robô autônomo móvel. Surge entretanto, a pergunta de como organizar

adequadamente os sub-temas para obter os resultados esperados? Primeiramente pode-se

agrupar os sub-temas formando assim dois temas distintos: o sistema de navegação e a

arquitetura do robô autônomo móvel. A localização do robô, o reconhecimento de marcos e o

planejamento de trajetórias fazem parte do sistema de navegação do robô, enquanto o tipo de

tratamento dos dados provenientes dos sensores e a estratégia de controle fazem parte da

arquitetura do robô.

A construção de um robô autônomo móvel é o tema deste projeto de graduação

científica. Os estudos indispensáveis à construção de um robô autônomo móvel farão parte dos

capítulos a seguir.

Page 6: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

3

2. ESPECIFICAÇÃO Neste capítulo são descritos os itens da especificação do projeto, as características e a

funcionalidade do sistema, delimitando seu escopo.

2.1. Descrição do Projeto A construção do robô móvel tem como objetivo criar um dispositivo autônomo que se

movimente dentro de ambientes estruturados estáticos desviando-se de obstáculos até chegar

ao seu destino.

O usuário fornecerá as coordenadas de destino do robô através de um computador,

utilizando sua porta serial. Como módulo extra está previsto a substituição desta interface por

um módulo de rádio, uma solução wireless. Logo após Ter recebido as informações pela porta

serial o robô salvará as coordenadas dentro de sua memória e calculará a trajetória para

alcançar seu destino. Através de um movimento controlado dos motores, o robô se

movimentará na direção desejada.

As coordenadas de origem serão fixadas para que o robô tenha um ponto de referência

para saída. Esta é uma limitação do projeto, pois o robô considerará o local onde está, e o seu

ângulo de orientação como as referências iniciais. Uma solução para esta limitação seria a

inserção de faróis, e uma interface para o robô reconhece-los. Desta forma ele poderia se

localizar nos ambientes sem depender da coordenada inicial. A implementação de faróis não

faz parte do escopo deste projeto, mas o robô será construído permitindo a agregação de

módulos extras, ou seja, quaisquer funcionalidades adicionais poderão ser futuramente

implementadas.

Os sensores de distância serão os responsáveis pelo desvio de obstáculos. Quando um

obstáculo for localizado na rota do robô, o sistema calculará um desvio da rota em função da

distância lida pelos sensores. No primeiro momento o robô tentará contornar o obstáculo de

forma a voltar para a rota estabelecida anteriormente, caso o obstáculo force um desvio muito

grande da rota, ele calculará uma nova trajetória e tentará seguir por ela.

Quando o robô alcançar as coordenadas desejadas os motores serão desligados e o robô

ficará parado, cabendo ao usuário dirigir-se até o robô e fornecer novas coordenadas de

Page 7: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

4

destino. No módulo extra, com comunicação via rádio, o usuário poderia mandar novas

coordenadas ou instruções para o robô à distância.

Para dar continuidade ao projeto anteriormente descrito, o robô será composto pelos seguintes módulos:

2.1.1. Módulo Microcontrolador:

Este é o módulo central do robô pois todas as informações referentes ao robô passarão

por aqui. Sua função é coordenar a leitura dos sensores de forma rápida e precisa, processar as

informações obtidas e controlar os motores conforme seu algoritmo.

Neste módulo está presente a EPROM contendo a programação do robô. Este

programa contém o código responsável por planejar a trajetória do robô e o processamento das

informações provenientes dos sensores para evitar colisões. Na memória RAM serão

armazenados os dados necessários aos cálculos do microcontrolador em si.

2.1.2. Módulo sensores:

No módulo dos sensores será feita a medição da distância do robô aos obstáculos

através de vários sensores estrategicamente posicionados.

Cada um deles estará apontado para uma direção diferente e serão responsáveis por

fornecer um valor de tensão referente a distância dos obstáculos a uma determinada direção.

Os valores serão disponibilizados em um conversor analógico digital que funcionará

sincronizado com o microcontrolador.

2.1.3. Módulo motores:

Este é o módulo responsável pela movimentação do robô. Além dos motores de passo

que movimentarão as rodas, este módulo contém o circuito lógico que controla os motores,

também chamado de driver. O driver fará a ponte entre motor e microcontrolador,

convertendo os bits fornecidos em movimento das rodas.

Page 8: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

5

3. ESTUDO TEÓRICO Neste ponto serão abordados os aspectos referentes as tecnologias aplicadas ao

desenvolvimento do projeto e que delimitaram suas características e funcionalidades.

3.1. Microcontrolador O “cérebro” do robô é o módulo microcontrolador que utiliza o 8051 que é um

componente amplamente utilizado para o desenvolvimento de projetos, isto devido sua versatilidade, dimensões reduzidas e possuir uma arquitetura que se constitui em ser um sistema completo e compacto.

Um microcontrolador é um microprocessador voltado para aplicações de controle. O microprocessador é um processador também chamado de CPU (Central Processing

Unit), mas que está contido em um único encapsulamento, e que é responsável por buscar, decodificar e executar as instruções dos programas na memória. Ao conjunto das instruções chamamos de "linguagem de máquina", e é própria para cada tipo de processador. A linguagem de máquina é composta de comandos muito simples, como operações aritméticas e lógicas, leituras, gravações, comparações e movimentações de dados. Os programas de computador são formados por várias destas instruções simples. Um microprocessador realiza operações de leitura e escrita da memória, onde estão armazenados os dados e as instruções referentes ao seu programa. Nessas leituras o microprocessador recebe as instruções a serem executadas e os dados a serem processados. Já as operações de escrita de dados na memória servem para armazenar os resultados intermediários e finais do processamento para posterior utilização.

O microcontrolador 8051 trabalha com clock de 12MHz ou 11,59MHz, seu ciclo de clock é de 12ms, ou seja, instruções que utilizam 1 ciclo de clock demoram 12ms, 2 ciclos de clock 24ms e assim sucessivamente

, isto determina a velocidade do microcontrolador, pois esta é calculada sempre em função da velocidade que este leva para executar suas instruções. Possui 4kB de memória de programa internos, podendo-se utilizar 64kB externos. Esta memória externa é implementada através de uma ROM, a qual pode ser descrita como uma memória estática ( não é apagada quando desligada) e regravável, para tanto basta a utilização de apagador e gravador próprios. Além disso o 8051 possui 128 bytes de RAM interna e possibilidade de RAM externa, com espaços de endereçamento distintos. A memória RAM, ao contrário da ROM, é volátil, ou seja, cada vez que o sitema seja ressetado, ou desligado, ela perde seus valores. Esta memória serve para armazenar variáveis que o programa utiliza durante a sua execução, programa este que estará armazenado na ROM.

Page 9: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

6

Ainda podemos contar com dois timers programáveis no microcontrolador. Estes são responsáveis por realizar contagens temporizadas ou para determinar taxa de transferencia da interface serial.

Como entrada e saída de dados existem portas mapeadas em memória, barramento de dados e a interface serial. As portas podem ser acessadas diretamente, instruções de leitura e escrita podem interagir com ela tranqüilamente, contudo o barramento de dados está intimamente ligado ao barramento de endereços, e para funcionar a lógica precisa ser mais complexa, as vezes até com circuitos de acoplamento. Complexidade esta que é compensada pelo fato de aplicações mais elaboradas poderem ser implementadas desta forma. A interface serial funciona com taxa de comunicação variável, configurada através de um timer e de alguns registradores. Podemos configura-la para diversas taxas de transmissão e modos de transmissão.

3.2. Software Embarcado

Software Embarcado é o programa inserido na memória programável, tornando-se

parte permanente do sistema, também chamado de Firmware. O Software Embarcado, instalado no módulo processador do equipamento, é o

responsável por toda a inteligência instalada no veículo. Utilizando processamento em tempo real e o conceito de multi-tarefas, garante o funcionamento preciso e rápida resposta do terminal embarcado.

Este tipo de programação é considerada de extremo baixo nível, ou seja, muito perto do nível de máquina propriamente dito. Isto exige desenvolvedores com alto conhecimento de hardware e alta especialização.

Uma característica fundamental de um bom firmware é que ele seja pequeno. Qualquer seja o hardware que ele vá rodar, por ser embarcado, com certeza possui uma memória muito pequena, por isso o desenvolvedor deve ter atenção ao escrever seus algoritmos pois rotinas desnecessárias podem comprometer o uso do mesmo.

O Firmware depende inteiramente do hardware aonde está rodando, ou seja, ele não rodará caso o hardware seja substituído por outro com instruções diferentes. O programador deve estar a par do funcionamento do hardware que será utilizado para poder desenvolver um programa que funcione perfeitamente.

Page 10: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

7

3.3. Sensores Os robô precisa “enxergar” o ambiente a sua volta para não colidir com obstáculos,

para é faz necessário um equipamento que informe ao robô a distância que ele se encontra dos obstáculos e para que lado deve desviar.

Os sensores podem ser de diversos tipos: • Ultrasom • Câmeras Digitais • InfraVermelho Câmeras Digitais foram descartadas pois o sistema exige uma resposta instantânea, e

não tem capacidade para processamento pesado. Ultrasom e InfraVermelho são duas boas opções. O primeiro é capaz de identificar obstáculos à distâncias maiores, e não sofre influência alguma da iluminação ambiente e pouca influência do tipo de material do obstáculo. O segundo é melhor para trabalhar com menores distâncias de obstáculos e consegue detecta-los mesmo quando o ângulo entre sensor e obstáculo é bastante grande.

O tipo de sensor escolhido para o projeto é de infravermelho, primeiramente pela sua disponibilidade no mercado, apesar de não existir no mercado brasileiro, sua importação é não é difícil. Além disso, contamos com a versatilidade dos fabricantes, que disponibilizam sensores para as mais diversas aplicações, mas com certeza o mais importante é que estes sensores apresentam alto grau de confiabilidade e alta resistência às interferências do meio ( luminosidade, cor do objeto, etc).

A luz é uma onda, e a freqüência desta onda determina sua cor, ou se ela será visível para nós ou não. Sensores de Infravermelho tem esse nome pois trabalham com a radiação infravermelha, que fica entre a parte visível e as microondas do espectro de freqüência. Para nosso caso, usaremos sensores com pico de sensibilidade no comprimento de onda de 940nm, logo, usaremos emissores de infravermelho que emitem em 940nm.

Entretanto existem alguns problemas ao se trabalhar com sinais de infravermelho: - vários robôs utilizam sensores de infravermelho - luz fluorescente, luz solar, câmeras e outros dispositivos emitem muito

infravermelho. - Sinais de infravermelho refletem nas superfícies(como os sensores de

distancia funcionam). A luz infravermelha, apesar de não poder ser vista, esta presente no meio à nossa volta

por isso é importante usar luz de infravermelho modulada para evitar interferência de outros sensores de infravermelho e outras fontes, luzes, sol, etc. Se usarmos luz infravermelha pura, com comprimento de 940nm, seria muito difícil para determinar a diferença entre outro robô

Page 11: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

8

ou uma lâmpada. Infravermelho modulado é muito usado em medidas de distancia de infravermelho, isso garante alta resistência as interferências do meio.

Devemos também considerar que um sinal de infravermelho incidente em uma parede será refletido não apenas para o sensor, mas em outra direções também. Isso quer dizer que um robô pode receber uma informação proveniente de outro robô que utiliza o mesmo tipo de sensor. Se usarmos material que não reflete infravermelho, os sensores de distancia não funcionarão. Se usássemos sensor de ultra-som teríamos problemas mais graves.

Na figura abaixo está um exemplo de dois robôs navegando por infravermelho. O primeiro robô recebe a emissão do segundo e vice versa e nenhum deles pode determinar se o outro robô está na posição real ou na outra posição representada por um círculo.

Figura 1 - Problema dos Sensores O problema é que a emissão de infravermelho de um robôs será captada pelo outro,

causando uma interferência e uma medição falsa de distância. Especificamente neste projeto, será implementado apenas um robô de protótipo, além disto, considerando que mesmo os robôs mais lentos não devem receber emissões de outros robôs por um tempo muito longo, o problema não é tão grande.

As figuras a seguir permitem uma visualização do funcionamento do sensor e sua

relação tensão e distancia.

Figura 2 - Funcionamento dos Sensores Figura 3 - Curva de Resposta Sensor

1 2

Page 12: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

9

A medição será totalmente controlada pelo programa do microcontrolador, o qual usará as amostras dos valores dos sensores.

Outro problema, relacionado tanto à parte de sensores quanto de motores é caso o robô derrape, escorregue ou venha a perder por qualquer forma seu referencial. Esta é uma desvantagem de não se utilizar faróis. No final do projeto serão realizados teste de validação do projeto que determinarão quanto preciso o sistema se mostrou mesmo sujeito à esse tipo de erros.

3.4. Motores

O tracionamento do robô será feito através de motores de passo, os quais podem

apresentar características específicas, mas todos são basicamente de dois tipos: Magnético

Permanente(permanent magnet) e Relutância Variável(variable reluctance) (existe também

os motores híbridos, que, do ponto de vista de controle, são indistinguíveis entre magnético

permanente ou relutância variável). Motores magnéticos permanente possuem a tendência a

manter suas bobinas rígidas quando se tenta movimenta-los desligados, e os motores de

relutância variáveis giram livremente. Motores de relutância variáveis geralmente possuem 3

enrolamentos (às vezes 4), com um retorno comum, enquanto motores magnético permanentes

possuem 2 enrolamentos independentes, com ou sem fio centrais (center taps). Enrolamentos

com fios centrais são usados por motores de passo do tipo unipolar.

Motores de passo podem ter diversos tipos de escalar, dependendo da aplicação para

qual são construídos. Os motores menos precisos giram tipicamente 90° por passo, enquanto

os motores de maior precisão são capazes de girar entre 1.8 e 0.72° por passo.

Para ambos motores do tipo magnético permanente e relutância variável, se somente

um enrolamento for energizado, o eixo irá parar num determinado ângulo e assim ficará

"preso" até que o torque exceda o torque do motor, nesse ponto, o eixo irá girar, tentando

manter sucessivamente a posição de equilíbrio.

Page 13: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

10

3.4.1. Motores de Relutância Variável

Figura 4 - Motor de Relutância Variável

Caso o motor possua 3 enrolamentos, conectados entre si, conectados como mostra a

figura acima(figura 2), com um terminal comum para todos os enrolamentos, este é o tipo

mais comum de motores de passo de relutância variáveis. Em uso, o fio comum tipicamente

vai para o polo positivo da bateria e os enrolamentos são energizados em sequência.

No exemplo da figura 2, o motor irá girar 30º por passo, seu eixo possui 4 dentes e os

enrolamentos formam 6 pólos enrolado em volta de dois pólos opostos. Quando o enrolamento

de número 1 é energizado, um dos dentes do eixo é atraído para o pólo deste enrolamento, por

exemplo “X” da figura 2. Quando a corrente circulante através do enrolamento 1 for cortada, e

o enrolamento 2 for energizado, os dentes do motor rodarão 30º no sentido horário até que

pólo representado por um “Y” na figura se alinhe com o pólo dois. E assim por diante.

Para rodar esse motor continuamente, nós simplesmente aplicamos energia nos 3

enrolamento em seqüência. Usando lógica positiva, onde for 1 significa passando corrente

através do enrolamento do motor, a seqüência a seguir irá girar o motor ilustrado na figura 2

no sentido horário, 24 passos ou 2 revoluções.

Enrolamento 1 - 1001001001001001001001001

Enrolamento 2 - 0100100100100100100100100

Enrolamento 3 - 0010010010010010010010010

tempo --->

Page 14: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

11

Outros modelos de motores de passo de relutância variável podem possuir 4 ou 5

enrolamentos, com 5 ou 6 fios. O princípio de funcionamento destes é o mesmo, mas é

necessário rever a ordem de acionamento das bobinas para o motor girar satisfatoriamente.

3.4.2. Motores de Passo Unipolares

Figura 5 - Motor de Passo Unipolar

A figura 3 mostra como, geralmente, são esquematizados os motores de passo, tanto

magnético permanente quanto híbridos, com 5 ou 6 fios, com um fio central em cada um dos

enrolamentos. Na sua aplicação prática, o fio central de cada um dos enrolamentos é ligado ao

polo positivo da alimentação, e os demais fios de cada enrolamento são levado ao pólo

negativo alternadamente, para reverter a direção do campo magnético proveniente dos

enrolamentos.

A seção do motor mostrada na figura 3 é de 30° por passo. O enrolamento número 1 do

motor é distribuído entre a parte de cima e a de baixo do polo do stator, enquanto o

enrolamento 2 é distribuído entre a esquerda e a direita dos pólos do motor. O eixo é um

magnético permanente com 6 pólos, 3 sul e 3 norte, colocados em volta da circunferência.

Quando maior for a faixa angular, mais pólos o eixo deverá ter. O motor de passo de

30° por passo na figura é um dos tipos mais comuns de motores de magnético permanente,

entretanto motores com 15º e 7.5° por passo são facilmente encontrados. Motores de passo de

magnético permanente com alta precisão como 1.8° por passo também são fabricados, motores

híbridos são construídos em série de 3.6 e 1.8° por passo, com capacidade de até 0.72° por

passo.

Page 15: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

12

Como mostrado na figura, a corrente circulando do fio central do enrolamento 1 até o

terminal a causa a parte superior do pólo do stator ser pólo Norte enquanto a parte inferior ser

pólo Sul. Isso atrai o eixo na posição mostrada na figura. Se a energia do enrolamento 1 for

desligada e o enrolamento 2 for energizado, o eixo irá girar 30°, ou um passo.

Para girar o motor continuamente, é simplesmente aplicado corrente nos dois

enrolamentos em seqüência. Assumindo 1 como lógico positivo, isto é energizando o

enrolamento do motor, as seguintes seqüências de controle irão girar o motor da ilustração 3

no sentido horário, 24 passos ou 4 revoluções.

Enrolamento 1a 1000100010001000100010001

Enrolamento 1b 0010001000100010001000100

Enrolamento 2a 0100010001000100010001000

Enrolamento 2b 0001000100010001000100010

tempo--->

Enrolamento 1a 1100110011001100110011001

Enrolamento 1b 0011001100110011001100110

Enrolamento 2a 0110011001100110011001100

Enrolamento 2b 1001100110011001100110011

tempo --->

Note que os dois lados do mesmo enrolamento nunca são energizados ao mesmo

tempo. As duas seqüências acima irão girar o motor em um passo de cada vez. A sequência

superior apenas energiza um enrolamento por vez, como ilustrado na figura acima; isso gasta

menos energia. A seqüência inferior energiza 2 enrolamentos por vez e geralmente produz um

torque 1.4 vezes maior do que a seqüência superior gastando o dobro de energia.

Page 16: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

13

3.4.3. Motor de Passo Bipolares

Figura 6 - Motor de Passo Bipolar

Motores de passo bipolares, tanto magnético permanente quanto híbridos, são

construídos com exatamente os mesmo mecanismos usados nos motores unipolares, mas os

dois enrolamentos são mais simples, sem fio central. Isto significa que, o motor é mais simples

mas o circuito eletrônico precisa controlar a reversão da corrente para cada enrolamento, isso

torna-o muito mais complexo.

O circuito eletrônico para esses tipos de motores são do tipo H-Bridge (pontes com 4

transistores). O motor precisa de uma h-bridge para cada enrolamento. Basicamente, uma h-

bridge permite que a polaridade da energia aplicada em cada ponta de cada enrolamento seja

controlado independentemente. A seqüência de controle para um passo simples é mostrada

abaixo usando os símbolos + e - para indicar a polaridade da força aplicada em cada terminal

do motor.

Terminal 1a +---+---+---+--- ++--++--++--++-- Terminal 1b --+---+---+---+- --++--++--++--++ Terminal 2a -+---+---+---+-- -++--++--++--++- Terminal 2b ---+---+---+---+ +--++--++--++--+ tempo ---> Note que essas seqüências são idênticas as do motor unipolar, num nível representativo.

Page 17: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

14

3.4.4. Motores Multifase

Figura 7 - Motor Multifase

Um tipo menos comum de motores de passo magnético permanente 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. O modelo mais comum nessa categoria usa

cabeamento de 3-fase e 5-fase. O controle eletrônico requer 1/2 de um H-bridge para cada

terminal do motor, mas esses motores podem gerar mais torque doque um outro motor do

mesmo tamanho porque todos ou todos exceto um dos enrolamentos são energizados a cada

turno de passos. Alguns motores de 5-fase possuem resoluções altas na ordem de 0.72° por

passo (500 passos por revolução).

Com um motor de 5-fase, existem 10 passos básicos que se repetem em cada ciclo,

como é mostrado abaixo:

Terminal 1 +++-----+++++-----++

Terminal 2 --+++++-----+++++---

Terminal 3 +-----+++++-----++++

Terminal 4 +++++-----+++++-----

Terminal 5 ----+++++-----+++++-

tempo --->

Aqui, como no caso dos motores bipolares, cada terminal é conectado, hora no

positivo, hora no negativo da bateria. Repare que, a cada passo, somente um terminal muda de

polaridade. Essa mudança remove a força de um enrolamento anexado no terminal (porque

ambos terminais do enrolamento em questão estão na mesma polaridade) e aplica força para

um enrolamento que estava previamente sem força. Em um motor com a geometria da figura

5, essa seqüência de controle irá girar o motor por 2 revoluções.

Page 18: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

15

3.5. Funcionamento dos módulo unidos

Neste tópicos pretendo descrever os módulos já especificados funcionando em

conjunto.

No ínicio do programa que é armazenado na memória EPROM são inicializadas as

variáveis de configuração do Microcontrolador, como interrupções e timers. A seguir uma

rotina composta por um Loop ficará aguardando a entrada de dois bytes na porta serial, o que

será feito pelo usuário e corresponderá ao objetivo do robô

Com estes dados disponíveis na memória RAM os algoritmos de deslocamento e

leitura dos sensores será iniciado. Estas duas rotinas funcionam de forma serial, ou seja,

primeiro são lidos todos os sensores, cada sensor lido gera uma interrupção para o

microcontrolador, que reconhece o dado disponível no conversor ADC e uma instrução de

READ no endereço é executada para que o dado do sensor seja transferido para uma área da

RAM reservada para este fim, e é iniciada a leitura do próximo sensor.

Com todos os valores dos sensores disponíveis o processamento é iniciado, se não for

encontrado nenhum obstáculo na trajetória, o robô se deslocará em linha reta até alcançar a

mesma linha do alvo, então virará na direção do alvo e continuará sua trajetória em linha reta,

caso obstáculos sejam encontrados, as coordenadas serão atualizadas na memória para futura

referência. Exemplificando, se o robô encontra um obstáculo e vira em um sentido que se

afaste do alvo, a variável que guarda a distância naquele eixo será incrementada, ou invés de

decrementada, a figura a seguir mostra um exemplo de trajetória estimada pelo algoritmo e

trajetória prática em função dos obstáculos encontrados no meio:

Figura 8 – Trajetória

Trajetória Estimada Trajetória Prática

Page 19: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

16

4. PROJETO Esta parte visa descrever o Projeto em si, como seus módulos serão implementados,

quais técnicas serão utilizadas.

4.1. Módulo Microcontrolador O circuito comporta um microcontrolador 8051, uma memória RAM de 32Kbytes, e

uma memória EPROM de 32Kbytes. O fato do 8051 executar um número de instruções

suficiente para a aplicação do projeto levou a sua escolha.

O programa em assembly deve ser gravado na EPROM para que o microcontrolador

acesse-o e execute suas intruções. A saída de dados utilizada para controle dos motores será a

porta P1 do microcontrolador, serão 8(oito) bits, ou 1(um) byte, ligados diretamente nos

drivers dos motores de passo. A divisão dos bits definida foi que os 4 bits mais significativos

controlarão o motor da direita e os 4 menos significativos, o motor da esquerda. Cada bit é

responsável pelo acionamento de uma bobina, a variação da variável que controla os bits de

um estado para outro faz com que haja diferença de potencial entre bobinas adjacentes,

realizando movimento. Será implementada uma máquina de estados para controlar os motores.

A máquina de estados define a ordem de polarização das bobinas, e uma ordem de execução,

que define movimentação para frente ou para trás dos motores.

A entrada de dados utilizará 3(tres) bits de endereçamento ligados diretamente ao

circuito integrado do conversor analógico digital. Esta lógica selecionará qual sensor está

sendo lido no momento e seu valor será armazenado em uma posição de memória para futura

utilização, através do barramentos de dados. Além disso, o bit mais significativo de endereço

será utilizado para habilitar a placa do conversor, ou seja, para o microcontrolador os sensores

estarão ligados ao seu endereço 8000h ou 8007h. Estes endereços são reservados para ligar

dispositivos externos, seu uso é previsto na construção do microcontrolador.

Para utilização do microcontrolador, utilizaremos uma placa desenvolvida para

aplicações com o microcontrolador 8051/31, cujo esquemático encontra-se no ANEXO 1 –

ESQUEMÁTICO DA PLACA MICROCONTROLADORA deste documento.

Page 20: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

17

A seguir esta o diagrama simplificado da arquitetura do microcontrolador:

Figura 9 - Diagrama Microcontrolador

4.1.1. Firmware O microcontrolador deve rodar instruções programadas em uma memória EPROM.

Este programa é feito em linguagem assembly, que é o código mais próximo de linguagem de

máquina, e é chamado de Firmware. As intruções em assembly estão relacionadas diretamente

com o hardware, pois para utilizá-las é necessário conhecer os diversos registradores e como

cada um deles afeta o funcionamento do sistema. Como o código necessário é muito

complexo, será utilizado um programa que compila códigos em linguagem C para assembly,

chamado Keil.

Keil é um software alemão e será utilizada uma versão demo, que apesar de recursos

restritos será suficiente. Este programa é específico para as instruções do microcontrolador

8051. Seu funcionamento permite a utilização de estruturas como if, while e várias outras,

bastante comuns em linguagem C, mas que em assembly dão algum trabalho para serem

implementadas. A utilização deste programa proporcionou um ganho muito grande em tempo

de execução do projeto e, além disso, uma organização e estruturação muito maior da

programação.

Page 21: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

18

A memória EPROM pode ser programada e apagada utilizando equipamento adequado. Para cada teste de firmware deve-se gravar uma EPROM, conecta-la ao circuito e após o teste apaga-la para futura utilização, isto representa um acréscimo de tempo aos testes do sistema. Para controle do robô e de todos seus dispositivos foi necessário o desenvolvimento de um firmware específico. O firmware desenvolvido possui funções específicas para cada tarefa que o robô deve realizar, serão descritas as já implementadas, além destas outras serão criadas em função da necessidade.

A seguir são descritas as principais classes do programa e suas funcionalidades: OS_C.c – Arquivo principal do programa, aqui são chamados os métodos de

movimentação do robô ( MOT_C.c ) e leitura dos sensores ( ADC_C.c ). Além disso estão neste arquivo os códigos de tomada de decisão do robô. É neste módulo que esta presente a inteligência do robô, as rotinas que irão decidir qual sentido de movimentação e quando ele deve parar. Esse arquivo contêm as rotinas que são executadas dentro de um loop infinito, são rotinas responsáveis por contagem dos temporizadores, regulagem dos timers da porta serial, leitura temporizada dos sensores, tempo entre os acionamentos das bobinas consecutivas. O sentido para qual o robô se movimentará e o número de passos que irá executar são variáveis definidas aqui, e são recalculadas para cada interação do robô com o meio.

Equate_h.h – Arquivo contendo as constantes previamente definidas para execução do programa, como valor dos timers, dos estados dos motores, etc. Estas variáveis são importante à medida que controlam atributos físicos do robô, como por exemplo a velocidade do seu movimento, a distância máxima que o robô pode chegar perto de um obstáculo entre outras.

MOT_C.c – Possui todos os métodos responsáveis por gerenciar os motores. Estes métodos são responsáveis por fazer o motor andar no sentido definido, e configuram diretamente as porta P1, aonde os motores estão conectados. Os dados do sentido de movimentação e o número de passos a serem executados são enviados pela classe principal, OS_C.c de forma que este módulo de firmware seja responsável apenas pela movimentação dos motores. Caso sejam trocados os motores, deve-se mexer apenas neste ponto do programa, se for trocado o microcontrolador, este código pode ser usado para o novo firmware, desde que os motores continuem os mesmos.

ADC_C.c – Possui métodos responsáveis pela leitura dos valores vindos do conversor

analógico-digital, ou seja, dos sensores. Este algoritmo armazena na memória RAM externa os

valores lidos e aciona o flag de decisão, que aciona a função responsável pela tomada de

decisão na classe OS_C.c. Este algoritmo está configurado para trabalhar de acordo com o

hardware desenvolvido para os sensores.

Page 22: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

19

4.2. Módulo Sensores Os sensores utilizados são GP2D120 da sharp. Os sensores trabalham com sinais de

comprimento de onda de 940nm. Seu funcionamento baseia-se na emissão de um feixe

infravermelho e na captura do angulo de reflexão deste feixe. Através deste angulo o

dispositivo gera uma valor de tensão na sua saída proporcional a distancia do objeto que

refletiu o feixe. A figura a seguir mostra o diagrama em blocos deste módulo:

Figura 10 - Diagrama em blocos do módulo sensor

O circuito integrado ADC0808 converte este valor e disponibiliza-o para o

microcontrolador. Os sensores estarão ligados às entradas do conversor, os pinos de adress do

conversor e microcontrolador estarão conectados, de forma que o microcontrolador decida

qual entrada do conversor, ou seja, qual sensor ele estará fazendo a aquisição. A lógica de

acionamento do conversor disponibiliza os endereços 8000h até BFFFh, o que é muito mais do

que será necessário, mas mesmo assim reserva uma faixa do mesmo tamanha para qualquer

outro dispositivo que venha a ser acoplado ao sistema.

Page 23: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

20

Feita a aquisição o microcontrolador executa as instruções em função do valor,

finalizado o processo a entrada seguinte é selecionada e o processo se repete até o robô

alcançar seu objetivo. A seguir está o circuito composto pelos sensores e conversor:

Figura 11 - Circuito Conversor

O módulo de sensores deve ser acoplado ao restante do robô, logo seu formato e a

disposição dos sensores foi calculada em função dos outros módulos. O resultado foi uma

placa circular comportando 6 sensores distribuídos pelo módulo. Na figura a seguir pode-se

ver uma linha base cortando o robô de um lado a outro, passando pelo seu centro, esta linha

serve de base para calcularmos a posição dos ângulos onde estarão os sensores.

Haverá um sensor formando um angulo de 90 graus com esta linha, que cobrirá parte

frontal, dois sensores em ângulos de 60 e 120 graus com a linha, para verificar obstáculos na

diagonal frontal do robô, dois sensores formando angulo de 0 e 180 graus com a linha para

verificar os lados e um ultimo sensor, formando angulo de 270 graus com a linha, para

verificar a parte de trás do robô.

Page 24: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

21

A figura traduz a vista de cima do módulo sensores.

Figura 12 - Módulos Sensores

O módulo sensores possuirá em sua constituição conectores apropriados para ser

encaixado no restante do robô. A saída do conversor estará ligada no módulo

microcontrolador.

4.3. Módulo Motores

Serão usados neste projeto dois motores de 12V, do tipo Unipolares, como já descrito

anteriormente, retirados de impressoras matriciais antigas . Seu funcionamento é simples e os

componentes usados no seu circuito controlador, como drivers por exemplo, são facilmente

encontrados no mercado. Sua tensão de alimentação não é alta, e a corrente que utilizam

depende do tipo de motor utilizado, neste caso a corrente utilizada por cada motor será de

0,6A, o que será suficiente para movimentar o robô pois este será leve. A seguir encontra-se o

esquema de ligação para funcionamento através de lógica digital de um motor de passo

convencional.

Page 25: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

22

Figura 13 - Circuito Driver

A lógica de controle do motor de passo é bem simples. Utilizando-se o driver como

interface entre o circuito e o motor podemos converter níveis lógicos na saída do circuito controlador em movimento para o robô.

Basta ativarmos os enrolamentos individualmente dentro de uma certa seqüência e freqüência. Para um motor de 4 passos, a seqüência de movimento que a saída deveria gerar ao longo do tempo poderia ser, por exemplo:

Bobina 1a: 100010001000100010001000 Bobina 1b: 001000100010001000100010 Bobina 2a: 010001000100010001000100 Bobina 2b: 000100010001000100010001 Uma seqüência como essa gera movimento no motor pois ativa cada uma das bobinas

seqüencialmente. Para conseguirmos precisão nos movimentos do robô, é necessário que testemos diversas vezes a sua movimentação e quantos passos são necessários para deslocar o robô em uma unidade de medida.

Page 26: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

23

Na montagem do módulo de motores será utilizada uma base de madeira para comportar os motores, as baterias e o circuito controlador do motor. O formato da base será circular para facilitar acoplamento dos outro módulos e a própria movimentação do robô.

4.4. Aspectos do Robô

À partir do momento em que todos os módulos estejam prontos e funcionando, eles

serão encaixados uns nos outros em forma de torre para compor o robô. Sua aparência será conforme a figura seguinte:

Figura 14 – Vista Frontal

Figura 15 - Vista Lateral

Page 27: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

24

5. IMPLEMENTAÇÃO

5.1. Hardware Os esquemáticos dos circuitos utilizados no desenvolvimento do projeto já foram

explicados nos capítulos anteriores, aqui explicaremos a confecção das placas destes circuitos. As seguintes placas foram fabricadas:

• Circuito controlador do conversor analógico-digital para os sensores. • Circuito adaptador para interface entre sensores e o circuito controlador dos mesmos. • Circuito driver para controle dos motores de passo. • Circuito regulador de tensão.

5.1.1. Controlador do conversor analógico-digital para os sensores Este circuito é o responsável por fazer o interfaceamento do kit do 8051 com o

conversor analógico-digital (ADC0808). Conforme descrito no item 4.2, ele deve receber informações do microcontrolador para começar a conversão, e ao final dela, mandar uma mensagem para a Interrupção 0 (zero) informando que o dado está pronto para ser lido, na seqüência o microcontrolador vai ler o dado pelo seu barramento de dados. A implementação do circuito descrito na figura 9 pode ser vista abaixo, o layout realizado deixa os principais pinos, como barramento e dados ou entrada dos sensores, nas bordas da placa tornando seu acesso mais fácil.

Figura 16 - Placa do Conversor

Page 28: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

25

5.1.1.1. Componentes Utilizados - ADC0808 - 74LS02 - 74LS393 - 74LS04 - CRYSTAL 12MHz - 2 Resistores 1kΩ - Soquetes e Barra de Conectores

5.1.2. Circuito adaptador para interface entre sensores e o circuito controlador Os sensores utilizados possuem uma interface pouco comum, logo não foi possível

encontrar no mercado conectores que servissem perfeitamente nos sensores, para resolver este problema a placa a seguir foi desenvolvida. Ela serve somente para proporcionar um interfaceamento entre sensores e o módulo do conversor. Foram utilizadas 6 (seis) destas placas, uma para cada sensor, o qual é conectado nos 3 pinos mais proximos, na borda da placa.

Figura 17 - Adaptador para Sensores

5.1.3. Circuito driver para controle dos motores de passo O circuito driver transforma níveis lógicos 1, com 5 volts de tesão, em 12 volts de

tensão, para alimentação dos motores de passo. Os transistores utilizados foram calculados em função da corrente que passaria por eles, aproximadamente 1,3 A. O circuito abaixo é a implementação do circuito especificado na figura 11. Neste caso os transistores ficaram nas bordas da placa para poderem serem resfriados de forma mais eficaz.

Page 29: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

26

Figura 18 - Placa de Driver

5.1.3.1. Componentes Utilizados

- 4 BDX33 - 4 Resistores de 4,7kΩ - Barra de Pinos - Barra de Conectores

5.1.4. Circuito regulador de tensão Para alimentar os circuitos é necessário uma tensão de 5 V, mas a bateria fornece 12 V,

para solucionar este problema foi implementado um circuito regulador de tensão que mantém a tensão em 5 V em um de seus terminais, aonde o outros circuitos podem conseguir a tensão de que precisam.

Figura 19 - Placa do Regulador de Tensão

Page 30: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

27

5.1.4.1. Componentes Utilizados

- LM7805 - 2 Capacitores 100nF - Barra de Conectores

5.2. Mecânica

A parte mecânica do projeto engloba todas as peças utilizadas para sustentação e

fixação das outras partes, como motores e circuitos. Para montagem do robô foram utilizadas

placas de madeira circulares como base de sustentação de motores e circuitos e, para fixa-los,

foram utilizados diversos parafusos.

Como o robô utiliza dois motores, foi necessário a utilização de uma terceira roda de

apoio. Esta roda é livre, ou seja, se movimenta em qualquer sentido, e para garantir que o peso

do robô estaria concentrado em cima desta roda, a bateria foi colocada logo acima dela, fixada

na placa de madeira, pois a bateria é o componente mais pesado do sistema. Desta forma o

robô fica equilibrado e não cai para frente, que é o único lugar aonde não há nenhuma roda no

robô. As figuras a seguir ilustram todas as etapas de montagem do projeto.

Estas duas figuras a seguir ilustram a base do robô. Os cortes nos lados das placas são

utilizados para fixar os motores, a placa cortada na parte superior do desenho é a parte de

baixo, o corte é usado para dar espaço para a roda de apoio, que é fixada na outra placa.

Figura 20 - Placa Base Superior Figura 21 - Placa Base Inferior

Page 31: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

28

A figura a seguir ilustra a visão frontal da base, com as duas placas pressionando os

motores para fixação dos mesmos:

Figura 22 -Vista Frontal da Base

A roda de apoio foi fixada na parte traseira do robô, aonde fica a bateria e por

conseqüência a concentração do peso. A roda movimenta-se em qualquer direção, e foi fixada

por parafusos na placa superior da base, enquanto na placa inferior foi aberto um espaço para

sua passagem.

Na figura a seguir é possível visualizar a parte traseira do robô com a roda de apoio

fixada:

Figura 23 - Vista Traseira da Base

Page 32: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

29

O próximo passo na montagem foi a fixação da placa que comportaria os circuitos do

microcontrolador e conversor analógico-digital. Foi utilizado o mesmo sistema de parafusos e

porcas para o sistema ficar estável e além disso, quando fosse necessário desmontar o robô

para quaisquer alterações seria muito simples, bastaria apenas desparafusar alguns pontos e as

placas estariam soltas. A figura a seguir ilustra a montagem do robô:

Figura 24 - Robô Montado

Page 33: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

30

6. FLUXOGRAMA DE FUNCIONAMENTO DO PROJETO

Figura 25 - Fluxograma de Funcionamento do Projeto

Page 34: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

31

7. CRONOGRAMA

As atividades a serem realizadas para conclusão do projeto foram divididas conforme tabela abaixo:

Etapas fev mar abr mai jun jul ago set out nov

Pesquisa bibliográfica x x

Desenvolvimento do Projeto x x

Implementação do Projeto x x x x x

Testes e Validação x x x

Monografia x x

Page 35: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

32

8. ESTIMATIVA DE CUSTOS A seguir tabela contendo os gastos estimados para a realização do projeto:

Material Valor (R$) Osciloscópio//Fonte Simetrica/Protoboard Fornecido pela Faculdade Conversor ADC 20,00 MicroControlador 20,00 Motores de Passo 100,00 Estrutura do robô (chapas de madeira) 10,00 Sensores 500,00 Placa de Circuito Impresso 45,00 Bateria 25,00 Carregador para Bateria 35,00 Demais componentes (resistores, capacitores, etc) 100,00

Total: R$ 855,00.

Page 36: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

33

9. PLATAFORMA DE DESENVOLVIMENTO A seguir está a descrição dos recursos necessários ao desenvolvimento do projeto.

Alguns podem não ser os melhores que existem no mercado, mas atendem as necessidades do projeto. Sua escolha baseou-se nas funcionalidades que possuem.

O ambiente de desenvolvimento era constituído basicamente por:

• Computador Celeron 1Ghz, 128 Mb Ram • Sistema Operacional Microsoft Windows 2000 BR • OrCAD Release 9.1 • MultiSim 2001 • Kit UnicenP Desenvolvimento 8051 • Microsoft Office 97 • Keil

Além destes, foram utilizados para construção e verificação dos circuitos e sinais

osciloscópios, fontes de alimentação, multimetros, etc.

Page 37: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

34

10. CONCLUSÃO

O equipamento desenvolvido tem uma grande utilidade prática na área de robótica,

principalmente em roteamento e testes de algoritmos. Os robôs cada vez mais precisam ser

autônomos na tomada de decisões e precisos na realização de tarefas, logo é necessário aos

desenvolvedores possuírem as ferramentas necessárias ao desenvolvimento e testes de seus

protótipos.

Os primeiros testes realizados não saíram exatamente como o esperado, mas foram

bastante animadores, visto que cada estudo teórico sobre roteamento gerou novas soluções, as

quais foram imediatamente implementadas e testadas, melhorando cada vez mais os

resultados.

O projeto ainda necessita de estudos mais aprofundados e algoritmos mais eficientes,

mas serviu perfeitamente para sua finalidade original, possibilitar que o usuário desenvolva e

teste seus algoritmos de forma eficiente e relativamente rápida.

Trabalhos futuros envolvendo o projeto já estão sendo planejados, além das melhoria

das suas funções, está em estudo o desenvolvimento de um módulo de comunicação por rádio

com o microcomputador e sistemas de retroalimentação das informações de posicionamento

do robô, para que o mesmo possa corrigir em tempo real sua rota.

Page 38: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

35

11. REFERÊNCIAS ULLRICH, R.. Robótica: uma introdução.Rio de Janeiro: Campus, 1987. K-TEAM. KHEPERA – User Manual. Lausanne: K-TEAM, 1999. BORENSTEIN, J. EVERETT, B., and FENG, L., Navigating Mobile Robots: Systems and Techniques A. K. Peters, Ltd., Wellesley, MA. 1996 JONES, Joseph. FLYNN, Anita. Mobile Robots: Inspiration to Implementation A. K. Peters, Ltd., Wellesley, MA. 1999 ARKIN, Ronald C. Behavior-Based Robotics. Massachusetts: MIT Press, 491p. 1998 FIGUEIREDO, Maurício. Navegação Autônoma de Robôs. In: Escolha de Informática da SBC – Regional Sul, 7. 1999 RUSSEL, Stuart J.; NORVIG, Peter. 1995 Robotics. In: Aritificial Intellence: A Modern Approach. New Jersey: Prentice Hall, 1995 Na Internet http://www.dsee.fee.unicamp.br/local/cba2002/data/assunto/as5.html http://ncg.unisinos.br/robotica/ http://www.robotstore.com/links.asp http://ncg.unisinos.br/robotica/robotica.html http://www.cs.uiowa.edu/~jones/step/index.html#others http://www.fairchildsemi.com http://www.ni.com

Page 39: ROBÔ MÓVEL MICROCONTROLADO PARA AMBIENTES … · Através de um movimento controlado dos motores, o robô se movimentará na direção desejada. As coordenadas de origem serão

36

12. ANEXO 1 - ESQUEMÁTICO DA PLACA MICROCONTROLADORA

A2

A6

R54k7

AD4

U362256

10 9 8 7 6 5 4 3 25 24 21 23 2 26 1 20 22 27

11 12 13 15 16 17 18 19

28 14

A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10

A11

A12

A13

A14

CE

OE

WE

D0

D1

D2

D3

D4

D5

D6

D7

VCC GND

AD5

A7

A9

A9

5V

A13

AD0

A7

A15

D3BAT85

A10

AD

3

A13

AD

2

EN

C1

1D

U274LS373

20 10

1 11 3 4 7 8 13 14 17 18191615129652

SW1

A7

C2

33p

Vcc

AD0

U427C256

10 9 8 7 6 5 4 3 25 24 21 23 2 26 27 20 22 1

11 12 13 15 16 17 18 19

28 14

A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10

A11

A12

A13

A14

CE

OE

VPP

D0

D1

D2

D3

D4

D5

D6

D7

VCC GND

C7

100n

A13

A5

---

BT1

9V

AD

6

A6

AD7

K61 2 3 4 5 6 7 8

AD7

AD3

AD

5

SW4

SW_T_SPDT

1 3

2

A11

A3

A0

A12

A2

A4

K3

1 2 3 4 5 6 7 8

A5

AD4

A4

K2

594837261

AD3

AD1

AD2

Q1

BC557B

1

2

3

Vcc

A5AD

4

R6

100

AD3

AD4

5V

U5

LM7805

12

3VI

GNDV

O

AD1

AD

1

A9

Vcc

A13

A6

C4

470u/16V

A11

A12

A14

R3

4k7

A1

AD6

D5

LED

RAM

A10

Vcc

A2

A0

AD7

C3

33p

A8

A9

U1

80C31

31 19 18 9 12 13 14 15 1 2 3 4 5 6 7 8

39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 17 16 29 30 11 10

40 20

EA/V

P

X1 X2 RE

SET

INT0

INT1

T0 T1 P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P1.6

P1.7

P0.

0P

0.1

P0.

2P

0.3

P0.

4P

0.5

P0.

6P

0.7

P2.

0P

2.1

P2.

2P

2.3

P2.

4P

2.5

P2.

6P

2.7

RD

WR

PSEN

ALE

/PT

XDR

XD

VCC VSS

C8

100n

5V5V

AD

0

AD3

A1 A1

2

AD1 R7

4k7

A3

AD6

A5

R4

4k7

A4

AD6

K4

1 2 3 4 5 6

EPR

OM

AD5

A14

A14

A1

A3

D21N4001

AD7

AD2

AD2

Vcc

R1

10k

A4

A0 A1

1

C1

10u/63V

Vcc

AD1

A8

AD5

5V

D1

1N4148

AD0

5V

A7

C6

100n

A1

A14

A2

5V

AD

7

A6

C5

100u/10V

Vcc

AD

4

A8

A8

5V

K1

123

A11

K5

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

A12

A3

AD2

AD6

Vcc

X1

11,0592MHz

A15

A10

Q2BC547B1

2

3

C9

100n

AD5

A15

J2

CON2

1 2

A10

A0

AD0

R2

220

Figura 26 - Esquemático do Kit 8051