Motivos pelos quais não é correto conectar um relé diretamente de um pino digital do Arduino

8

Depois de examinar vários esquemas sobre o controle de um relé por meio de um Arduino, notei que, na maioria das vezes, os transistores são usados ​​para alternar a alimentação separada para a bobina do relé, em vez de fornecer diretamente o relé com a saída de 5 volts do I / O pino do Arduino. Por exemplo, eu tenho um relé DPDT de 5 volts e também um pequeno motor dc. Quero dirigir os dois diretamente do meu Arduino UNO (clone SMD) com um processador Atmel328? Seria aconselhável continuar?

Caso contrário (provavelmente):

  1. Alguém pode dar uma explicação detalhada e pode também ter precauções importantes sobre os limites atuais e outras coisas?

  2. Como se pode controlar esses componentes sem arriscar o Arduino? Quais são alguns meios comuns para conseguir isso?

  3. Quais outros dispositivos geralmente podem danificar uma placa Arduino (ou qualquer unidade de microcontrolador) de maneira semelhante?

Eu sou apenas um iniciante que quer ser extremamente cauteloso. Obrigado.

DorkOrc
fonte
Embora recentemente, com meu primeiro encontro com o Arduino, usei os pinos de E / S diretamente para energizar um motor dc de brinquedo e mudar sua direção, ativando e desativando um relé DPDT da mesma maneira. Nada parece estar errado de longe.
DorkOrc

Respostas:

8

Os pinos do processador têm capacidade de unidade de corrente estritamente limitada.

  • Os valores nominais podem variar dependendo se você deseja uma unidade alta ou baixa.
  • Alguns processadores fornecem apenas alguns mA e o máximo que você normalmente obtém oficialmente está na faixa de 20 a 30 mA.

  • Geralmente, existe um limite de corrente total para o processador e apenas alguns pinos podem fornecer pico de corrente simultaneamente.

  • Os pinos do processador têm resistência efetiva significativa e uma alta tensão "cai" à medida que a corrente crescente é consumida e uma baixa tensão aumenta à medida que a carga aumenta. Os pinos PODEM ser específicos com uma corrente máxima de curto-circuito, mas nesse ponto um pino alto será puxado para baixo e um pino baixo será puxado para alta, de modo que a corrente de curto-circuito tenha aplicabilidade limitada.

Mesmo se você tiver um processador de 25 mA por pino, a energia disponível é pequena. 25 mA · 4V dizem (queda de 1V em 5V Vcc) = 100 mW. A maioria dos motores leva mais do que isso e apenas motores muito pequenos funcionam bem quando alimentados apenas por um pino.

Motores e indutores elétricos geram tensões significativamente altas quando a corrente é interrompida - tensões de dezenas de volts podem resultar facilmente e mais de 100 volts. Conectar diretamente um motor do indutor a um pino do processador é um convite à destruição. Murphy muitas vezes obedece.


Um transistor (bipolar ou MOSFET) que aciona motores de hobby típicos custa 10 centavos de centavo (ou isento de equipamentos sucateados) e permite que o inversor de corrente do pino da porta seja armazenado em buffer e "amplificado". O uso de um transistor ou de outro buffer é uma idéia extremamente boa se você tiver um ou alguns processadores e não desejar que eles morram de maneira semi-aleatória.

Driver de motor MOSFET - a partir daqui - seção 8.

Tensões e números de peça são o exemplo deles - selecione para se adequar.
Um biploar NPN pode ser usado com a adição de um resistor de entrada à base do transistor.

insira a descrição da imagem aqui

Driver bidirecional - se você deseja que o driver possa conduzir uma carga alta e baixa, este circuito funcionará. a partir daqui
A porta de entrada é, neste caso, o driver do processador interno. Os dois portões MOSFET se conectam diretamente ao pino do processador. O Vdd normalmente não deve ser maior que o processador Vmax_drive_out. Um pouco mais alto pode ser feito para trabalhar com um design adequado. Cargas de tensão muito mais altas podem ser acionadas com este circuito (ou similar) mais um transistor extra.

insira a descrição da imagem aqui


Um buffer como o ULN2803 (e outros membros da família) controlará 8 canais x 500 mA / canal e vários podem ser paralelos.


Um ULN2803 é essencialmente 8 x transistores "Darlington" com emissores conectados a um terra comum, 8 x coletores "coletores abertos" (não conectados) e 8 diodos flyback para lidar com picos de sobretensão (use opcional). (Existe uma família ULN280x com características de entrada ligeiramente diferentes).

Este dispositivo fornece um meio de preço razoável para fornecer drivers pull-down de 8 x 500 mA. Uma carga conectada de uma saída a V + é ativada quando o pino de entrada é acionado alto. Depois de usá-lo algumas vezes, você os achará trivialmente fáceis de usar e muito úteis. (Também há uma família ULN200x com 7 canais por pacote).

Vídeo "como fazer" do YouTube


Dirigindo um motor de passo

insira a descrição da imagem aqui

aqui também


Condução de pequenos motores DC - e muito mais.

insira a descrição da imagem aqui Um zilhão de exemplos

Digikey - disponível em 1's, se desejado US $ 0,72 / 1, US $ 0,29 em 1000's.

Folha de dados ULN2803


À venda no Sparkfun - pode ser comprado um pouco mais barato, mas estes estão disponíveis

Russell McMahon
fonte
7

A saída recomendada (fonte ou coletor) de um pino de E / S é 20 mA. O máximo absoluto é de 40 mA. É provável que sua bobina de relé consuma mais do que isso, principalmente quando energizada inicialmente. Isso danificará o pino de saída. Então, eventualmente, falhará.

Nada parece estar errado de longe.

Não, ainda não. :)

Como se pode controlar esses componentes sem arriscar o Arduino? Quais são alguns meios comuns para conseguir isso?

Use transistores ou MOSFETs.

Quais outros dispositivos geralmente podem danificar uma placa Arduino (ou qualquer unidade de microcontrolador) de maneira semelhante?

Qualquer coisa que exceda os limites máximos de tensão ou corrente, conforme documentado na folha de dados. As bobinas (por exemplo, nos relés e nos motores), em particular, provavelmente apresentam uma alta tensão reversa quando são desligadas, e é por isso que você precisa de um diodo amortecedor .

Seria aconselhável continuar?

Seria aconselhável observar o que escrevi acima e ler os muitos e muitos artigos na Web sobre como acionar motores e relés a partir de um Arduino. Você não é a primeira pessoa a tentar isso.

Nick Gammon
fonte
4

Veja o circuito simples neste PDF do Arduino Playground. Ele mostra um único transistor para acionar um pequeno relé.

Como Russell disse em sua resposta, um ULN2803 ou similar é um chip que permitirá a você acionar vários pequenos relés, o que é mais agradável do que o uso de vários transistores, se é isso que você deseja.

(Observe também o diodo "D1" no circuito que liguei - você precisa disso, é para proteger o transistor de eventualmente ser danificado por picos indutivos gerados quando o relé é desligado. Alguns dos chips no estilo ULN possuem esse diodo embutido, é por isso que você nem sempre o vê nos esquemas.)

Andy
fonte
3

Para realmente proteger o seu arduino, vale a pena colocar um acoplador de foto no pino e dirigir seu circuito dessa maneira. Então, nenhuma carga indutiva perdida ou curta pode afetar o arduino.

Eles também são chamados de OptoIsoladores ou Optoacopladores.

http://forum.arduino.cc/index.php?topic=143954.0

user14178
fonte
11
Você está certo, os optoisoladores são um ótimo caminho a percorrer. Outra maneira de fazê-lo que é um pouco menos isolante, mas ainda útil, é usar um Amplificador Operacional (Op Amp) como buffer. Estes também são chamados de amplificadores de operação 'seguidos'. Observe que você pode fazer isso com qualquer OpAmp pronto para uso, basta colocar o circuito de uma maneira específica. en.wikipedia.org/wiki/Buffer_amplifier#Op-amp_implementation
Dan
3

Vejamos como alguns básicos, estes parecem ser a base de muitas perguntas:

Um capacitor quando a energia é ligada consome uma quantidade enorme de corrente que diminui à medida que é carregada. Essa curva também é chamada de constante de tempo de RC (isso é próximo, mas não exato) " http://www.electronics-tutorials.ws/rc/rc_1.html " fornecerá uma explicação melhor).

Ao desligar, o capacitor descarrega a uma taxa exponencial (constante de tempo RC), dependendo do valor, tensão de carga e carga. Isso os torna bons para manter a energia por um curto período de tempo quando a energia falha.

Um indutor não atrai nada quando é ligado pela primeira vez, mas a corrente aumenta exponencialmente até que sua tensão atinja a tensão de alimentação.

Quando desligado, o campo indutivo no colapso do indutor causando a inversão da polaridade. A tensão aumentará ilimitadamente até que normalmente algo a limite externamente. Quanto mais rápido é desligado, mais rápido o tempo e a tensão de subida. A energia deixará de fluir quando a carga indutiva for dissipada. Adivinha para onde vai essa corrente quando a carga indutiva, como um relé, é conectada a um pino de porta?

Por esse motivo, é necessário colocar um diodo (geralmente chamado de diodo de roda volante) na carga indutiva. Google para: "curva de carga do indutor / capacitor", você encontrará muitos gráficos interessantes explicando isso. Se você olhar para o circuito, ele tem o cátodo + conectado ao lado mais positivo da fonte de alimentação. Nesta configuração, ele não conduzirá a menos que a tensão seja revertida (quando a carga indutiva é desligada).

Outro equívoco comum é que você pode carregar uma E / S de microprocessador ao máximo. Este é um design ruim. Eles fornecem um máximo por pino, por porta e pelo chip. À temperatura ambiente, você provavelmente se safará por um tempo.

Vamos supor que temos uma porta com uma carga de 40mA. A saída é 0,005 do trilho de força. Usando a lei de Ohm, estamos dissipando 20 miliwatts de energia em um pino. Nesta taxa de carregamento, não demora muito para superaquecer o dispositivo devido à dissipação de energia interna.

Quando o pino de saída está mudando, ele consome mais corrente porque precisa carregar ou descarregar sua capacitância interna e externa, 'mais calor', mais velocidade 'mais calor'.

Se você observar que algumas das especificações fornecerão uma temperatura máxima, é para a junção na matriz, não para a temperatura da caixa. O plástico é um mau condutor, portanto, o afundamento da embalagem não faz muito. Agora considere isso junto com a temperatura ambiente. As classificações são dadas normalmente com o dispositivo a 25 ° C, adivinhe o que acontece quando fica mais quente.

Diverta-se,

Gil

Gil
fonte