Projeto Robô

Alunos:

bullet
Juarez Heitkoetter Jr. - email: heitkoetter@gmail.com
bullet
Rafael Scudelari de Macedo - email: scudelari@gmail.com
bullet
Rhenyo Augusto Bastos Monteiro - email: rhenyo@gmail.com

O objetivo do trabalho era de fazer um robô que ficasse perambulando pela pista de prova e, quando fosse encontrado um obstaculo frontal (detectado pelo push-button que gerava uma interrupção no microcontrolador) o robô fizesse a manobra para ir na direção oposta.

Enquando passeava, o robô deveria ficar checando o nivel DC da tensão de alimentação (pela entrada A/D do microcontrolador). Se a tensão da bateria estivesse baixa, ele deveria rodar em seu proprio eixo em busca do emissor de infravermelho, pois logo abaixo deste estariam os conectores para que fosse feita a realimentação.

No desenvolvimento do projeto a equipe encontrou problemas externos que impossibilitaram a conclusão da segunda parte. A placa de emissão de um sinal modulado em100Hz foi feita utilizando o CI LM555 na configuração de oscilador, como segue a figura a seguir:

RA era um potenciometro de 22K e RB um potenciometro de 1K.

Circuito Oscilador implementado. Para ajustar a frequencia de 100Hz, foi utilizado o Osciloscopio e a tecnica de tentavia e erro.

O Circuito receptor foi feito apenas em proto-board, utilizando o circuito mostrado pelo professor Afonso. Funcionou corretamente depois de ter substituido o resistor que ficava em serio com o fototransistor TIL78 por um resistor de 100MOhms. Isto aumentou muito a sensibilidade do sensor, e este agora passou a perceber sinais a mais de 3 metros de distancia.

Para a conclusão da primeira parte do projeto, que era a de fazer o robô ficar perambulando pela pista de prova e aguardar a interrupção externa foi feito o seguinte circuito:

Foram utilizados TIPs em confiuração Darlington para que fosse possivel que uma maior corrente circulasse pelos motores. Corrente esta na ordem de 300mA.

O circuito de controle é dividido em duas partes (uma para cada motor) sendo que são necessarios dois bits para o controle de cada parte. Se, por exemplo, qualquer um dos bits RC0 e RC1 estiverem em 1 (5V), o seu TIP122 correspondente estará saturado (Vc = Vb) e o seu TIP125 correspondente estará em corte (Vb = Ve). Mas se qualquer um dos bits RC0 e RC1 estiver em 0V, o seu TIP122 (Vb = Ve) estará em corte e o seu TIP125 estará saturado (Vb = Vc). Então para que haja a passagem de corrente pelo motor é dado pela seguinte logica:

RC0
RC1
Estado dos transistores
0
0
Ambos os TIP125 em saturação e ambos os TIP122 em corte, impossibilitando a passagem de corrente pelo motor.
0
1
Um dos TIP125 em corte em o outro em saturação, e um dos TIP122 em corte e o outro na saturação. Isto força uma passagem de corrente pelo motor.
1
0
Um dos TIP125 em corte em o outro em saturação, e um dos TIP122 em corte e o outro na saturação, mas são transistores diferentes do anterior. Isto força uma passagem de corrente pelo motor de sentido aposto ao anterior.
1
1
Ambos os TIP125 em corte e ambos os TIP122 em saturação, impossibilitando a passagem de corrente pelo motor.

 

Os dois diodos que seguem da tensão de 6,4V são utilizados apenas para forçar uma queda de tensão de aproximadamente 0,7V em cada um deles. Foi utilizada uma bateria de 6 ~6,6V por ser esta disponivel a custo nulo.

O programa do microcontrolador em formato .asm pode ser pego aqui.

O programa faz, antes de mais nada a configuração dos bits de saida e do temporizador que é necessario para que seja implementada a função de espera (necessaria para que se tenha controle sobre quanto tempo o robô anda para traz e faz a manobra). Para a configuração do Timer foi utilizado um PreScaler e PostScaler de 1/16. Com isto foi tirado um numero de contagens de 1950 ( Fext * 1/4 * 1/16 * 1/16 = Numero_de_contagens_por_segundo). Então fizemos que o Timer contasse por 10 vezes de zero até 195 (limitado em 255 pelo tamanho da palavra da memoria).

Em seguida o programa coloca os motores em movimento frontal e aguarda a interrupção. A interrupção para o robo, espera 1 segundo, anda para traz, espera 1 segundo, vira , espera 1 segundo e volta a andar para frente.

Para montar a carenagem do robô foi feita um molde em poliuretano usando as serras da maquetaria da universidade. Em seguida foi utilizada a maquina de Vaccum-Form para que o poliestileno derretido tomasse a forma do molde.

A caixa de redução foi feita utilizando as já disponiveis de antigos carrinhos de brinquedo sacrificados pela equipe, assim como os motores e a roda.

O projeto na sua final forma ficou como se segue:

Segue-se também um video mostrando o robô em andamento:

Video