Die Diode soll einen sicheren Weg für den induktiven Rückschlag des Motors bieten. Wenn Sie versuchen, den Strom in einer Induktivität plötzlich abzuschalten, wird die erforderliche Spannung erzeugt, um den Strom kurzfristig fließen zu lassen. Anders ausgedrückt, der Strom durch eine Induktivität kann sich niemals augenblicklich ändern. Es wird immer eine begrenzte Steigung geben.
Der Motor ist teilweise ein Induktor. Wenn der Transistor schnell abschaltet, fließt der Strom, der noch eine Weile durch die Induktivität fließen muss, durch die Diode und verursacht keinen Schaden. Ohne die Diode würde die Spannung über dem Motor so groß wie nötig werden, um den Strom fließen zu lassen, was wahrscheinlich das Braten des Transistors erfordern würde.
Ein kleiner Kondensator über dem Motor verringert die Geschwindigkeit der möglicherweise schnellen Spannungsübergänge, was weniger Strahlung verursacht und das dV / dt begrenzt, dem der Transistor ausgesetzt ist. 100 nF sind dafür zu hoch und verhindern einen effizienten Betrieb mit Ausnahme niedriger PWM-Frequenzen. Ich würde 100 pF oder so verwenden, vielleicht um 1 nF zu erhöhen.
Der Widerstand dient zur Strombegrenzung, die der digitale Ausgang liefern muss und die die Transistorbasis handhaben muss. Der Transistor BE sieht für den externen Stromkreis wie eine Diode aus. Die Spannung wird daher auf ungefähr 750 mV begrenzt. Das Halten eines digitalen Ausgangs bei 750 mV, wenn versucht wird, auf 5 V oder 3,3 V anzusteuern, liegt außerhalb der Spezifikation. Dies könnte den digitalen Ausgang beschädigen. Wenn der digitale Ausgang viel Strom liefert, kann der Transistor beschädigt werden.
1 kΩ ist wieder ein fraglicher Wert. Selbst mit einem 5-V-Digitalausgang werden nur ca. 4,3 mA durch die Basis geleitet. Sie zeigen keine Spezifikationen für den Transistor an. Nehmen wir also an, er hat eine garantierte Mindestverstärkung von 50. Das bedeutet, dass Sie nur mit einem Transistor rechnen können, der 4,3 mA x 50 = 215 mA Motorstrom unterstützt. Das klingt vor allem beim Anlassen leise, es sei denn, es handelt sich um einen sehr kleinen Motor. Ich würde schauen, was der digitale Ausgang sicher ausgeben und R1 einstellen kann, um das meiste davon zu zeichnen.
Ein weiteres Problem ist, dass die 1N4004-Diode hier ungeeignet ist, insbesondere da Sie den Motor schnell ein- und ausschalten, wie dies durch "PWM" impliziert wird. Diese Diode ist ein Leistungsgleichrichter, der für normale Netzfrequenzen wie 50-60 Hz vorgesehen ist. Es hat eine sehr langsame Erholung. Verwenden Sie stattdessen eine Schottky-Diode. Jede generische 1 A 30 V-Schottky-Diode ist in Ordnung und besser als eine 1N4004.
Ich kann sehen, wie diese Schaltung zu funktionieren scheint, aber sie wurde eindeutig nicht von jemandem entworfen, der wirklich wusste, was er tat. Wenn Sie ein Arduino in einer Schaltung sehen, die Sie irgendwo im Internet finden, insbesondere in einer einfachen, nehmen Sie im Allgemeinen an, dass es veröffentlicht wurde, weil der Autor es für eine großartige Leistung hält. Diejenigen, die wissen, was sie tun, und eine Schaltung wie diese in einer Minute entwerfen, halten es nicht für sinnvoll, eine Webseite darüber zu schreiben. Das lässt diejenigen, die zwei Wochen brauchten, um den Motor zum Drehen zu bringen, ohne dass der Transistor explodierte, und sie sind sich nicht wirklich sicher, was alles zum Schreiben dieser Webseiten beiträgt.