El diodo es proporcionar una ruta segura para el retroceso inductivo del motor. Si intenta apagar la corriente en un inductor repentinamente, generará el voltaje necesario para que la corriente fluya a corto plazo. Dicho de otra manera, la corriente a través de un inductor nunca puede cambiar instantáneamente. Siempre habrá alguna pendiente finita.
El motor es parcialmente un inductor. Si el transistor se apaga rápidamente, entonces la corriente que aún debe fluir a través del inductor por un momento fluirá a través del diodo y no causará daño. Sin el diodo, la tensión que atraviesa el motor sería tan grande como sea necesario para mantener la corriente, lo que probablemente requiera freír el transistor.
Un pequeño capacitor a través del motor reducirá la velocidad de las posibles transiciones de voltaje rápidas, lo que causa menos radiación y limita el dV / dt al que está sujeto el transistor. 100 nF es excesivo para esto, y evitará un funcionamiento eficiente en todo, excepto las bajas frecuencias de PWM. Usaría 100 pF o algo así, tal vez para subir 1 nF.
La resistencia es para limitar la corriente que la salida digital debe generar y la base del transistor debe manejar. El transistor B-E parece un diodo al circuito externo. Por lo tanto, el voltaje estará limitado a 750 mV o menos. Mantener una salida digital a 750 mV cuando está tratando de conducir a 5 V o 3.3 V está fuera de especificaciones. Podría dañar la salida digital. O, si la salida digital puede generar mucha corriente, entonces podría dañar el transistor.
1 kΩ es de nuevo un valor cuestionable. Incluso con una salida digital de 5 V, eso pondrá solo 4,3 mA o más a través de la base. No muestra las especificaciones para el transistor, así que supongamos que tiene una ganancia mínima garantizada de 50. Eso significa que solo puede contar con el transistor que soporta 4.3 mA x 50 = 215 mA de corriente del motor. Eso suena bajo, especialmente para el arranque, a menos que sea un motor muy pequeño. Miraría lo que la salida digital puede generar y ajustar de forma segura R1 para dibujar la mayor parte de eso.
Otro problema es que el diodo 1N4004 no es apropiado aquí, especialmente porque encenderá y apagará el motor rápidamente, como lo indica "PWM". Este diodo es un rectificador de potencia destinado a frecuencias normales de línea de alimentación, como 50-60 Hz. Tiene una recuperación muy lenta. Utilice un diodo Schottky en su lugar. Cualquier diodo Schottky genérico de 1 A 30 V funcionará bien y será mejor que un 1N4004.
Puedo ver cómo este circuito puede parecer que funciona, pero claramente no fue diseñado por alguien que realmente sabía lo que estaba haciendo. En general, si ve un arduino en un circuito que se encuentra en algún lugar de la red, especialmente uno simple, suponga que se publicó porque el autor lo considera un gran logro. Aquellos que saben lo que están haciendo y dibujan un circuito como este en un minuto no consideran que valga la pena escribir una página web. Eso deja a los que tardaron dos semanas en hacer que el motor girara sin que el transistor explotara y no están realmente seguros de lo que hace todo para escribir estas páginas web.