sexta-feira, 10 de dezembro de 2010

Tutorial 001 - Relés no Arduino

Existem 2 formas faceis de se controlar relés utilizando uma placa arduino, uma delas utilizando os relés mais comuns que sao encontrados por ai, os de 12v, mas para isso é preciso amplificar a saida do arduino que é de 5V, para isso, transistores. A outra possibilidade seria comprando relés de 5V, mas ainda assim nao podemos controlalos diretamente com a saida da placa, pois a corrente nescessaria para fazer a chave do relé mudar é maior doque a disponível pelo arduino. Entao Vamos la:
 Pinos:
Arduino_OUT = A saida da sua placa.
Arduino_GND= Ligue ao terra do arduino.
RELAY_V+  = Deve ser ligado a uma fonte que suporte a voltagem do seu relé (12v por exemplo).
RELAY_GND= Ligado ao terra da fonte do seu relé.

Como funciona:
                 O a saida do arduino não tem corrente suficiente para ativar um relé, ligando desta forma, o transistor ativará o relé utilizando a corrente de RELAY_V+, e isso acontecerá quando a saída do arduino for 1. O diodo em paralelo com o controle do relé serve para proteger o transistor contra descargas de alta corrente que podem surgir devido às transisções de estado do relé. O resistor serve apenas para impedir um curto na placa do arduino, qualquer valor entre 100Ohm e 1k(obs. algumas pessoas reclamaram que usando valores mais altos o relé não acende, quando isso acontecer use o resistor de 100R). O transistor pode ser substituído por qualquer npn como bc547, 2N2222 , 2N3904 etc procure sempre o datasheet do componente usado pois a ligação dos pinos pode ser diferente.

Considerações importantes:
  1. MUITO CUIDADO AO LIGAR OS PINOS!!!! Procure sempre o datasheet do relé utilizado para conferir a pinagem, ligar o seu arduino numa fonte 220V vai danificar mais que a placa.
  2. Se preferir comprar um relé de 5V você poderá ligar o RELAY_V+ ao pino 5V do arduino e deixar o pino RELAY_GND vazio, pois ja tem o ARDUINO_GND.
  3. Você poderá utilizar o 5V do arduino estando ligado a USB apenas para testes onde o consumo de corrente é baixo, NUNCA LIGUE MAIS DE 500mA NUMA PORTA USB evite até mesmo chegar perto deste valor.
Pra quem gosta de pcb ai esta o layout q eu fiz, podem usar a vontade, esse colorido é pra quem vai fazer na mão e o de baixo pra quem vai imprimir (NÃO ESQUEÇA DE INVERTER A IMAGEM ANTES DE IMPRIMIR).




Layout Atualizado!!! O antigo continua valendo mas este está mais organizado e mais facil de fazer.


Não esqueça de inverter a imagem se for desenhar na mão, pois ela está como sendo vista do lado dos componentes e não do lado do cobre, quem for imprimir pra usar transfer pode imprimir do  jeito que está, resolução de 300dpi.
Tenho algumas unidades a venda no MercadoLivre:


28 comentários:

  1. Gostei do trópico, nunca coloquei rele no aduino mais imaginava que era assim, pois no 8051 utilizamos este tipo de controle com o transistor 548 ou 2n222...
    To iniciando na programação do arduino e estou acompanhando teu blog

    edeilsonbahia em gmail

    waaleeuu pelo trópico

    ResponderExcluir
  2. vlw cara sempre bom ver o retorno das pessoas!
    fica a vontade pra sugerir novos topicos blz?
    teh mais \o

    ResponderExcluir
  3. Cara, não entendo bem de eletronica. Qual os valores dos componentes?

    ResponderExcluir
  4. Vc pode usar resistor de 470ohm e o transistor 2n2222.

    ResponderExcluir
  5. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  6. Bom dia amigo
    Eu estou com duvidas no seu esquema, sendo que:

    Arduino_OUT = A saida da sua placa.
    Arduino_GND= Ligue ao terra do arduino.
    RELAY_V+ = Deve ser ligado a uma fonte que suporte a voltagem do seu relé (12v por exemplo).
    RELAY_GND= Ligado ao terra da fonte do seu relé.

    Mas e os pinos "P", "A0" e "A1". Onde são ligados ? Se eu quizesse colocar um led, era só ligar o mesmo nos pinos Arduino GND e Relay v+ usando um resistor de 100 Ohms ?

    Obrigado

    ResponderExcluir
  7. Olá, os pinos P , A0 e A1 são respectivamente a entrada a ser chaveada, posição normalmente aberta, e posição normalmente fechada, se vc diz ligar um led com o relé, vc ligaria o VCC no pino P, e o led+ resistor no pino A0 ou A1 dependendo de quando vc quer que o led acenda. Se vc diz ligar um led pra saber quando o relé está ligado ou não, vc pode ligar ele diretamente entre o resistor e a base do transistor sem problemas.

    ResponderExcluir
  8. Ok, a parte do led eu entendi porem eu queria saber o que eu faço com os pinos P, A0 e A1 ?
    Aonde eu ligo o cabo de 110v se fosse NA(normalmente aberta) ou NF (normalmente fechado) ?

    Obrigado pela ajuda desde já

    ResponderExcluir
  9. Amigo, esses 3 pinos são uma chave, um interruptor comum, como desses que vc vê em tomadas, eles têm 3 pinos, um de entrada que esta ligado a uma das saidas dependendo da posição da chave, é exatamente isso que acontece aqui, o P é a entrada, que sera ligado a posição A0 ou A1 dependendo do seu controle, oque vc conectará nestes pinos vai aí depender só da sua criatividade. Por exemplo, se vc quiser ligar uma lampada da sua casa, vc conectaria a fase (110v ou 220v), no pino P, conectaria um lado da lampada ao pino A0 e o outro lado da lampada ao terra. Assim quando o relé fosse acionado a lampada acenderia.

    ResponderExcluir
  10. E ae Amigo, vou seguir o seu esquema. Ante de comprar tudo o que eu preciso, voce pode confirmar pra mim se o que eu vo pedir esta correto ?

    Para o rele 5v de 110v ou (bivolt) eu usaria:

    1 transistor 2N2222
    1 diodo 1n4004
    1 resistor de 2k2
    1 relay 5v - 110v

    esta correto ?
    Agradeço pela resposta desde já

    ResponderExcluir
  11. Está correto! Pode montar que funciona!

    ResponderExcluir
  12. Opa, entao eu montei o rele em uma protoboard. Liguei todos os pinos certos (segui o mesmo esquema seu), só que eu nao liguei o rele em corrente (110v) pois eu estava testando.
    O estranho é que nao funcionou, nao escutei o barulho do rele....nada. Usei o código do exemplo Blink, nem assim funcionou....

    Uma pergunta, eu liguei meu arduino apenas no USB, deveria funcionar com apenas o USB ligado. Sem uma fonte ligada. nao ?

    O que eu posso estar fazendo errado ? vlww

    ResponderExcluir
  13. Lembrando q eu coloquei o Arduino_OUT no pino 13 e o Arduino_V+ no 5v...

    Agradeço desde ja

    ResponderExcluir
  14. Eis os possiveis problemas, e soluções:
    -Fios errados, confira novamente o esquemático e se os pinos estao ligados corretamente.

    -A usb supostamente é suficiente para ligar relés de 5v, mas pode acontecer de eles tarem recebendo pouca corrente, tente trocar o resistor para 470ohm e veja se funciona.

    -Relé com voltagem ou corrente real acima da nominal : As vezes acontece de um relé de 5v vem com "defeito" e só liga com voltagem maior, teste com 6v ou 7v.

    Se nenhuma dessas funcionar tente trocar o transistor e o relé pois podem estar queimados.

    ResponderExcluir
  15. Cara, descobri o problema. O Arduino nao tinha corrente suficiente pra alimentar o rele, eu tirei o resistor e o rele funcionou. Claro q eu tirei pra testar, mas no projeto original eu vou deixar o resistor.....

    Valeu pela ajuda
    Quando eu montar a placa te aviso...
    Ateh

    ResponderExcluir
  16. Nada cara, avise sim, gosto de ver como ficou o trabalho do pessoal.
    Até mais!

    ResponderExcluir
  17. Este comentário foi removido pelo autor.

    ResponderExcluir
  18. Boa Tarde

    Eu tava testando esse esquema agora, só que eu to com um probleminha. Estou usando um relay 5v -110v com o transistor 2n2222, o diodo IN4004 porem quando eu uso o resistor de 1k ou ateh um de 570Ohms o rele nao ativa.
    Quando eu uso um resistor de 220Ohms ele ativa, porem mtooo fraco e quando eu nao uso o resistor (ligo direto) funciona perfeitamente.


    O que pode ser ?
    Eu to alimentando o arduino com uma bateria de 9v, mesmo usando uma alimentaçao 5v separada, acontece a mesma coisa...


    Estou usando o rele da Fangke JQC-3F (5v)
    Datasheet: http://www.datasheetcatalog.org/datasheets2/39/395125_1.pdf


    Obrigada
    Aguardo pela resposta
    abraço

    ResponderExcluir
  19. Leia os comentarios acima, ja foi discutido isso antes... mas no seu caso creio que seja problema no relé, também ja tive problemas com essa marca.

    ResponderExcluir
  20. Amigo para mim o lay out da pcb esta um pouco grande, não esta encaixando os componenetes perfeitamente

    ResponderExcluir
  21. Olá, a resolução da imagem é de 300 dpi ou Pixels/Inch , vc deve configurar o arquivo antes de imprimir, pra isso va na opção Image Size > Resolution, programas como o Photoshop ou parecidos pedem esse valor logo na hora de criar o arquivo.

    ResponderExcluir
  22. Opa,gostei mais da segunda opção,achei a primeira com as trilhas meio magrunhas,parabens!como tu faz a placa?lamnadora,ferro de passas,silk?
    parabens pelo tutorial!

    ResponderExcluir
  23. Eu costumo fazer usando emulsão de silk direto na placa, custou caro pra aprender mas depois de peguei o jeito consigo fazer placas de altissima resolução. Mas essas aí fiz pra serem feitas por transfer mesmo.

    ResponderExcluir
  24. Mesmo em 300dpi fica imenso. Pois ele fica em 302x556.
    Não seria 30dpi? A placa está perfeita, mas ficou muito grande.

    ResponderExcluir
  25. O certo é 300dpi (procure o significado de dpi) essa imagem impressa nesta resolução fica com 50x27mm aproximadamente. Se fosse 30dpi ela ficaria com 50 centrimetros...

    ResponderExcluir
  26. Eu não entendi porque preciso inverter a primeira imagem antes de imprimir...

    ResponderExcluir
  27. Olá, tenho uns relés aqui em casa. Minha duvida é a seguinte
    eles tem na descrição 12vdc 10A- 120vac, 7A - 240VAC, 5A - 240VAC. Devo o que mudar no esquema para ter suporte a 240VAC?

    ResponderExcluir
  28. Boa tarde amigo tudo bem?
    Aqui em minha cidade não achei rele 5v, posso usar o de 6v?
    Por acaso o resistor 2k2 tem que ser 1/4 ou pode ser 3?

    Obrigado e desculpa minha se alguma pergunta for idiota.. hehehe

    ResponderExcluir