quinta-feira, fevereiro 12, 2015

Robô Seguidor de Linha DG-2000 - Parte 4

Neste post eu relato as minhas primeiras experiências em modificar o DG-2000.



Testes com o Arduino

Como primeiro passo resolvi fazer algumas experiências com o Arduino. Neste teste rápido eu deixei de lado o fato do Arduino operar a 5V e o DG-2000 a 3V e liguei diretamente os dois. Um dos atrativos do DG-2000 é que basta retirar o CI CD4010 para ter acesso ao sinais de saída dos sensores e de controle dos motores:

Pino 1: Sensor Esquerdo
Pino 4: Sensor Direito
Pino 7: Terra
Pino 8: Motor Direito
Pino 11: Motor Esquerdo
Pino 14: +3V


A primeira coisa que eu quis verificar foi a possibilidade de uso de PWM (através do analogWrite do Arduino) para controlar a velocidade do motor. Como eu esperava, valores baixos de "duty cycle" (relação entre o tempo com sinal alto e o tempo de cada ciclo) no PWM não foram suficientes para o motor se mexer. Foi preciso pelo menos um duty de 100 (em 255) para o motor se mexer (com a roda no ar). É preciso lembrar que, além de reduzir a velocidade, o PWM reduz o torque, que já não é muito alto no DG-2000. Só para documentar, o analogWrite do Arduino trabalha com uma frequência ligeiramente inferior a 1KHz.

A outra coisa que eu testei foi o sensor com o analogRead. A grosso modo, a superfície branca correspondeu a um valor abaixo de 250 e a faixa preta a um valor acima de 400, nos meus testes com os motores parados. Lembrando que o analogRead fornece um valor entre 0 e 1023 com 1024 correspondendo a 5V, obtemos as tensões de  1,2 e 1,9V. Estes valores são, é claro, afetados pelos potenciômetros de calibração e as condições de teste. O que não era tão óbvio é que os valores flutuam bastante quando o motor está ligado.


Conectando um ATtiny85

É hora de colocar um microcontrolador e ver se o desempenho do robô melhora. Para isto montei uma plaquinha com conectores espeto para encaixar no soquete do robô e um soquete para colocar um ATtiny85.

Este primeiro teste foi bem simples, fazendo a leitura dos sensores controlar diretamente os motores (como no hardware original do DG-2000), porém usando PWM para reduzir a velocidade (com um duty de 180/255).

Infelizmente o resultado foi até pior que o circuito original, com o DG-2000 mudando de direção mesmo na reta e saindo com facilidade na pista. Pelo visto vai dar bem mais trabalho.



Nenhum comentário: