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.