Fonction de la diode et du condensateur dans ce circuit moteur

33

Je branche un petit moteur à courant continu à un arduino à l'aide d'un transistor NPN en utilisant les schémas suivants que j'ai trouvés en ligne:

Schématique Câblage

Le circuit fonctionne et je parviens à faire tourner le moteur. Maintenant, je cherche à comprendre pourquoi cela fonctionne comme cela. En particulier, j'aimerais comprendre:

  1. Pourquoi la diode et le condensateur sont-ils branchés en parallèle sur le moteur? Quel rôle jouent-ils ici?

  2. Pourquoi une résistance est-elle nécessaire entre le transistor et la broche PWM numérique de l'arduino? Serait-il prudent de faire fonctionner le circuit sans cela?

Paul
la source

Réponses:

49

La diode doit fournir un chemin sûr pour le rebond inductif du moteur. Si vous essayez de couper le courant dans une inductance soudainement, il produira la tension nécessaire pour maintenir le courant à court terme. En d'autres termes, le courant traversant un inducteur ne peut jamais changer instantanément. Il y aura toujours une pente finie.

Le moteur est partiellement inducteur. Si le transistor s’éteint rapidement, le courant qui doit encore circuler dans l’inducteur pendant un certain temps circule dans la diode et ne cause aucun dommage. Sans la diode, la tension aux bornes du moteur serait aussi importante que nécessaire pour que le courant continue de circuler, ce qui nécessiterait probablement la friture du transistor.

Un petit condensateur à travers le moteur réduira la vitesse des transitions de tension éventuellement rapides, ce qui provoquera moins de rayonnement et limitera le dV / dt auquel le transistor est soumis. 100 nF est excessif pour cela et empêchera un fonctionnement efficace à toutes les fréquences PWM sauf les basses. J'utiliserais environ 100 pF, peut-être jusqu'à 1 nF.

La résistance doit limiter le courant que la sortie numérique doit générer et que la base du transistor doit manipuler. Le transistor BE ressemble à une diode du circuit externe. La tension sera donc limitée à environ 750 mV. Tenir une sortie numérique à 750 mV lorsque vous essayez de conduire à 5 V ou 3,3 V est hors spécifications. Cela pourrait endommager la sortie numérique. Ou bien, si la sortie numérique peut générer beaucoup de courant, le transistor pourrait être endommagé.

1 kΩ est à nouveau une valeur discutable. Même avec une sortie numérique 5 V, cela ne mettra que 4,3 mA environ à travers la base. Vous n'indiquez pas de spécifications pour le transistor, alors supposons qu'il dispose d'un gain minimum garanti de 50. Cela signifie que vous ne pouvez compter que sur le transistor prenant en charge 4,3 mA x 50 = 215 mA de courant moteur. Cela semble faible, en particulier pour le démarrage, sauf s’il s’agit d’un très petit moteur. J'examinerais ce que la sortie numérique peut source en toute sécurité et ajuster R1 pour en tirer le plus grand nombre.

Un autre problème est que la diode 1N4004 n’est pas appropriée ici, d’autant plus que vous allumez et éteignez rapidement le moteur, comme le laisse supposer "PWM". Cette diode est un redresseur de puissance destiné aux fréquences de ligne normales, telles que 50-60 Hz. La récupération est très lente. Utilisez plutôt une diode Schottky. Toute diode générique Schottky 1 A 30 V fera l'affaire et sera meilleure qu'un 1N4004.

Je peux voir comment ce circuit peut sembler fonctionner, mais il n'a clairement pas été conçu par quelqu'un qui savait vraiment ce qu'il faisait. En général, si vous voyez un arduino dans un circuit que vous trouvez sur le net, en particulier un simple, présumez qu'il a été posté parce que l'auteur le considère comme un grand accomplissement. Ceux qui savent ce qu’ils font et établissent un circuit comme celui-ci en une minute ne considèrent pas que cela vaut la peine d’écrire une page Web. Cela laisse ceux qui ont mis deux semaines à faire tourner le moteur sans que le transistor explose et ils ne savent pas vraiment ce que tout fait pour écrire ces pages Web.

Olin Lathrop
la source
7
Votre critique de ce circuit est intéressante, car je reconnais le circuit du chapitre 4 de "Exploring Arduino" de Jeremy Blum. La biographie de l'auteur indique qu'il a un Master EE de Cornell, alors l'idée qu'il pourrait y avoir des problèmes de ce genre n'a pas été envisagée. Avez-vous une recommandation pour apprendre l’intuition / le jugement sur des choses telles que la diode à utiliser avec une commutation rapide, quel condensateur de taille est suffisant ou trop pour l’application, etc.? Y a-t-il des livres qui peuvent aider, ou est-ce principalement quelque chose qui demande de l'expérience? Ou peut-être juste en lisant les fiches techniques. Je suis curieux de savoir.
Rab
9
@Rab: J'ai été surpris de voir à quel point le design m'a été enseigné dans le cadre de ma maîtrise en EE de RPI. Pour devenir vraiment bon à l'EE, il faut commencer à 12 ans au moins et bricoler. Vous construisez des projets de plus en plus gros, avec beaucoup de maux de tête, vous expliquant pourquoi les choses ne fonctionnent pas en cours de route. Au moment où vous êtes au collège, vous avez une certaine intuition en tant que contexte pour toutes les choses théoriques que vous apprenez. Ensuite, vous continuez à apprendre par expérience le reste de votre vie. Sans beaucoup de travail, vous ne serez jamais bon à ça. Lorsque vous regardez un schéma, vous devez voir les tensions augmenter et les courants circuler.
Olin Lathrop
Merci! Cela m'a semblé être une compétence qui bénéficierait de l'expérience et du contexte. Je suppose que c'est bien que bricoler est une partie amusante.
Rab
1
Sur un Arduino Uno, la plupart des broches PWM produisent environ 500 Hz. Ainsi, le cycle de repos minimal est d'environ 2 ms. Et cela devrait suffire même pour un temps de récupération inverse relativement élevé de quelques microsecondes, n'est-ce pas? Je veux dire, un temps de récupération inverse de quelques microsecondes est le maximum que l'on trouve dans les feuilles de données 1N400 *, les mesures et les descriptions générales des diodes .
maxschlepzig
+1 pour le dernier paragraphe qui, bien que si vrai, m'a fait rire. Fritzing "schémas" en particulier toujours me rendent méfiant.
Monsieur Mystère
14

Lorsque les enroulements du moteur sont sous tension, ils génèrent un champ magnétique. Il faut de l'énergie pour le faire et l'énergie est stockée dans le champ magnétique. Si le courant est soudainement coupé, le champ magnétique va s'effondrer. Ce champ magnétique changeant induira un courant dans l'enroulement beaucoup plus élevé que d'habitude et produira une tension plus élevée à travers les enroulements. C'est très court et peut être assez impressionnant.

La clé du courant induit est le champ en mutation. Vous pouvez voir le même effet dans un interrupteur de lumière à la maison. Si vous avez des interrupteurs qui ne sont pas du type mercure ("interrupteurs silencieux"), vous pouvez parfois voir une étincelle ou un flash de lumière lorsque vous éteignez les lumières. Si vous interrompez la connexion alors que le courant alternatif passe près de zéro, rien ne se passe. Si vous cassez près du pic du courant, le champ magnétique des lumières est entouré d’un maximum de champs magnétiques et s’effondre avec suffisamment de pics de tension pour provoquer un arc électrique dans l’interrupteur.

Notez que votre diode pointe vers le côté + de votre circuit. Le champ variable produit une "contre-force électromagnétique" ou une tension dans le mauvais sens. L'énergie sort du tuyau dans lequel elle est entrée. (J'espère que j'ai le droit. Je vérifierai et modifierai si je l'ai en arrière.) La diode se conduira si le potentiel, ou la tension, à travers l'enroulement du moteur est supérieur à environ 0,6. V dans la "mauvaise" direction. Pour DC, c'est simple. Pour PWM, cela ressemble plus à du courant alternatif et un circuit fiable de qualité est plus compliqué.

Comme @OlinLathrop l'a dit, votre résistance de base pourrait être un peu grande. Comme exemples typiques, 2N2222 et 2N3904 ont un gain bêta ou courant d'environ 30 à courant continu qui augmente avec une fréquence allant de 300 à 400. Si vous avez beaucoup de moteur, le transistor ne fournira pas le courant et ne brûlera pas. Vous pouvez calculer la dissipation de puissance dans le transistor à environ 1 W par ampère et bien plus si les choses ne sont pas correctement réglées. (Vous ne pouvez pas mettre en parallèle des transistors bipolaires sans beaucoup de travail supplémentaire. Plus ils chauffent, plus la résistance diminue et plus le courant circule, plus celui qui réchauffe le courant le plus rapide - généralement à la destruction). Vous pouvez voir que les petits pilotes de moteur vendus pour Arduinos ont soit un dissipateur thermique, soit une grande partie avec une section métallique destinée à être utilisée avec un dissipateur thermique.

Le capuchon adoucit les pointes actuelles. Au fur et à mesure qu'ils s'élargissent dans le temps, leur courant de crête diminue et la tension que le courant produit dans le circuit diminue. Si votre moteur est équipé de balais, vous obtenez le flux de courant marche / arrêt à la vitesse à laquelle le moteur tourne. Encore une fois, nous revenons à des courants et des champs changeants. C’est d’où provient le bruit radioélectrique. La propagation de ces pointes de courant signifie que le taux de variation du courant est plus faible et que, par conséquent, les interférences radio (RFI) sont plus faibles. Je parierai que si vous mettez une radio AM près de votre circuit et accordez-le sur un point dépourvu de station de radio, vous serez en mesure de savoir quand le moteur tourne. Essayez différentes tailles et voyez si vous détectez une différence.

C. Towne Springer
la source