Buscar

Solenoides no Arduino com o chip driver L293D

Prévia do material em texto

���������� 6ROHQRLGHV�QR�$UGXLQR�FRP�R�FKLS�GULYHU�/���'
KWWS���EU�DUGXLQR�RUJ���������VROHQRLGHV�QR�DUGXLQR�FRP�R�FKLS�GULYHU�O���G�KWPO ���
6ROHQRLGHV�QR�$UGXLQR�FRP�R�FKLS�GULYHU�/���'
BR­Arduino.org
Do LED ao Arduino: aprendendo eletrônica no século 21
Arduino® é uma plataforma eletrônica  flexível,  fácil de usar, econômica e open source, destinada
a profissionais, entusiastas e curiosos em geral.
Como acionar 4 solenóides 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
rotação, 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 eletrônica e de protocolo de
comunicação em um projeto de automação musical que envolve controlar 13 solenóides que irão
acionar as teclas de um piano de brinquedo. Meu envolvimento no projeto é limitado, e a escolha
dos solenóides já havia sido feita quando comecei a participar: são do modelo RM-0520B,
acionados por uma corrente de 12V 500mA, com deslocamento de 0,7cm e capacidade de 40g.
���������� 6ROHQRLGHV�QR�$UGXLQR�FRP�R�FKLS�GULYHU�/���'
KWWS���EU�DUGXLQR�RUJ���������VROHQRLGHV�QR�DUGXLQR�FRP�R�FKLS�GULYHU�O���G�KWPO ���
Um aspecto interessante desse modelo de solenóide é que ele inclui sua própria mola para retorno
ao estado inicial após o acionamento, o que faz dele um solenoide tipo push pull.
COMO USAR UM SOLENOIDE
Solenóides são simples de acionar: geralmente eles têm 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 força suficiente para mover 40g, bem mais do que o suficiente para acionar
uma tecla de piano.
O problema comum com a conexão de solenóides a microcontroladores é que eles costumam exigir
mais tensão 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 são beeem mais do que o Arduino
pode oferecer diretamente.
Essa tensão e corrente fazem com que seu acionamento também não seja uma aplicação
���������� 6ROHQRLGHV�QR�$UGXLQR�FRP�R�FKLS�GULYHU�/���'
KWWS���EU�DUGXLQR�RUJ���������VROHQRLGHV�QR�DUGXLQR�FRP�R�FKLS�GULYHU�O���G�KWPO ���
confortável para o típico transistor NPN de meus circuitos anteriores, recaindo melhor no território
dos MOSFETs e dos chips acionadores de motor (incluindo os diversos shields e módulos
disponíveis comercialmente para essa finalidade).
Um chip de controle para 2 motores DC pode controlar 4 solenóides
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 também podem ser usados para controlar solenoides.
Com um pouco de pesquisa, descobri que cada um deles pode acionar até 4 solenóides
independentemente, que os 12V e 500mA dos meus solenóides estão confortavelmente dentro da
sua faixa de operação, e que eles são tão bem adequados à minha demanda, que já vêm 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:
���������� 6ROHQRLGHV�QR�$UGXLQR�FRP�R�FKLS�GULYHU�/���'
KWWS���EU�DUGXLQR�RUJ���������VROHQRLGHV�QR�DUGXLQR�FRP�R�FKLS�GULYHU�O���G�KWPO ���
Descrevo a seguir as conexões que usei no L239D para acionar 4 solenóides:
O pino 16 (VCC1) alimenta a lógica do CI e é ligado ao 5V do Arduino. O pino 8 (VCC2)
alimenta os solenóides quando acionados, e é ligado à fonte de alimentação externa (no meu caso,
uma fonte de 12V 2,5A). Os pinos 4, 5, 12 e 13 do L293D são 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 conexões 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 solenóides, as conexões 1, 2, 3 e
4 atuam independentemente (cada uma aciona um solenóide), 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 não produz nenhum efeito visível: é necessário poder acionar os solenóides, 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 solenóides.
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
���������� 6ROHQRLGHV�QR�$UGXLQR�FRP�R�FKLS�GULYHU�/���'
KWWS���EU�DUGXLQR�RUJ���������VROHQRLGHV�QR�DUGXLQR�FRP�R�FKLS�GULYHU�O���G�KWPO ���
enviar para o pino "Y" correspondente a tensão conectada ao seu pino VCC2, produzindo assim
corrente no solenóide, que ficará acionado enquanto durar o estado HIGH no pino do Arduino.
MEU PROGRAMA DE TESTE
O programa que fiz para testar os 4 solenóides 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); ) após cada mudança de
estado.
Xilopianola eletrônica
O vídeo acima mostra o resultado, com 3 dos solenóides programados para se mover como se
estivessem acionando (bem mecanicamente...) as teclas dó, sol e lá de um piano, para tocar as notas
���������� 6ROHQRLGHV�QR�$UGXLQR�FRP�R�FKLS�GULYHU�/���'
KWWS���EU�DUGXLQR�RUJ���������VROHQRLGHV�QR�DUGXLQR�FRP�R�FKLS�GULYHU�O���G�KWPO ���
30/12/2014
Este artigo foi publicado em 30/12/2014 por Augusto Campos.
iniciais da música infantil "Brilha Brilha Estrelinha".

Continue navegando