terça-feira, 4 de junho de 2013

Roteiro inicial

Vou tentar sugerir aqui um roteiro inicial de estudo para a criação/projeto de um robô próprio.


1) Portas

É uma boa ideia ter como recurso um computador controlando ou pelo menos se comunicando com o robô. Computadores se comunicam e/ou controlam outras coisas através de suas portas. LPT, COM, USB, miniDIN, PS e por aí vai, tem uma infinidade de siglas para designar todas as portas que um computador suportou ou suporta atualmente. Em teoria, qualquer porta poderia ser usada, já que todas têm alguma capacidade de comunicação, mas na prática, algumas são mais práticas do que outras. A LPT (vulga porta paralela) que era usada com as impressoras mais antigas seria um bom início por ser extremamente simples de usar e com recursos suficientes para controlar um robô bastante aceitável. Mas infelizmente é espécime em extinção, está cada vez mais difícil encontrar computadores que ainda tenham uma porta LPT, então investir em porta paralela talvez não seja uma boa opção.

A bola da vez atualmente é a porta USB. Altas taxas de transmissão e aumentando, capacidade de endereçamento, alimentação elétrica de pequenos dispositivos, plug-and-play, entre outras bem-feitorias, fizeram da porta USB a escolha preferida de quase todos os fabricantes de periféricos para computadores.

O domínio da porta USB em toda sua potencialidade não é tão simples e trivial, mas pode ser alcançado. Enquanto isso, existem (e são largamente usados na robótica) simuladores de porta COM para portas USB. Dessa forma, um programa "enxerga" a porta USB como se fosse uma porta COM e pode ler e enviar bytes pela porta usando comandos e bibliotecas para porta COM. Isso simplifica muito o uso da porta USB, embora com o custo de perder acesso a algumas de suas habilidades.

Então o primeiro desafio do neófito aspirante a robot maker é aprender a usar alguma porta do computador.


2) Motores

Para este contexto, robôs precisam ser capazes de algum tipo de movimento e para isso usam atuadores. Atuadores podem ser de diversos tipos, cores e sabores, mas o atuador que nos interessa no momento é o motor elétrico. Existem muitos tipos de motores, assim como existem muitos tipos de robôs. Mas para fazer um robô de pequeno-médio porte, capaz de se mover usando rodas ou esteiras, o mais indicado são dois tipos de motores: motores DC e motores de passo.

Os motores DC são muito populares porque são mais baratos, podem ser menores e consomem menos energia que os motores de passo. A grande maioria dos kits vendidos no mercado usa motores DC. Mas eles têm alguns problemas. O primeiro é que eles conseguem RPM's altos, mas têm pouco torque, então é necessário acoplar uma caixa de redução com engrenagens para diminuir a rotação e aumentar o torque. Não tem como fazer um controle de posição com motores DC, por isso todo robô que usa motores DC também precisa de encoders monitorando a quantidade de rotações das rodas. Finalmente o controle de velocidade não é muito simples, ou melhor, um bom controle de velocidade não é simples. A velocidade de um motor DC é diretamente proporcional à voltagem fornecida, quanto maior a voltagem, mais rápido ele gira. Então é possível controlar a velocidade apenas através de resistores ou um potenciômetro, mas essa técnica, apesar de simples, desperdiça muita energia nas resistências e aí o motor DC perde sua principal vantagem em relação ao motor de passo. A maneira indicada de controlar a velocidade de motores DC é através da técnica de PWM. Em vez de a alimentação ser contínua, o motor é alimentado em pulsos sendo ligado e desligado bem rapidamente muitas vezes por segundo. A cada pulso o motor fica ligado por um tempo e desligado em seguida. Controlando o tempo que ele fica ligado e desligado é possível controlar a velocidade do motor. Por exemplo se for usado um pulso onde o tempo ligado é igual ao tempo desligado, o motor vai girar na metade da velocidade que atingiria se ficasse com a alimentação continua e, mais importante, vai consumir a metade da energia . Essa técnica, em vez de desperdiçar energia com resistências, economiza energia já que o motor não fica ligado o tempo todo.

Já os motores de passo são maiores, mais pesados e mais gulosos do que motores DC com torque equivalente. Mas no quesito precisão são imbatíveis. É possível ter completo controle do giro do motor e sem precisar de sensores como encoders nas rodas. Na minha opinião, é a melhor escolha para um programador iniciar na robótica. Além da precisão no posicionamento, é essencialmente um dispositivo digital, pode ser facilmente conectado e controlado por um computador, sem ser necessário nenhum procedimento ou hardware muito complexo. Alguma informação extra sobre motores de passo pode ser encontrada aqui.

De início é extremamente importante saber a diferença entre motores de passo unipolares e bipolares, então aconselho aprender um pouco sobre o assunto antes de sair comprando motores de passo.


Dois motores de passo e um motor DC extraídos de uma impressora sucateada.


Motores de passo são facilmente encontrados em impressoras sucateadas. A maioria das impressoras têm internamente três motores, sendo dois de passo e um DC (corrente contínua). É fácil reconhecer o tipo do motor pela quantidade de fios que saem dele. Motores DC tem só dois fios. Motores com 4 fios, são motores de passo bipolares. Motores com 5 fios são unipolares. O prêmio é encontrar na impressora um motor com 6 fios. Este tanto pode ser usado como bipolar ou unipolar, dependendo de como os fios são conectados. Se conseguir motores em impressoras velhas, aí não tem muito o que escolher, mas se decidir comprar um motor de passo, a melhor opção é um motor com 6 fios. Qual a vantagem? No início de seus estudos, você pode ligar esse motor como unipolar e assim usar um circuito de controle muito mais simples, fácil e barato. Mais tarde, quando tiver um pouco mais de experiência e achar que a vida está fácil demais, você pode incrementar o robô e colocar um circuito de controle bipolar. Isso vai dar mais torque para os motores e vai exigir menos da bateria, mais força com menos energia é um bom up-grade. E sem ter que trocar de motor.

Outro motivo que torna o estudo de motores importante nesta fase inicial é que na prática, a escolha do motor influi em quase todo o projeto do robô. A bateria precisa ser dimensionada em função dos motores. O conjunto motores-bateria é o que mais influi no projeto do chassis do robô, afinal são os componentes maiores e mais pesados. E cada tipo de motor precisa de uma eletrônica diferente. As placas que controlam ou dão potencia aos motores precisam ser compatíveis com o tipo do motor. Além disso, também tem o software que vai gerar os sinais para controlar os motores, cada tipo de motor exige um algoritmo diferente.
Então motores são a escolha mais crítica no projeto de um robô, é uma boa ideia dedicar bastante atenção a esse assunto.


Voltagem

Sobre a voltagem dos motores, motores de 12 volts são bastante comuns, especialmente quando retirados de impressoras sucateadas. Mas existem motores de passo em diversas voltagens, desde 2,7 volts, até motores de 24 volts ou mais e isso não está diretamente relacionado com a capacidade de torque do motor. Um motor de 2,7 volts pode ter muito mais torque (e um consumo de corrente muito maior) que um motor de 12 volts. Então pelo critério do torque e do consumo, a voltagem de operação do motor não faz muita diferença. Mas a voltagem faz toda a diferença na escolha das baterias. Os motores no final terão que ser alimentados por baterias e também terão que carregar o peso da bateria. Baterias de 12 volts com uma capacidade de fornecimento de corrente aceitável (3000 mAh ou mais) podem ser grandes e pesadas, tanto que podem chegar a inviabilizar alguns motores menos potentes, forçando a escolher motores maiores, o que vai exigir mais da bateria. Mas atualmente existem opções de baterias leves e potentes.

Sobre isso tem mais um ponto a considerar. Motores de passo são ativados mais pela corrente do que pela voltagem. Na verdade não faz muita diferença quantos volts você fornece ao motor, desde que ele receba sua cota de corrente. A voltagem nominal de um motor de passo apenas indica a voltagem necessária para atingir a corrente que ele drena, considerando a resistência das bobinas internas.


3) Baterias

Como citado, a escolha das baterias depende essencialmente dos motores, eles é que vão exigir mais da bateria. Motores de passo de 12 volts são bastante comuns, então 12 volts é um bom palpite inicial para a escolha das baterias. Mas além da voltagem, uma questão importante é a corrente (em miliAmperes/hora - mAh) que a bateria consegue fornecer. Independente da voltagem, quanto mais torque tiver um motor de passo, maior vai ser o consumo de corrente. Motores com torque suficiente para carregar o peso deles próprios, das baterias, do chassis e tudo o mais que for colocado nele, provavelmente vão gastar pelo menos 500 mAh cada um, então seria uma boa ideia que a bateria tivesse uma capacidade de fornecimento de corrente de pelo menos 3000 mAh. Baterias de 12 volts com essa capacidade são relativamente grandes e pesadas, mas existe a opção de combinar baterias com menor voltagem para conseguir a voltagem necessária. Por exemplo, é possível ligar em série 10 pilhas AA recarregáveis e assim conseguir os 12 volts. Pilhas AA recarregáveis com até 3600 mAh de corrente são facilmente encontradas no mercado. Mas atualmente existem muitas outras opções.

Sobre os tipos de baterias mais comuns disponíveis no mercado, veja este post.

4) Circuito de alimentação

Esta é uma parte extremamente importante do robô. Conforme-se com o fato que o teu robô vai precisar de pelo menos duas voltagens diferentes e dependendo  do caso pode chegar a três. Os circuitos integrados geralmente funcionam com 5 volts, mas alguns (algumas versões do arduíno, por exemplo) funcionam com 3.3 volts. Já para os motores, depende do motor, tem motores de todas as voltagens, mas é bom contar com menos 9 volts e melhor ainda 12 volts. Uma boa opção de alimentação é usar baterias capazes de fornecer a voltagem dos motores e usar reguladores de tensão para reduzir a voltagem para os 5 ou 3.3 volts exigidos pelos circuitos.

Reguladores de tensão são circuitos que na sua versão básica (e perfeitamente suficiente) são extremamente simples de projetar e montar. Existem chips que fazem quase todo o trabalho, só precisando de  mais dois ou três componentes adicionais no circuito. Os dois chips mais populares para este trabalho são o LM7805 e o LM317. Os dois são baratos, fáceis de usar e fornecem corrente suficiente para alimentar todos os circuitos do robô. Se você não tem muita experiência com eletrônica, projetar e montar teus próprios reguladores de tensão é um ótimo exercício inicial e vai te dar a experiência necessária para encarar circuitos mais complexos.

Importante: O LM7805 pode fornecer até 1A de corrente, o LM317 pode chegar a 1.5A. Isso é mais que o suficiente para alimentar todos os circuitos do robô, mas não é suficiente para alimentar os motores. Existem chips capazes de fornecer mais corrente, mas com um projeto adequado, os motores podem ser alimentados diretamente pelas baterias, sem a necessidade de reguladores. Os reguladores citados acima são apenas para alimentar os circuitos.

Veja neste post um tutorial sobre o uso do 7805.


5) Comunicação USB / Wireless
6) Microcontroladores
7) Sensores
8) Navegação
9) Captura de imagens

3 comentários:

  1. Parabéns.
    Ótimas dicas.
    Seguirei o passo a passo no meu projeto.
    Você poderia dar alguma dica sobre micro bombas, a exemplo dos motores ?
    Tenho duvida quanto a voltagem vs quantidade de líquido bombeado. Ou se nós mesmos podemos montar uma bomba com um motor.
    Até.

    ResponderExcluir
  2. Oi Hugo, obrigado pelo feedback. Sinceramente não tenho nenhuma experiência com micro bombas ou bombeamento de líquidos, não posso ajudar.

    ResponderExcluir
  3. Obrigado Perrotti,
    Estou pesquisando sobre micro bombas para a construção de robôs utilizando músculos artificiais. Creio que este tipo de abordagem vá se popularizar nos próximos anos.
    Continuarei acompanhando os seus posts.
    Até.

    ResponderExcluir