Paso 3: Crear un puente H con relés
Estos relés pueden utilizarse para crear un puente H para controlar motores y actuadores que son hasta 30V y dibujar 10A.
Ver el cuadro para un diagrama de cableado.
Si se desactivan los relés, ambos lados del motor están conectados a la tierra, causando un efecto de frenado. Si ambos están activos, entonces ambos lados del motor se conectan a 12V (o una señal PWM), que también causa un efecto de frenado. Cuando un relé está activo, conecta solamente un lado del motor a 12V, convirtiéndose en una sola dirección. Activar el relé de otros hará que el motor para girar la otra dirección.
Si sólo utilizas 12V como la conexión superior, el motor siempre se mueve a toda velocidad (suponiendo que son motores de 12V). Si utiliza una señal PWM, puede variar la velocidad que el motor se mueve en el.
Recuerde, los relés sólo pueden cambiar una vez cada 2 segundos. Esto limita la rapidez puede iniciar, detener o cambiar la dirección del motor
Una captura de pantalla de código de ejemplo se incluye a continuación.
En el siguiente paso, vamos sobre entretela este puente H con un controlador MegaMoto para conseguir control de velocidad de 2 motores.
/* Sample code to use a relay board as an H bridge to control * an actuator. * * Progressive Automations, July 2015 * * This example code is in the public domain */ const int forwards = 7; const int backwards = 6;//assign relay INx pin to arduino pin void setup() { pinMode(forwards, OUTPUT);//set relay as an output pinMode(backwards, OUTPUT);//set relay as an output } void loop() { digitalWrite(forwards, LOW); digitalWrite(backwards, HIGH);//Activate the relay one direction, they must be different to move the motor delay(2000); // wait 2 seconds digitalWrite(forwards, HIGH); digitalWrite(backwards, HIGH);//Deactivate both relays to brake the motor delay(2000);// wait 2 seconds digitalWrite(forwards, HIGH); digitalWrite(backwards, LOW);//Activate the relay the other direction, they must be different to move the motor delay(2000);// wait 2 seconds digitalWrite(forwards, HIGH); digitalWrite(backwards, HIGH);//Deactivate both relays to brake the motor delay(2000);// wait 2 seconds }