sexta-feira, 7 de agosto de 2015

Ligando, desligando e controlando a velocidade de motores DC com o Arduino


O primeiro passo, ou o último, dependendo do ponto vista, para montar um robô com rodas é saber controlar os motores para movimentá-lo. Com o Arduino isso é relativamente simples e necessita de poucas peças e componentes eletrônicos baratos.
Porém é preciso entender que o Arduino não possui corrente nem potência suficiente em seus pinos para controlar um motor DC, corrente contínua, por isso nem pense em ligar qualquer motor diretamente ao seu Arduino, pois isso pode “mata-lo”.
Vamos ao que interessa, você precisará, além de um Arduino, dos seguintes componentes:
Um suporte para pilhas AA, que alimentará o motor com 3V:



Um motor DC 3V, você pode arrumar um em uma loja especializada ou em um brinquedo velho, que não esteja sendo mais usado, como no meu caso:


Um transistor TIP 102:


Note que o esquema de pinos do TIP 102 é:
Sendo, B – pino Base, C – pino Coletor e E – pino Emissor.
Um resistor de 1K ohm:
Prepare alguns fios finos e rígidos para ajudar nas ligações e siga o esquema abaixo para as ligações entre os componentes:
Imagem de todos os componentes ligados em uma placa de ensaio (proto-board):
Agora eis o código em linguagem C para o Arduino:

 
void setup() { 
 pinMode(3, OUTPUT); 
 pinMode(13, OUTPUT); 
}


 
void loop() {
 digitalWrite(3, HIGH);
 digitalWrite(13, HIGH); 
 delay(1000); 
 digitalWrite(3, LOW); 
 digitalWrite(13, LOW); 
 delay(1000); 
}

Simplesmente acionamos o pino 3 por um segundo e depois desligamos por mais um segundo, fazemos o mesmo com o pino 13 para que o LED nele embutido acenda enquanto o motor estiver em funcionamento.
Um pequeno vídeo com o projeto em funcionamento:
Com esse mesmo esquema é possível também controlar a velocidade do motor, usando a escrita analógica (analogWrite) ao pino, dessa forma podemos controlar a voltagem do pino 3 em PWM, modificando assim a velocidade do motor.
Para exemplificar o controle de velocidade tente o seguinte código em linguagem C:
 
void setup() { 
 pinMode(3, OUTPUT); 
}
 


void loop() {
 analogWrite(3, 75); 
}

Altere os valores de analogWrite(3,75) para verificar a mudança de velocidade do motor. Apenas atente-se para que o primeiro parâmetro é o número do pino PWM e o segundo o valor decimal da voltagem desejada sendo de 0V, com o valor zero, até 5V, com o valor 255.
Podemos considerar, finalmente, alguns pontos:
1. Não foi verificado aquecimento no TIP102, nem em quaisquer outros componentes;
2. O consumo dependerá do requerido pelo motor do seu projeto e isso influenciará na durabilidade das pilhas;
3. Cuidado com a amperagem necessária para acionar o motor para não danificar o seu Arduino;
 
← Postagem mais recente Postagem mais antiga → Página inicial

0 comentários:

Postar um comentário