Controlando la velocidad de un motor de CC con Arduino

3

Intento seguir este tutorial

Pero en lugar de los componentes especificados en el tutorial, estoy usando lo siguiente:
- RS-360SH DC Motor
- BD139 Transistor
- diodo 1N4007
- Resistencia de 220 ohmios

Entiendo que los componentes son diferentes de los especificados en el tutorial, pero estos componentes se especifican en otro (tutorial menos claro con los mismos esquemas).

Y tengo el siguiente código de arduino:

int MotorPin =  9;
void setup()
{
  pinMode(MotorPin, OUTPUT);
}

void loop()
{
  analogWrite(MotorPin, 200);
  delay(1000);
}

Todo lo que puedo obtener es un zumbido en el motor. No parece haber suficiente corriente para encenderlo. ¿Alguien puede explicar lo que estoy haciendo mal?

Editar Este es mi esquema (puse el transistor 2N2222, porque también probé con ese):

simular este circuito : esquema creado usando CircuitLab

Y así es como conecté todo en el tablero.

    
pregunta AntonioJunior

2 respuestas

3

Su esquema es correcto, básicamente.

Aunque no se muestra explícitamente en su diagrama, asumo que tiene el Arduino enchufado a un puerto USB que lo suministra con energía.

¿Qué sucede si conecta la fuente de alimentación de 9 V directamente al motor? Por supuesto, el motor debe girar constantemente a toda velocidad. Esto prueba que la tensión de esta fuente de alimentación se adapta adecuadamente a su motor, y la fuente de alimentación puede generar suficiente corriente para hacer funcionar el motor.

Ahora, ¿qué sucede con el cable desconectado del pin 9 en el Arduino y conectado a + 5V en el Arduino? Si el transistor y otras partes están cableadas correctamente, esto también hará que el motor gire constantemente a la máxima velocidad.

Si esto no funciona, verifique dos veces el pinout del transistor.

Ahora, en su software, intente encender el motor con una sola declaración digitalWrite (MotorPin, HIGH) en la parte de configuración de su programa. No pongas nada dentro del bucle en esta etapa. Esto solo debería hacer que su motor se encienda y permanezca encendido todo el tiempo a toda velocidad.

Ahora, si eso funciona, intente algo como analogWrite (MotorPin, 128) ejecutado una vez en la parte de configuración de su programa, sin nada en el bucle. Ahora el motor debe encenderse y permanecer encendido constantemente, a velocidad reducida.

¿Es la corriente del motor demasiada para que la 2N2222 pueda manejarla? (Una vez que sepa cuáles son las especificaciones reales del motor para el consumo de corriente, verifique la corriente del colector en la hoja de datos 2N2222). Es posible que deba considerar la sustitución de un transistor de corriente superior, como un TIP120 o BD675.     

respondido por el user37998
1

Utilice una fuente de alimentación que pueda conducir más corriente. Puedes usar el siguiente circuito

    
respondido por el vishnu

Lea otras preguntas en las etiquetas