Adquira estes componentes na Loja do Lab de Garagem
Neste tutorial vamos mostrar como controlar um motor DC com Arduino e um transistor utilizando a saída PWM (Pulse Width Modulation). Para saber mais sobre PWM, clique aqui.
Com dois botões, vamos controlar o motor DC conectado ao transistor e por fim o Arduino.
A ligação feitas está demonstrada abaixo:
A bateria de 9V é apenas para indicar a tensão de alimentação. Verifique a tensão necessária do seu motor DC para não queimá-lo. O transistor utilizado neste tutorial é o BD139, mas pode utilizar outro contanto que o transistor seja NPN. Para ver o datasheet, clique aqui.
A programação para controlar o motor DC está mostrada abaixo:
int motorPin = 3;
int incPin = 4;
int decPin = 5;
int val=0;
int incButton = LOW;
int decButton = LOW;
void setup()
{
pinMode(incPin, INPUT);
pinMode(decPin, INPUT);
pinMode(motorPin, OUTPUT);
analogWrite(motorPin, 0);
Serial.begin(9600);
}
void loop()
{
incButton = digitalRead(incPin);
decButton = digitalRead(decPin);
if (incButton == HIGH)
{
val++;
}
if(decButton == HIGH)
{
val=val-1;
}
Serial.println(val);
delay(100);
analogWrite(motorPin, val);
}
Ao apertar o botão da porta digital 4, o motor irá girar mais rápido. E ao apertar o botão da porta digital 5, o motor irá girar mais devagar.
E é isso! Esperamos que tenha gostado! Se tiver dúvidas sobre o tutorial, poste aqui enste blog! Para sugestões de tutoriais, clique aqui! Para ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas, clique aqui e aqui, respectivamente! Até a próxima!
Referências:
http://www.datasheetcatalog.net/pt/datasheets_pdf/B/D/1/3/BD139.shtml
http://labdegaragem.com/profiles/blogs/tutorial-o-que-e-como-utiliz...
Comentar
Minha fonte tem 12V e 0,25A e estou tentando utilizar um BC548 para controlar uma ventoinha de 12V e 0,11A.
Quando ligo a ventoinha direto na fonte ela roda em sua velocidade máxima, como esperado, mas se eu coloco o transistor ela perder potencia e roda mais devagar, e o transistor esquenta muito.
Imaginei que esquentasse por conta dos 0,05A a mais, mas porque não roda na velocidade máxima?
Para um motor de 12V e 0,11A, qual transistor eu preciso?
O BC548 está correto?
Obrigado!
Pessoal, estou tentando fazer com que o arduino de partida em um motor de 5kW via internet (android). Já tenho o arduino com a placa ethernet, mas essa parte de programação me complica. Poderiam me dar uma dica de como posso fazer essa programação? Peguei um tutorial sobre fazer o layout via appinventor no android, mas a duvida é na linguagem C.
Obrigado
Leonardo Barichello. Como temos duas aplicações dos resistores no esquema...
Nos pinos digitais do arduino, o valor comum para pull up e pull down é 10Kohms.
http://arduino.cc/en/Tutorial/DigitalPins
Já, da saída do arduino para o Tip 120, o site abaixo utiliza um resistor de 2.2Kohms.
http://bildr.org/2011/03/high-power-control-with-arduino-and-tip120/
Como utilizo optoacoplamento (comentário abaixo), não preciso do resistor.
Alguém sabe dizer de quanto é a resistência usada?
Andre Nascimento, seu acredito q o transistor funcione como uma chave, usando o sinal de baixa tensão de até 5V para liberar o sinal de maior tensão (9V) que alimenta o motor DC. Dessa forma vc não usa saída de tensão do Arduino para acionar o motor e sim para controlar a tensão da bateria q aciona o motor,
Olá,
Uma dúvida, qual a função do transistor nesse circuito? Ele permite que chegue a tensão de 9v ao motor protegendo o circuito, que trabalha a 5v?
Att,
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
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)