Esse é mais um
artigo recuperado das minhas velhas HD's! Eu projetei esse robô no ano
de 2004 e o publiquei na Revista Mecatrônica Fácil da saudosa Editora
Saber quando fui colaborador dessa editora (bons tempos!!!). As imagens e vídeos
presentes neste artigo foram feitos por mim, em minha antiga
bancada/laboratório e já peço desculpas pela qualidade desse material.
Naquela época eu usei uma câmera que tinha menos de 3MP de resolução e
o local não estava muito bem ilumidado! Ai já viu né?! Então considere esse material como "histórico"! ;)
Atenção!!! Esse projeto usa um Basic
Step 1 OEM e ao que parece o mesmo não é mais fabricado pela Tato
Equipamentos Eletrônicos! Sendo assim, caso queira montar esse
circuito, sugiro que você adapte o mesmo para um Arduino ou um outro
microcontrolador como o PIC, AVR, STM8, etc, a sua escolha! A leitura desse artigo servira mais como
guia ou ainda como dito anteriormente, para saber um pouco mais sobre
como as coisas eram feitas nos idos de 2004/2005!
INTRODUÇÂO Na edição da revista Mecatrônica Fácil nr16 (maio/junho 2004) publiquei um pequeno robô, capaz de “seguir uma linha” no chão. Este robô não possuía qualquer tipo de processamento e sua operação era feita através de uma lógica muito simples implementada com transistores. Após a publicação, muitos leitores enviaram e-mails perguntando sobre como realizar o projeto de um robô com as mesmas características, porém microcontrolado. Esta é a proposta deste artigo: um Robô Rastreador Microcontrolado.
O QUE MUDOU?!
Robô Rastreador 1 Na figura acima você pode ver minha primeira versão. Esta versão foi projetada utilizando apenas transistores e outros componentes discretos. Tudo bem simples, mas bastante funcional. A nova versão proposta é microcontrolada. Para obter uma “certa” compatibilidade no modo de operação mantive nesta versão o mesmo número de sensores e também o mesmo padrão de operação para estes. A diferença básica agora é o uso de um microcontrolador no “controle” do robô. As vantagens são muitas, tais como:
Você que leu o artigo e montou a primeira versão, deve se lembrar que esta possuía algumas limitações como: a pista não podia ter cruzamentos, desvios e terminações em “T” para alguns trechos e também a pista tinha que necessariamente ser fechada. Com o uso de um microcontrolador no robô, estes problemas são facilmente resolvidos. Basta criar o algoritmo adequado a cada situação. Neste artigo apresentarei um algoritmo que permite ao robô “transitar” em uma pista fechada que pode ter cruzamentos e desvios sem problema. Neste primeiro algoritmo a pista deve ser fechada. Mas você poderá, com um pouco de criatividade, desenvolver outros programas que possam ser utilizados em pistas “abertas” e também com outros tipos de “obstáculos”. Tudo é uma questão de avaliar o que se deseja e colocar “mãos a obra”.
COMO FUNCIONA O Robô Rastreador II possui um par de sensores que permitem que o mesmo “rastreie” uma linha “escura” no chão com largura de até 25 mm máximos. O contraste entre a linha e o resto da “pista” é importante. Cada sensor (esquerdo e direito) é formado por um LED emissor de IR (infra-vermelhos) e um foto-transistor (exatamente como na primeira versão). Quando o LED de um sensor encontra-se sobre a cor “clara” da pista os raios infravermelhos são então refletidos e captados pelo foto-transistor que passa a receber o sinal IR e a conduzir (saturação). Porém, se o LED IR estiver sobre a linha que deve ter cor escura, preferencialmente preto, os raios IR são absorvidos na sua maioria. Sem reflexão, o foto-transistor fica no “corte” e não conduz. Cada foto-transistor está ligado a um pino de “I/O” do microcontrolador. Este então, interpreta o estado do pino (e conseqüentemente do sensor) e passa a controlar os motores. Se os sensores estiverem conduzindo, o microcontrolador liga ambos os motores (servos de rotação). Se apenas um dos sensores parar de conduzir, o microcontrolador desliga o motor do mesmo lado do sensor que parou de conduzir. Desta forma o robô realiza uma correção na sua trajetória e pode assim continuar a seguir a “linha”, sem “atropelá-la”. O CIRCUITO Na figura acima temos o circuito elétrico do Robô. O microcontrolador CI1, um Basic Step 1, é o “cérebro” do circuito. Ele executa as funções de leitura dos sensores, controle dos servos de rotação (motores) e também dos LEDs para informação visual do motor que esta realizando o desvio. O microcontrolador Basic Step 1 já é um velho conhecido e foi utilizado em muitos outros projetos apresentados na revista. A novidade agora é o uso da versão OEM neste projeto. Nesta versão o Basic Step 1 é comercializado na forma de um CI com encapsulamento DIP 18 pinos e tem um custo muito acessível (R$29,00 em 10/06/2005). As principais características do Basic Step 1 OEM são:
Os LEDs D1 e D2 são LEDs IR (emissor de infravermelhos). Q1 e Q2 são foto-transistores. O par D1/Q1 e D2/Q2 formam os sensores “direito” e “esquerdo”, respectivamente. O funcionamento destes sensores já foi detalhado anteriormente. Os LED’s D3 e D4 informam qual motor está realizando o desvio. O diodo D5 permite ligar o circuito em 6VDC (4 pilhas). Isso é possível devido à queda de tensão de aproximadamente 0,7VDC que o mesmo provoca no circuito. Assim, temos na entrada do microcontrolador uma tensão não superior a 5,3VDC, que está dentro da faixa aceitável pelo mesmo. Não altere de maneira alguma a alimentação deste circuito, sob pena da perda do microcontrolador!!! Mantenha-a exatamente como indicado – quatro pilhas (pequenas, médias ou grandes de acordo com tempo de operação desejado e chassi utilizado). Os motores utilizados são na verdade servos de rotação que podem ser adquiridos prontos no mercado especializado ou mesmo adaptados por você a partir de servos para posicionamento de antenas parabólicas e/ou servos para modelismo no geral (Futaba, Hitec ou outros). Acredito que a escolha por servos de antenas parabólicas seja a opção mais barata e por isso indicada. Esta foi a opção que eu escolhi. Obs.: Em
2020 é possível encontrar servos de rotação na Internet fácilmente! Use
o que achar melhor! Os resistores R1 e R2 forma o divisor resistivo para a gravação do microcontrolador. A gravação é feita através do canal serial do PC, e os níveis de tensão presentes são de +/- 12VDC (padrão RS-232). Note que o divisor está presente apenas no pino de entrada. Para o pino de saída não é necessário nenhum divisor. Os resistores R4, R6, R7 e R8 são resistores limitadores de corrente para os diodos (IR e normais). Os resistores R3 e R5 são resistores de “pull-up”. Eles fornecem nível lógico “1” sempre que o foto-transistor a eles ligados se mantiverem no corte (sensor não refletindo). Quando o foto-transistor conduzir (saturação) o resistor ajuda a limitar a corrente. Para realizar a gravação do microcontrolador Basic Step 1 você precisará apenas de um cabo, montado conforme a figura abaixo e do compilador TBasic fornecido gratuitamente no site do fabricante do microcontrolador. [inserir figura 5] Cabo de gravação para o Basic Step Arquivo PDF enviado O conector “GRAVA” permite a ligação da placa do robô diretamente ao PC durante a gravação, facilitando muito a inserção do programa de controle e testes de outros programas que você poderá vir a implementar, sem a necessidade de placas ou gravadores especiais. Ao montar o cabo identifique os pinos do conector que será ligado à placa. Isso ajudará na utilização, evitando que o mesmo seja invertido, poupando muita “dor de cabeça”. MONTAGEM
Na figura acima você encontra o lay-out docircuito impresso utilizado em meu protótipo. Comece por montar os resistores e conectores (gravação, servos e entrada para o suporte de pilhas). Se você quiser, poderá usar uma chave para ligar/desligar o robô. Para isso basta inseri-la entre o suporte de pilhas e a placa. Esta chave deve ser do tipo “on/off” “alavanca” ou mesmo “gangorra”. A escolha de uma ou outra é livre. Aconselha-se o uso de um soquete para CI com 18 pinos para o microcontrolador. Evite soldar o mesmo diretamente na placa. Assim, além de evitar danificá-lo você poderá se e quando necessário utilizar o mesmo em outros testes e/ou circuitos. Os fios dos servos podem ser ligados diretamente à placa ou então pode-se utilizar conectores tipo “barra de pinos”. Apenas recomenda-se muito cuidado ao realizar as ligações. Os fios são “polarizados”: geralmente vermelho para VCC, preto para GND e branco ou amarelo para o sinal. Cuidado ao ligá-los à placa!!! No caso do “conector” para gravação, aconselha-se o uso de “barra de pinos” ou outro conector que facilite a inserção e retirada do cabo. Desta maneira facilita-se em muito a inserção do algoritmo ou mesmo estudo de novos algoritmos (alteração e implementações no programa). O capacitor C1 não é polarizado e não requer cuidados neste quesito ao ser ligado ao circuito. Porém o mesmo não acontece com o CI, diodos, foto-transistores e LEDs. Siga atentamente a orientação fornecida na “mascara” dos componentes. Qualquer inversão poderá provocar o não funcionamento do componente e possivelmente a perda do mesmo. Tenha cuidado ao ligar componentes polarizados nos circuitos!!! Você poderá preparar uma pequena placa auxiliar com apenas os dois pares de sensores a ser usada caso o chassi adotado mantenha a placa do robô longe da “linha a ser seguida”. Assim será possível ligar os sensores mais próximos à pista sem a necessidade de mover a placa principal para tal. A ligação entre as placas deve então ser feita através de fios, seguindo o mesmo padrão demonstrado na mascara da placa principal. Note que teríamos nessa placa auxiliar apenas a ligação dos sensores e GND. Escolha um ponto na placa principal para a ligação deste, que pode ser o catodo de D1, por exemplo. Após finalizar a montagem, faça uma conferência em todas as ligações, fios, soldas, posição dos componentes. Cheque se os valores estão corretos. Note que existem valores diferentes para cada resistor. Use a lista de materiais se tiver dúvidas (código de cores fornecido).
O PROGRAMA Logo abaixo em Downloads você encontrará
o código fonte de para
o microcontrolador. Na figura abaixo temos o
fluxograma que explica de maneira clara o funcionamento deste. O
estudo do fluxograma poderá ajudar a compreender o funcionamento do
programa. Ter o programa em mãos também é recomendado ;)
O programa inicia as variáveis e o ambiente (direção dos pinos – “entrada ou saída” e o seu estado inicial). Em seguida o programa pisca os LEDs D3 e D4 num período de 3 segundos para informar que o robô está pronto para seguir a “linha”. Após o período de tempo, os LEDs são apagados e o programa entra em um “laço eterno” (loop) onde o estado dos sensores são pesquisados e os motores são então ligados/desligados de acordo com a informação obtida do sensor:
O programa é bem pequeno e está bem comentado. A linguagem BASIC é uma das mais fáceis para se compreender. O compilador possui um “help” poderoso com a descrição de cada comando em português. A leitura e estudo do “help” poderá ajudar o iniciante com o microcontroladores Basic Step 1.
GRAVANDO O MICROCONTROLADOR Agora que seu robô já está montado (você o montou não é? rsrs), é hora de testá-lo. Insira o microcontrolador no suporte (soquete) da placa. Verifique atentamente a posição do mesmo. Conecte o cabo de gravação entre o PC (porta serial RS-232 livre) e a placa do robô. Insira as pilhas de alimentação no suporte de pilhas e ligue a chave S1, se está foi inserida. Rode o compilador TBasic que deve ser obtido no site do fabricante do Basic Step 1 (Tato Equipamentos Eletrônicos). Faça o “download” do código-fonte “ROBO_RASTREADOR_II.BAS” e grave-o em um subdiretório qualquer, mas conhecido. Abra-o com o compilador TBasic (menu Arquivo – Abrir). Verifique no menu “Ferramentas - português” se está opção está selecionada. Se estiver, desmarque-a. Em seguida no menu “Ferramentas – Porta Serial” selecione a COM (porta serial) onde ligou o cabo de gravação. Clique agora no menu “Download” e observe na barra de “status” do TBasic o andamento da gravação. Se tudo correu bem você observará o funcionamento do robô, com os LEDs D3 e D4 piscando durante 3 segundos. Retire o cabo de gravação e desligue o robô, ele já está pronto para ser utilizado e o programa não será perdido. O programa está agora na memória do microcontrolador e não se perderá quando o robô for desligado. Se algo saiu errado e o programa não foi gravado no microcontrolador aconselha-se:
Obs.: Alguns PC’s possuem apenas uma porta serial e muitas vezes esta já está ocupada por um mouse ou outro dispositivo. Nestes casos é necessário desinstalar o dispositivo (inclusive softwares e drives de controle) para poder utilizá-la. AJUSTE DOS SENSORES O ajuste dos sensores do Robô Rastreador II não é critico, mas requer atenção. Conforme dito anteriormente os mesmos operam por reflexão e precisam ser posicionados de maneira que o elemento receptor (foto-transistor) “possa perceber” a presença do sinal do elemento emissor (LED IR). Nos testes de laboratório obtive bons resultados com distâncias entre 0,5 cm e 3 cm do solo (pista). Esta distância está intimamente ligada ao tipo de diodo emissor e foto-transistor utilizado e também ao contraste da pista (cor da parte clara e escura) e também ao ângulo deixado entre o emissor e o receptor. Quanto maior o ângulo, menor será a distância entre os sensores e a pista. Para ajustar a reflexão utilize um pedaço de papel branco com uma “faixa” preta no meio, imitando a “linha”. Mantenha o robô suspenso por enquanto (rodas livres). Se os sensores estiverem funcionando, ao aproximar o cartão, com a linha bem no meio de ambos, os motores deveram girar, movimentando o robô à frente. Ao desviar o pedaço de papel, de maneira que agora um dos sensores perceba a cor da “linha”, o motor no lado deste deverá parar. Ajuste o ângulo dos sensores para obter o melhor rendimento dos mesmos. TESTE E USO Para testar seu robô você precisará apenas construir uma pista. Ela deve ser, como disse anteriormente, “fechada”, ou seja, ela começa em um ponto e termina neste mesmo ponto. Esta nova pista pode ter desvios e até cruzamentos. A largura da pista deve ser tal que a mesma fique entre os sensores, de maneira que os mesmos fiquem sempre sobre a parte clara da pista. Uma largura entre 15mm e 25mm pode ser experimentada. Obs.: A pista que usei
em meus testes foi feita colocando fita isolante (aquela preta, usada
em manutenções elétricas) diretamente sobre o piso. Bem simples!!!
Um
detalhe importante sobre a mesma diz respeito às curvas. O raio
mínimo para as mesmas está intimamente ligado à distância entre o
eixo das rodas e os sensores. Quanto maior está distância, maior
será o raio e assim a curva terá de ser desenhada bem aberta. A
situação inversa também é verdadeira e diminuindo a distância
entre o eixo das rodas do robô e seus sensores, diminuímos o raio
da curva e desta forma o robô poderá realizar curvas mais fechadas. Estude bem esse comportamento no seu robô, pois pode acontecer do robô não realizar bem as curvas e o leitor acreditar ser um defeito no projeto ou mesmo problema com os sensores, mas o problema estará na verdade no projeto da pista. Atenção a esta recomendação!!! AJUDA COM PROBLEMAS A seguir listo alguns pontos observados em meu laboratório e que poderão ajudar você na solução de um possível problema. “Liguei meu robô e nada aconteceu! Ele não se move! Nada acontece!” Verifique os seguintes itens:
“Liguei meu robô, os LEDs piscam mas o robô não se move!” Verifique os seguintes itens:
“Liguei meu robô, e o mesmo está funcionando, mas ele não segue a linha corretamente em uma curva.” Verifique os seguintes itens:
“Meu robô tem funcionamento estranho. Ele não desliga o motor do lado do sensor e assim, sai da pista a toda hora.” Verifique os seguintes itens:
“Meu robô se move e tudo está certo, mas ele sai da pista a todo momento.” Verifique os seguintes itens:
CONCLUSÃO Esta nova versão do Robô Rastreador, apesar de ter “herdado” o mesmo nome da primeira versão, se mostrará muito diferente. Agora o robô pode ser programado e desta maneira poderá ser utilizado em pequenas competições, feiras e outras com a aplicação de algoritmos específicos para percorrer tipos diferentes de pistas, demonstrando o aprendizado do aluno na matéria, por exemplo. Boa montagem e até uma próxima!
DOWNLOADS
- Circuito do Robô Este projeto foi publicado, com minha autorização, na Revista Mecatrônica Fácil nº 24 de Setembro/Outubro de 2005. Especificações: - Cérebro - Basic Step 1 OEM |
Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor. |