Fiz uma série de PCBs para alimentar algumas válvulas solenóides que usam uma fonte de alimentação externa. Troco- os com MOSFETs BS170 usando um Arduino como sinal de porta. Baseei-lo uma solução por Jason S .
Esta é uma ilustração da aparência do meu circuito:
Ao testar os PCBs, notei que a maioria deles funciona bem, mas alguns não. Não tem problema, provavelmente uma coisa de solda.
No entanto, esses defeituosos conseguiram destruir dois pinos digitais do Arduino! Em um, recebo uma tensão constante de 5 V, e o outro emite 0,2 V quando envio um sinal ALTO a ele e 0,5 V quando envio um sinal BAIXO. Coisas estranhas.
Então, acho que os circuitos defeituosos de alguma forma fizeram (alguns) os 16 V fluirem através do Arduino, destruindo-os.
Como protejo o Arduino nesse cenário de corrente muito alta?
Eu sei sobre diodos zener , mas não tenho idéia de como colocá-los para proteger as entradas.
Informação técnica:
...When MOSFETs fail they often go short-circuit drain to gate...
Citado daqui .Respostas:
O circuito é bom em teoria.
É necessário melhorar a prática.
Adicionar um diodo zener de fonte de porta de, digamos, 12V (> Vgate_drive) é uma idéia muito boa, de fato, em todos os circuitos com carga indutiva. Isso impede que o portão seja acionado destrutivamente alto pelo acoplamento "Miller capacitance" ao dreno durante variações inesperadas ou extremas na tensão do dreno.
Monte o zener próximo ao MOSFET.
Conecte o ânodo à fonte e o cátodo ao portão, para que o zener normalmente não conduz.
O resistor de acionamento de porta de 10k (como mostrado) é grande e causará desligamento e ativação lenta e mais dissipação de energia no MOSFET. Provavelmente não é um problema aqui.
O MOSFET escolhido é muito marginal nesta aplicação.
MOSFETs muito melhores disponíveis no estoque da Digikey incluem:
Para 26c / 10 Digikey IRLML6346 SOT23 pkg, 30V, 3,4A, 0,06 Ohm, Vgsth = 1,1V = limiar de porta Voltagem ..
NDT3055 48c / 10 TO251 com chumbo de 60V, 12A, 0,1 Ohm, Vgsth = 2V
RFD14N05 71c / 10 TO220 50V, 14A, 0,1 Ohm, 2V Vgsth.
ADICIONADO
MOSFETS ADEQUADOS PARA UNIDADE DE PORTÃO DE 3V:
Sistema apenas destruiu a minha resposta mais :-( Então -. MOSFET deve ter Quinto (tensão de limiar) não superior a 2V Para trabalhar adequadamente com 3V3 controladores de abastecimento.
Nenhum dos FETS sugeridas atender a essa exigência.
Eles podem trabalhar depois de uma moda no carga atual, mas com pouca carga e com perdas excessivas, e a solução não se estende bem a cargas
maiores.Parece que IRF FETS na faixa de tamanho em questão que possui Vth (de Vgsth) <= 2 volts ALL possui códigos numéricos de 4 dígitos, começando com 7, exceto IRF3708 .
OK FETs incluem IRFxxxx onde xxxx = 3708 6607 7201 6321 7326 7342 7353 7403 7406 7416 7455 7463 7468 7470
Haverá outros, mas todos os sugeridos parecem ter Vth = 4V ou 5V e são marginais ou piores nesta aplicação.
Vgsth ou Vth precisa ter pelo menos um volt a menos e, idealmente, vários volts a menos que a tensão real de acionamento da porta.
fonte
Sua válvula é classificada em 500mA em 12V. Se você fornecer 16V, ele consumirá um pouco mais de 500mA. Supondo que seja uma resistência, ele consumirá 667mA.
A corrente máxima absoluta para o MOSFET que você usou é de 500mA contínua. Qualquer coisa acima das classificações máximas absolutas pode destruir o dispositivo. Provavelmente é por isso que você está tendo problemas de confiabilidade.
Não há modo de falha garantido para os MOSFETs, portanto, não estou surpreso que ele falhe de maneira a danificar as saídas do Arduino.
Como Jason mencionou na resposta vinculada, o BS170 é uma má escolha do MOSFET. Você precisa de um melhor. Escolha um em um gabinete TO-220 classificado em vários amplificadores. Você também precisa garantir que o Vgs esteja classificado para inversor de nível lógico de 5V.
Qual diodo você está usando?
fonte
Sua válvula é classificada para ~ 500 mA. Um BS170 também possui 500 mA, mas esse é o valor do discurso de vendas. Eu usaria um FET avaliado (muito) mais alto aqui, 500mA através de um TO92 me deixa nervoso. E você tem um resistor de 1k, o que é uma boa ideia na maioria dos casos, mas pode fazer com que o pobre FET mude lentamente demais para sobreviver ao 0,5A.
Qual diodo você está usando? Ele deve ser classificado para o 0.5A, para que um 1n4148 não funcione. Não tenho certeza, mas ele pode realmente chegar a mais de 0,5, porque a parte móvel do valor pode causar um aumento ainda maior do que uma bobina comum.
Na sua foto, você tem a corrente de retorno de valor que passa pela conexão de aterramento do Arduino. Eu diria isso a uma estrela: conecte o terra do arduino diretamente à fonte de alimentação. Ou melhor: use um acoplador óptico para isolar o circuito de alta corrente do Arduino (e use duas fontes de alimentação separadas).
fonte
Você deve ter um resistor de fonte de porta no seu MOSFET para que a porta não possa flutuar se a saída do Arduino for de alta impedância. Como a fonte de alimentação solenóide e a fonte de alimentação Arduino são separadas, esse cenário pode ocorrer (a menos que você garanta, por projeto, que o Arduino esteja sempre ligado primeiro).
O MOSFET está realmente tão longe do solenóide? Nesse caso, deve ser movido muito mais perto. Mova-o para que o dreno se conecte diretamente à faixa da protoboard, onde o fio vermelho vai para o solenóide e o diodo. Em seguida, faça uma conexão de fonte curta com a faixa GND. É melhor ter um loop de sinal de porta mais longo (em baixa potência) vs. um loop longo que transporta energia. Você também pode mover o Arduino para mais perto do solenóide, mantendo todos esses loops curtos.
fonte
O circuito, como ilustrado, parece bom, desde que a única conexão de aterramento entre a placa Arduino e o terminal negativo da fonte +16 seja o curto fio azul. Por outro lado, é possível que shorts acidentais possam causar coisas ruins. É difícil adivinhar exatamente o que poderia ter acontecido sem ver como as placas problemáticas reais foram dispostas.
Se você estiver pressionando as especificações do seu MOSFET, ele poderá falhar facilmente de maneira a enviar +16 para fora do portão, mas se os resistores forem como ilustrados, espero que o Arduino esteja bem protegido.
fonte
Primeiro de tudo, você precisa de diodos de comutação ultra-rápidos, e não desses diodos 2n4001-4 baratos, ao usar motores ou bobinas. Quanto mais rápida a comutação, maior o BEMF é criado. Também use um diodo de comutação 914 para o gate mosfet do arduino e um resistor pull / down de 10k do gate para o terra.
fonte