PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ
CURSO DE ENGENHARIA DE COMPUTAÇÃO
DISCIPLINA DE MICROPROCESSADORES II
PROJETO ROBÔ

EQUIPE:
Margareth Suchÿ
Fábio Henrique Mazarotto
Luiz Teruhiko Akagi
Escopo
O projeto trata da construção de um
robô com rodas (dois motores) que deverá seguir uma linha desenhada em preto, a
qual definirá o trajeto que o protótipo deverá tomar. O percurso será
reconhecido através de sensores infravermelhos, colocados na parte inferior do
modelo.
O robô terá dimensões reduzidas,
será alimentado por pilha e o controle será feito por um microcontrolador,
cujos modelos disponíveis serão estudados para a melhor adequação da equipe.
Outras capacidades poderão ser
implementadas durante o projeto, como o desvio de objetos colocados no trajeto,
dependendo da disponibilidade de tempo.
Projeto
mecânico
O protótipo resume-se a duas rodas
de tração independente, cada uma com um motor de corrente contínua controlado
independentemente, fixados a uma base que servira de suporte para todo o robô.
Para apoio, uma roda boba será fixada em uma das extremidades da base.
A base da estrutura será de material
leve (em forma de chapa), sobre a qual serão fixados dois motores DC (corrente
continua). Será pesquisado o material mais adequado para a base; algumas
alternativas são acrílico, madeira balsa, PVC ou uma mesmo placa de fenolite.
Em princípio não serão necessárias
caixas de redução, uma vez que serão concentrados esforços em deixar a
estrutura leve e compacta. Desse modo, rodas de aproximadamente três
centímetros de diâmetro, serão acopladas diretamente nos eixos dos motores.
Rodas de menor diâmetro poderão ser usadas se for necessário maior torque para
o sistema, o que só poderá ser definido quando o consumo dos módulos forem
previstos e, conseqüentemente, o tamanho mínimo para as fontes de energia.
Sobre a base fixadores para as
placas dos circuitos serão colocados, bem como para as baterias. Todo o projeto
é pensado para ser o mais simples possível na parte mecânica, deixando maior
tempo para a implementação da inteligência do sistema de automação. O protótipo
deverá ser similar ao que apresenta-se sucintamente na figura 1.

Figura 1: esquema do projeto mecânico do protótipo – em linha
tracejada a roda de apoio, em preto as rodas tracionadas. O desenho não está em
escala e não é definitivo.
Projeto de
pista:
A pista de provas será um trajeto
sinuoso, em circuito fechado, que o protótipo deve percorrer, desenhado em
alto-contraste para gerar grande diferença de sinal nos sensores. Para maior
mobilidade o material da pista será de papel cartolina, ou possivelmente outro
material pesquisado poderá ser usado, seria conveniente um material de maior
reflexibilidade luminosa, com um revestimento plástico adesivo ou similar – mas
a sua necessidade também deverá ser pesquisada.
Projeto dos
Sensores:
Para este projeto iremos utilizar sensores
infra-vermelho; especificamente, um conjunto formado por um LED infra-vermelho
(atuando como emissor) e um fototransístor (atuando como receptor).
Os testes realizados apontam os componentes TIL78 e
TIL32 como opções de baixo custo, baixo consumo e alta velocidade de resposta.
Para medição do tempo de resposta, foi aplicado um
pulso no LED, que fez o transistor comutar em menos de 100µs, o que para
efeitos práticos é mais do que necessário para se obter uma resposta
Durante os teste observou-se com clareza que a
distância entre o emissor e o receptor interfere de um modo drástico na
intensidade do sinal final. Entretanto, ajustando os componentes de maneira
conveniente, foi possível obter um sinal que varia entre 0.7V e 5,2V, o que é
ideal para ser utilizado junto a uma porta TTL, como as portas de entrada do
PIC, não necessitando de conversão analógico/digital. Dispondo-se os
componentes com uma distância de aproximadamente 50mm já foi possível obter
esse sinal. Para tal foram usadas superfícies refletoras e não refletoras
simples, como folhas de papel pintadas e disquetes para se obter o nível lógico
zero (ver figura 3) e folhas de papel em branco para se obter o nível lógico um
(ver figura 2).

figura 2: resposta do fototransístor usando-se uma superfície
refletora

figura 3: resposta do fototransístor usando-se uma superfície
não-refletora
O consumo médio esperado para o circuito é de 41mA,
com o LED aceso e o fototransístor conduzindo, o que é facilmente suprido com o
uso de baterias pequenas. O tamanho do circuito é reduzido, ou seja, o peso do
circuito não causará um impacto no peso total do protótipo, dessa forma, outros
módulos do projeto terão papel mais relevante no projeto da fonte de
alimentação. Far-se-ão uso de dois pares
LED/fototransístor, cada um em um lado do protótipo; tal circuito é observado
na figura 4.

figura 4: circuito utilizado para os testes.

figura 5: diagrama circuito implementado.
Projeto
eletrônico do microprocessador
Será utilizado o microprocessador PIC16F873.
Para os sensores; estaremos utilizando três pinos. Duas
conectadas diretamente aos CI's receptores e uma terceira que irá ligar os dois
CI´s emisores.A princípio os emissores estarão chaveados diretamente em nível
lógico 1 (um).
Para o controle dos motores serão utilizadas mais 2
saídas; uma para cada motor. Estas serão conectadas às etapas de potência do
tipo FULL Drive; possibilitando ao protótipo se locomover nos dois sentidos.
As saídas dos motores serão do tipo PWM, para que
possibilitar o controle de sua velocidade e sentido; portanto estaremos utilizando
2 timers do PIC para configurá-las (timer 1 e timer 2). Como o período do timer
é o inverso da freqüencia necessária, esta será setada para aproximadamente 3.
Para maior eficiência dos motores, o sinal PWM deverá
estar em freqüência aproximada de 3kHz, pois com freqüência menor o consumo
aumenta muito por que não se consegue gerar um efeito indutivo nas bobinas do
motor. Com uma freqüência maior os transistores Darlington têm dificuldades no
chaveamento, começando a discipar muita potência. Desse modo o clock necessário
para o microprocessador deve estar na faixa dos 3MHz, uma vez que a freqüência
do PWM é proporcional à freqüência de clock, sobrarando recursos para a leitura
dos sensores e controle dos motores. Desse modo o consumo esperado se enquadra
na seguinte categoria descrita pelo do datasheet: < 2 mA typical @ 5V, 4
MHz, ou seja, menor que 2 mA.
Os pinos que serão utilizados estão descritos na
tabela 1 e são mostrados na figura 6.
Tabela 1. Pinos de
Entrada e Saída e suas Funções
|
1 |
Master
Clear: sempre em nível lógico 1 |
|
8 |
Alimentação: GND |
|
9 |
Cristal IN |
|
10 |
Cristal OUT |
|
12 |
Saída PWM1 |
|
13 |
Saída PWM2 |
|
19 |
Alimentação: GND |
|
20 |
Alimentação: Vcc |
|
21 |
Entrada do Sensor 1 |
|
22 |
Entrada do Sensor 2 |
|
23/24 |
LEDs dos sensores 1 e 2 |

Figura 6. Pinos de Entrada e Saída necessários
Programação
do Microcontrolador
Programa
Implementado
O programa foi adquirindo maiores proporções no decorrer
do projeto, conforme foi sendo verificada a possibilidade de melhorias. A
principal diferença do projeto inicial para o atual é a leitura dos sensores.
Inicialmente a proposta era de fazer as leituras por pinos de entra comuns
(nível TTL), agora são feitos da entrada analógica, capaz de perceber as
menores variações na leitura dos sensores e passá-los aos motores em forma de
variação de potência. Isso contribuiu em muito para maior robustês do projeto,
de tal forma que hoje o robô consegue tratar bem situações adversas, tal como
adequar o movimento à curvatura da curva ou erros, como se encontrar com ambos
sensores em cima da linha.
O programa se baseia em duas partes principais que se
intercalam dentro do loop principal.
Primeiramente são feitas as amostragem dos valores nas portas analógicas AN0 e
AN1. A segunda parte é a adequação desses valores, que então são usados para
configurar os bits do tamanho do pulso gerado pelo PWM (duty cicle).
A conversão é feita habilitando-se a porta que
deseja-se amostrar e esperando o seu término. Uma vez que a amostragem da porta
é feita, os 8 bits mais
significativos são copiados para um registrador reservado. Com esse passo
concluído, o segundo passo é adequar a leitura, que varia de
Fluxograma
do Programa

Relatório
Final:
Ao final o protótipo conseguiu realizar o seu
objetivo, seguir uma linha demarcada; mas é importante destacar que foram
encontradas diversas dificuldades na sua construção.
As principais foram: o ajuste dos sensores e a
alimentação.
Com relação ao ajuste dos sensores, para um
funcionamento perfeito é importante que eles estejam dispostos de tal forma a
minimizar a interferência entre eles (que possam receber apenas sinal
infravermelho por reflexão) e do ambientes externo.
Sobre a alimentação, foi detectado que o módulo
inversor; composto de um CI 7404 não era capaz de fornecer a corrente
necessária às etapas de potência; fazendo com que o protótipo não se
locomovesse para trás.
Esse problema foi corrigido utilizando transistores
BC548 como inversores, substituindo o CI 7404.
A parte mecânica do projeto dificultou o processo;
havendo mais redução, a resposta aos sensores seria melhor e evitaria quais
problemas devidos à inércia.
Devido a estas dificuldades o protótipo percorreu o
caminho com grande instabilidade.
Fotos:

Figura 7: protótipo sobre a pista.

Figura 8: protótipo durante sua construção.