Como controlar uma válvula solenoide de 12V com um mosfet?

11

Estou tentando controlar uma válvula solenoide de 12V DC através de um MOSFET (BS170), que recebe seu sinal de controle (5V) de um microcontrolador Arduino. Este é o esquema básico: insira a descrição da imagem aqui

Quando testo o MOSFET, colocando um LED com um resistor de 1,5k ohm como carga (veja a figura), ele funciona bem e posso controlar a corrente de 12V com o sinal de 5V, sem problemas.

Mas então conecto minha válvula solenóide em vez do LED. Funciona por alguns segundos, depois para de funcionar e o MOSFET acaba conduzindo permanentemente a corrente, independentemente do estado do pino de controle de 5V.

O MOSFET está permanentemente danificado, porque quando ligo novamente o LED, ele não funciona mais.

Demasiada corrente? Mas quando eu adiciono um resistor antes da válvula, ele não funciona mais ... Talvez eu precise de um MOSFET / transistor mais pesado?

Dyte
fonte
2
quanta corrente o seu solenóide extrai? Você precisa escolher um MOSFET de tamanho apropriado e não podemos responder a essa pergunta sem conhecer os requisitos atuais.
Jason S
2
Você pode vincular a folha de dados do solenóide? Ou pelo menos conecte-o com um amperímetro a 12V e diga-nos a corrente que ele consome?
markrages 31/03
O MOSFET fica quente?
Rocketmagnet 31/03
markrages: ebay.com/itm/290655223999 Rocketmagnet: Sim, tem.
Dyte
Tensão de condução ruim. Use um transistor NPN bipolar universal para obter sua tensão de controle para 12V e, em seguida, conduza um MOSFET de canal P com isso (porque a polaridade será alterada pelo transistor extra). Use um resistor limitador de corrente para a base e um resistor pull-up para o coletor, como de costume. Conecte também uma tampa de filtragem entre D e S do MOSFET, porque o diodo em si pode não ser rápido o suficiente para interceptar o pico da bobina. Se a indutância for grande, convém criar um desvanecimento com um elemento RC integrador na entrada.
precisa

Respostas:

18

Leia a entrada do meu blog "Byte and Switch" - cobre este cenário exato.

A resposta curta é que você precisa de um diodo de roda livre para conduzir a corrente quando o MOSFET é desligado; o solenóide tem indutância que armazena energia no campo magnético e, quando você desliga o MOSFET, a indutância gera, no entanto, é necessária muita tensão para continuar o fluxo dessa corrente. O pulso de tensão resultante causará uma falha no MOSFET, causando os danos que você está vendo.

Você também deve adicionar alguns resistores, um da saída do microcontrolador ao terra, para ter certeza de que está desligado quando o microcontrolador estiver em redefinição, e o outro do microcontrolador à porta MOSFET, para adicionar algum isolamento resistivo entre o interruptor de energia e o seu microcontrolador.

insira a descrição da imagem aqui


edit: Acabei de perceber que você está usando um BS170 MOSFET. Você já olhou a folha de dados? Esta é uma má escolha para um MOSFET usado como um interruptor de alimentação de um microcontrolador.

Primeiro de tudo, o MOSFET é especificado em 10V Vgs. Você está fornecendo a partir de um microcontrolador de 5V. Você precisa certificar-se de usar MOSFETs "de nível lógico" e com resistência especificada em 4,5V ou 3,3V Vgs. (Sugiro que você não use MOSFETs de voltagem ultrabaixa, pois é possível que ele acenda fracamente quando você acha que está desligado.)

Mais importante, é um pequeno MOSFET TO-92 especificado em 5 ohms máx. Rdson em 10V Vgs. Este MOSFET é bom para cargas muito pequenas, como os LEDs consumindo alguns miliamperes. Mas os solenóides geralmente consomem dezenas ou centenas de miliamperes, e você precisa calcular a perda de I2R no seu MOSFET para a carga atual que extrai e verifique se isso não superaquecerá o transistor. Veja a resistência térmica R theta JA na folha de dados e você pode estimar quanto aumento de temperatura há na peça.

Use um MOSFET na faixa de 20V-60V que tenha menor resistência - como eu disse no meu comentário, precisamos saber quanta corrente o seu solenóide extrai se quisermos ajudá-lo.

Jason S
fonte
1
Um diodo de captura é absolutamente necessário aqui, mas essa não é a causa do tipo de falha "falha após alguns segundos".
markrages 31/03
Obrigado pela sua resposta rápida! Bobo da minha parte não especificar a válvula. É este: ebay.com/itm/290655223999 Possui alguns dados, incluindo os atuais: 500 mA. Então, eu estou usando o mosfet errado? Aliás, onde você vê que ele é classificado para 10V Vgs? Na folha de dados, vejo "+ -20" na linha VGss.
Dyte 31/03/12
Acabei de alterar "classificado para" para "especificado em". Você pode usar uma tensão de porta a fonte de +/- 20V sem danos, mas se desejar que o MOSFET tenha uma resistência garantida à fonte de drenagem, será necessário fornecer 10V de porta a fonte, momento em que a resistência on é de no máximo 5 ohms, normalmente 1,2 ohms, com carga de 200mA (consulte Rds (ON) na página 2). Na fonte de 5V, será uma resistência mais alta, então você está falando de um watt ou dois de dissipação de energia de I2R ... tudo o que você sabe é que provavelmente é várias vezes maior que 1,2 * (0,5A) ^ 2 = 0.3W ... até o dispositivo superaquecer e falhar.
31712 Jason S
Eu adicionaria um diodo zener para proteger a fonte de porta do MOSFET. Seria um extermínio?
Abdullah kahraman
1
@abdullah: Não é um exagero, mas raramente é necessário, a menos que haja um risco de ruído que faça com que a tensão da porta / fonte exceda os níveis de segurança.
Jason S