El cálculo "3.5 V / 2 mA = 7 kOhm" es incorrecto!
En realidad:
el 3.5 se calculó como 5V (salida de arduino en el estado "1" lógico) - 1.5 V (voltaje B-E del transistor de darlington cuando se realiza).
3.5 V / 0.002 A = 1750 ohms
Es mejor redondear el valor hacia abajo, por lo que el valor E24 más cercano sería 1600 ohmios.
Y: ¿puedes realmente garantizar que el arduino produzca exactamente 5 V cuando esté en el estado lógico "1"?
si el Arduino solo emite, por ejemplo, 4.4V en lugar de 5V, el cálculo cambiaría a:
4.4 V - 1.5 V = 2,9 V
2.9 V / 0.002 A = 1450 ohms
el redondeado hacia abajo (E24) de 1450 ohmios es de 1300 ohmios.
Para asegurarse, debe consultar las especificaciones técnicas de Arduino:
la tensión de salida mínima del pin de E / S cuando está en el estado lógico "1".
Luego calcule el voltaje de la resistencia:
U (R) = V (I / O @ lógico "1") - 1.5V
Y finalmente, asumiendo que el transistor es exactamente hFe = 1000, si la corriente del motor es 2 A, que hFe = 1000 significa que la corriente de base necesaria para el transistor es la misma que la corriente de resistencia I (R) = 2 A / 1000 = 2 mA = 0.002 A.
Así que finalmente:
R = U (R) / I (R)
Si bien es cierto que si tiene una resistencia demasiado baja, tiene una corriente de base demasiado alta, pero lo contrario es aún peor:
Una corriente de base demasiado pequeña puede no permitir que el transistor se sature completamente, y eso significa:
1) el transistor genera más calor
2) la pérdida de voltaje en el transistor es innecesariamente grande, dejando menos voltaje (y menos potencia) para el motor.