Projeto Robô
Alunos:
|
Juarez Heitkoetter Jr. - email: heitkoetter@gmail.com
| |
|
Rafael Scudelari de Macedo - email: scudelari@gmail.com
| |
|
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: