Tutorial: acionamento de motor DC com transistor TIP122

Com o intuito de criar um carrinho simples controlado por Arduino, pesquisei por algum tempo qual seria o melhor transistor para usar no acionamento de um motor DC (desses bem genéricos que vem em carrinhos baratos movidos a pilha) abastecido por 2 pilhas de 1,2 Volts.

Depois de muitas tentativas, inclusive com o BD139 recomendado em outro tutorial aqui do lab, decidi pelo TIP 122.

O principal motivo da minha decisão foi o fato desse transistor contar com um diodo interno que evita danos por eventuais correntes reversas geradas pelo motor.

A montagem é essa:

Note que o pino do Arduino deve ser conectado na perna à esquerda do transistor (chamada base) e a corrente vai fluir entre as duas outras pernas, de modo que a perna da direita deve estar ligada ao ground e a central ao positivo (nesse caso, passando pelo motor).

Detalhe importante: o ground do Arduino deve ser ligado na trilha do ground (vinda das pilhas). Isso é necessário paa fechar o circuito  pino 13 - transistor - Arduino.

O código abaixo é bastante simples e serve apenas para testar a montagem. Ele deixa o motor rodando por 2 segundos e parado por outros 2.

int motorPin = 3;

void setup()
{
pinMode(motorPin, OUTPUT);
pinMode(13, OUTPUT); //só para o led embutido piscar junto
}

void loop()
{
digitalWrite(13,HIGH); //led
digitalWrite(motorPin, HIGH);
delay(2000);
digitalWrite(13,LOW); //led
digitalWrite(motorPin, LOW);
delay(2000);
}

Para fazer controle de velocidade, basta usar analogicWrite no lugar de digitalWrite passando valores entre 0 (motor parado) e 255 (velocidade máxima), ou seja, usar PWM.

Exibições: 42326

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Welington em 6 maio 2014 às 16:01

Com esse circuito simples, é possível girar o motor em dois sentidos? Ou precisaria acrescentar mais alguma coisa?

Comentário de Claudio Henrique Campos em 24 julho 2013 às 12:27

Cesar, o Leonardo disse que utilizou duas pilhas com tensão de 1,2 volts. Só com isso não dá para saber quanto as baterias (pilhas) durariam. Vc precisa saber quanto de corrente o sistema consome e quanto as baterias (pilhas) podem fornecer. Aí vai poder calcular esse tempo.

Comentário de Leonardo Barichello em 20 outubro 2012 às 11:47

Cesar, não sei, não fiz esse teste...

Comentário de Cesar Garcia em 20 outubro 2012 às 10:22

Você tem uma idéia de quanto tempo essas baterias duram em uso ininterrupto e velociade máxima?

Comentário de Luís Bulek em 2 outubro 2012 às 11:24

Para esse tipo de transistor não precisa do diodo extra.

Acho que é interessante colocar um resistor de 1k na base do transistor pra não sobrecarregar a porto do ARDUINO. O transistor aguenta bem 120 mA na base, mas a porta do ARDUINO se não me engano, uns 40 mA.

Comentário de Edson E.S. (softelli) em 2 outubro 2012 às 1:36
Muito bom. Já que VCC < 5v não precisamos proteger o arduino com optoacoplador. Em tensões maiores que 5V lembrem-se de isolar a saída do nosso amiguinho Ardu... :)
Comentário de J. Eduard Dickel em 29 setembro 2012 às 20:57

Comprei hoje mesmo um L293D pelo ebay (vai demorar pra chegar). Estou pesquisando sobre o assunto (controle de motores DC) e estava atrás de uma maneira ainda mais simples, mas acho que o melhor vai ser o CI mesmo.

Comentário de Leonardo Barichello em 29 setembro 2012 às 20:28

Eduard, para isso é necessário uma ponte H. Ela pode ser feita através de um circuito integrado pronto (há um tutorial sobre isso na lista do Lab já) ou ser construída manualmente com a ajuda de 4 transistores.

Para esse segundo caso eu pretendo fazer um tutorial em breve. Alguém tope me dar uma ajuda?

Comentário de J. Eduard Dickel em 29 setembro 2012 às 20:13

É possível controlar o sentido da rotação, para os dois lados?

Comentário de Itiberê Emanoel Souza Mattos em 28 setembro 2012 às 11:41

O tip 122 é um transistor tipo Darlington, de até 5A, por isso é mais indicado para controle de motores.

Ele internamente já vem com um diodo de proteção, não sendo necessáro colocar um externo, apesar da maioria colocar por exesso de zelo.

DataShet

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço