Para montar este exemplo, usei uma ProtoShield. Para quem não conhece, é uma shield com uma pequena protoboard colada:
Coloquei o L283 na protoboard e fiz as ligações abaixo:
Para um primeiro teste preferi usar um LED bicolor, ligado a um resistor de 390R, ao invés de um motor. O LED irá acender verde ou vermelho conforme a polaridade das saídas da ponte H. O programa de teste é bem simples:
- const int L293_ENA2 = 8;
- const int L293_INP3 = 9;
- const int L293_INP4 = 10;
- void setup()
- {
- pinMode (L293_ENA2, OUTPUT);
- pinMode (L293_INP3, OUTPUT);
- pinMode (L293_INP4, OUTPUT);
- digitalWrite (L293_ENA2, LOW);
- digitalWrite (L293_INP3, LOW);
- digitalWrite (L293_INP4, LOW);
- }
- void loop ()
- {
- delay (3000);
- digitalWrite (L293_ENA2, HIGH);
- delay (100);
- digitalWrite (L293_INP3, HIGH);
- delay (1000);
- digitalWrite (L293_INP3, LOW);
- delay (100);
- digitalWrite (L293_INP4, HIGH);
- delay (1000);
- digitalWrite (L293_INP4, LOW);
- digitalWrite (L293_ENA2, LOW);
- }
O vídeo abaixo mostra o resultado deste primeiro teste.
Agora que já estou seguro que não tem nada de muito errado, é só trocar o LED por um motor DC de 5V, que não puxe muita corrente (pois estou usando a alimentação do cabo USB que está ligado no micro). O vídeo abaixo mostra o resultado:
4 comentários:
Muito bom Daniel... eu fiz um projetinho onde eu controlo a velocidade do motor 12v com PWM e a ponte H(PWM em 5v gera na saída 12v)...posso fazer isso usando o transistor FET?
Se a corrente for até 600mA, você pode controlar os 12V diretamente com o L293: ligue os 12V ao pino VS (8) e os 5V ao pino VSS (16).
sim eu fiz isso mas liguei o VSS e VS a 12V...eu queria controlar motores DC mais potentes com o PWM do Arduíno deixando o FET fazer a parte de potência da questão.é possível?você tem algum tutorial desse tipo?
Sim, é possível fazer uma ponte H com MOSFET. Não coloquei nenhum tutorial aqui, mas tem uma descrição muito boa no livre "Intermediate Robot Building" de David Cook.
Postar um comentário