Você está na página 1de 3

Solenoides no Arduino com o chip driver L293D http://br-arduino.org/2014/12/solenoides-no-arduino-com-o-chip-driver...

BR-Arduino.org
Do LED ao Arduino: aprendendo eletrnica no sculo 21
Arduino uma plataforma eletrnica flexvel, fcil de usar, econmica e open
source, destinada a profissionais, entusiastas e curiosos em geral.

Solenoides no Arduino com o chip driver L293D

Arduino Project Builder

Como acionar 4 solenides independentes a partir de um mesmo CI


L293D, controlado por um Arduino.

O chip L293D conhecido por ser capaz de operar at 2 motores DC, com escolha de sentido da
rotao, controlado pelos 5V do Arduino e permitindo que os motores sejam alimentados por uma
fonte independente de at 36V (e at 600mA por canal).

Recentemente me envolvi no desenvolvimento da camada eletrnica e de protocolo de comunicao


em um projeto de automao musical que envolve controlar 13 solenides que iro acionar as teclas
de um piano de brinquedo. Meu envolvimento no projeto limitado, e a escolha dos solenides j
havia sido feita quando comecei a participar: so do modelo RM-0520B, acionados por uma
corrente de 12V 500mA, com deslocamento de 0,7cm e capacidade de 40g.

Um aspecto interessante desse modelo de solenide que ele inclui sua prpria mola para retorno
ao estado inicial aps o acionamento, o que faz dele um solenoide tipo push pull.

COMO USAR UM SOLENOIDE


Solenides so simples de acionar: geralmente eles tm 2 fios sem polaridade, e basta fazer passar
corrente entre os 2 e o solenoide aciona no caso do modelo em uso neste projeto, ele estende em
7mm sua haste, com fora suficiente para mover 40g, bem mais do que o suficiente para acionar
uma tecla de piano.

O problema comum com a conexo de solenides a microcontroladores que eles costumam exigir
mais tenso e corrente do que um Arduino ou similar capaz de fornecer diretamente. No caso do
modelo em uso no projeto em que me envolvi, os 12V x 0,5A so beeem mais do que o Arduino
pode oferecer diretamente.

Essa tenso e corrente fazem com que seu acionamento tambm no seja uma aplicao
confortvel para o tpico transistor NPN de meus circuitos anteriores, recaindo melhor no territrio
dos MOSFETs e dos chips acionadores de motor (incluindo os diversos shields e mdulos
disponveis comercialmente para essa finalidade).

Um chip de controle para 2 motores DC pode controlar 4 solenides

1 de 3 29/11/2016 19:53
Solenoides no Arduino com o chip driver L293D http://br-arduino.org/2014/12/solenoides-no-arduino-com-o-chip-driver...

independentes entre si.

Eu havia comprado recentemente um conjunto de chips L293D (ponte H dupla), tipicamente


usados para controlar 2 motores DC, com controle de velocidade e sentido, e lembrava de ter visto
na datasheet deles que esses CIs tambm podem ser usados para controlar solenoides.

Com um pouco de pesquisa, descobri que cada um deles pode acionar at 4 solenides
independentemente, que os 12V e 500mA dos meus solenides esto confortavelmente dentro da
sua faixa de operao, e que eles so to bem adequados minha demanda, que j vm at mesmo
com o diodo em paralelo que os protege contra a corrente de retorno induzida pelo solenoide ao
ser desativado.

PINAGEM DO L293D
A pinagem do L239D consta na datasheet assim:

Descrevo a seguir as conexes que usei no L239D para acionar 4 solenides:

O pino 16 (VCC1) alimenta a lgica do CI e ligado ao 5V do Arduino. O pino 8 (VCC2)


alimenta os solenides quando acionados, e ligado fonte de alimentao externa (no meu caso,
uma fonte de 12V 2,5A). Os pinos 4, 5, 12 e 13 do L293D so ligados ao terra comum entre o
Arduino e a fonte externa.

Os pinos 1 e 9 (1,2EN e 3,4EN) podem ser ligados a pinos digitais do Arduino para ativar e
desativar independentemente as conexes 1/2 e 3/4, mas isso faz mais sentido quando se est
usando um desses pares para acionar cada motor DC. No caso de solenides, as conexes 1, 2, 3 e
4 atuam independentemente (cada uma aciona um solenide), e pode fazer mais sentido conectar os
pinos 1 e 9 diretamente ao 5V do Arduino, deixando assim o controle de todos os solenoides
permanentemente habilitado e pronto para receber comandos.

Mas habilitar no produz nenhum efeito visvel: necessrio poder acionar os solenides, e isso
feito conectando pinos digitais do Arduino (eu escolhi os pinos 9, 10, 11 e 12) aos pinos "A" (1A,
2A, 3A e 4A) do L239D, e cada um dos pinos "Y" (1Y, 2Y, 3Y e 4Y) do L239D a um dos 2 fios
de cada um dos 4 solenides.

O outro fio de cada um dos 4 solenoides deve ser conectado ao terra comum. Assim, sempre que
um dos pinos digitais do Arduino conectados aos pinos "A" for para o estado HIGH, o L239D vai
enviar para o pino "Y" correspondente a tenso conectada ao seu pino VCC2, produzindo assim
corrente no solenide, que ficar acionado enquanto durar o estado HIGH no pino do Arduino.

MEU PROGRAMA DE TESTE


O programa que fiz para testar os 4 solenides conectados a um mesmo chip L239D conforme
descrito acima bem simples: ele se limita a inicializar em modo OUTPUT os 4 pinos do Arduino
conectados aos pinos "A" do L293D, e depois a enviar, alternadamente, os estados HIGH e LOW
para cada um desses pinos, com pausas de meio segundo ( delay(500); ) aps cada mudana de
estado.

2 de 3 29/11/2016 19:53
Solenoides no Arduino com o chip driver L293D http://br-arduino.org/2014/12/solenoides-no-arduino-com-o-chip-driver...

O vdeo acima mostra o resultado, com 3 dos solenides programados para se mover como se
estivessem acionando (bem mecanicamente...) as teclas d, sol e l de um piano, para tocar as notas
iniciais da msica infantil "Brilha Brilha Estrelinha".

E-motors & controllers


30/12/2014

3 de 3 29/11/2016 19:53

Você também pode gostar