J'ai fait une série de PCB pour alimenter certaines électrovannes qui utilisent une alimentation externe. Je les commute avec des MOSFET BS170 utilisant un Arduino comme signal de porte. Je l'a basé une solution par Jason S .
Voici une illustration de ce à quoi ressemble mon circuit:
En testant les PCB, j'ai remarqué que la plupart d'entre eux fonctionnent bien, mais certains ne le font pas. Pas de problème, probablement une chose à souder.
Cependant, ces défectueux ont réussi à détruire deux broches numériques Arduino! Sur l'un, j'obtiens une tension constante de 5 V, et l'autre produit 0,2 V lorsque j'envoie un signal HIGH et 0,5 V lorsque j'envoie un signal LOW. Des trucs étranges.
Donc je suppose que les circuits défectueux ont en quelque sorte causé (une partie) du 16 V à traverser l'Arduino, les détruisant.
Comment protéger l'Arduino dans ce scénario contre un courant trop élevé?
Je connais les diodes zener , mais je ne sais pas comment les placer pour protéger les entrées.
Informations techniques:
...When MOSFETs fail they often go short-circuit drain to gate...
Cité d' ici .Réponses:
Le circuit est très bien en théorie.
Une amélioration de la pratique est nécessaire.
L'ajout d'une diode Zener grille-source, disons 12V (> Vgate_drive) est une très bonne idée en effet dans tous les circuits à charge inductive. Cela empêche la grille d'être entraînée de façon destructrice par un couplage de "capacité Miller" au drain lors de variations inattendues ou extrêmes de la tension de drain.
Montez le zener près du MOSFET.
Connectez l'anode à la source et la cathode à la porte de sorte que le zener ne conduise généralement pas.
La résistance de commande de grille 10k (comme illustré) est grande et provoquera une mise hors et sous tension lente et une dissipation de puissance accrue dans le MOSFET. Ce n'est probablement pas un problème ici.
Le MOSFET choisi est très marginal dans cette application.
Les MOSFET bien plus performants disponibles en stock chez Digikey incluent:
Pour 26c / 10 Digikey IRLML6346 SOT23 pkg, 30V, 3.4A, 0.06 Ohm, Vgsth = 1.1V = seuil de seuil Tension ..
NDT3055 48c / 10 TO251 au plomb 60V, 12A, 0,1 Ohm, Vgsth = 2V
RFD14N05 71c / 10 TO220 50V, 14A, 0,1 Ohm, 2V Vgsth.
AJOUTÉE
MOSFETS APPROPRIÉS POUR L'ENTRAÎNEMENT DE PORTAIL 3V:
Le système vient de jeter ma réponse plus longue :-(. Donc - le MOSFET DOIT avoir une Vth (tension de seuil) de pas plus de 2V pour fonctionner correctement avec les contrôleurs d'alimentation 3V3.
Aucun des FETS suggérés ne répond à cette exigence.
Ils peuvent fonctionner de façon présente la charge mais sont underdriven et trop lossy et la solution ne va pas bien à des charges plus importantes.
Il semble que IRF FETS dans la fourchette de taille concerné qui ont Vth (de Vgsth) <= 2 volts avoir ALL 4 chiffres des codes numériques à partir de 7 sauf IRF3708 .
Les FET OK incluent IRFxxxx où xxxx = 3708 6607 7201 6321 7326 7342 7353 7403 7406 7416 7455 7463 7468 7470
Il y en aura d'autres mais tous ceux suggérés semblent avoir Vth = 4V ou 5V et sont marginaux ou pire dans cette application.
Vgsth ou Vth doit être d'au moins un Volt de moins et idéalement de plusieurs Volts de moins que la tension de commande de grille réelle.
la source
Votre valve est évaluée à 500mA à 12V. Si vous fournissez 16 V, il consommera un peu plus de 500 mA. En supposant qu'il s'agit d'une résistance, il consommera 667 mA.
Le courant maximum absolu pour le MOSFET que vous avez utilisé est de 500 mA en continu. Tout ce qui dépasse les valeurs maximales absolues peut détruire l'appareil. C'est probablement pourquoi vous rencontrez des problèmes de fiabilité.
Il n'y a pas de mode de défaillance garanti pour les MOSFET, donc je ne suis pas surpris qu'il échoue de manière à endommager les sorties Arduino.
Comme Jason l'a mentionné dans la réponse liée, BS170 est un mauvais choix de MOSFET. Vous en avez besoin d'un meilleur. Choisissez-en un dans un boîtier TO-220 évalué à plusieurs ampères. Vous devez également vous assurer que le Vgs est évalué pour un variateur de niveau logique 5V.
Quelle diode utilisez-vous?
la source
Votre valve est évaluée à ~ 500 mA. Un BS170 est également évalué à 500 mA, mais c'est le chiffre de vente. J'utiliserais ici un FET (beaucoup) plus élevé, 500mA via un TO92 me rend nerveux. Et vous avez une résistance de grille de 1k, ce qui est une bonne idée dans la plupart des cas, mais cela pourrait entraîner un mauvais FET à commuter trop lentement pour survivre au 0,5A.
Quelle diode utilisez-vous? Il doit être évalué pour le 0,5A, donc un 1n4148 ne fera pas l'affaire. Je ne suis pas sûr, mais il pourrait en fait obtenir plus de 0,5 car la partie mobile de la valeur pourrait provoquer un pic encore plus important qu'une bobine simple.
Dans votre image, vous avez la valeur du courant de retour passant par la connexion de terre Arduino. Je ferais ça à une étoile: connectez la terre arduino directement à l'alimentation. Ou bien mieux: utilisez un optocouple pour isoler le circuit à courant élevé de l'Arduino (et utilisez deux alimentations distinctes).
la source
Vous devriez avoir une résistance grille-source sur votre MOSFET afin que la grille ne puisse pas flotter si la sortie Arduino est à haute impédance. Étant donné que l'alimentation du solénoïde et celle de l'Arduino sont séparées, ce scénario pourrait se produire (à moins que vous ne garantissiez par la conception que l'Arduino est toujours allumé en premier.)
Le MOSFET est-il réellement si loin du solénoïde? Si c'est le cas, il devrait être rapproché beaucoup plus. Déplacez-le de manière à ce que le drain se branche directement sur la bande de protoboard où le fil rouge va au solénoïde et à la diode. Ensuite, établissez une courte connexion source à la bande GND. Il est préférable d'avoir une boucle de signal de grille plus longue (à faible puissance) par rapport à une longue boucle qui transporte de l'énergie. Vous pouvez également rapprocher l'Arduino du solénoïde, en gardant toutes ces boucles courtes.
la source
Le circuit tel qu'illustré semble bien, à condition que la seule connexion à la terre entre la carte Arduino et la borne négative de l'alimentation +16 soit le fil bleu court. D'un autre côté, il est possible que des shorts accidentels provoquent de mauvaises choses. Il est difficile de deviner exactement ce qui aurait pu se produire sans voir comment les panneaux problématiques ont été présentés.
Si vous poussez les spécifications de votre MOSFET, il pourrait facilement échouer de manière à envoyer +16 hors de la porte, mais si les résistances sont comme illustré, je m'attendrais à ce que l'Arduino soit assez bien protégé.
la source
Tout d'abord, vous avez besoin de diodes de commutation ultrarapides et non de ces diodes 2n4001-4 bon marché, lorsque vous utilisez des moteurs ou des bobines. Plus la commutation est rapide, plus le BEMF est créé. Utilisez également une diode de commutation 914 vers la porte mosfet de l'arduino, et une résistance de tirage / descente de 10k de la porte à la terre.
la source