Cómo usar el servomotor con Arduino: código y explicación del funcionamiento

¿Quieres aprender a utilizar el servomotor con Arduino pero no sabes por dónde empezar? ¡No te preocupes! En este artículo te explicaremos paso a paso cómo funciona este increíble dispositivo y te proporcionaremos el código necesario para ponerlo en marcha. ¡Prepárate para adentrarte en el apasionante mundo de la programación y la robótica!

Servo Motor es uno de los motores más utilizados en juguetes, máquinas CNC, impresoras 3D para un control preciso. Al final de esta publicación, tendrá una comprensión clara de los servomotores, cómo funcionan y cómo usar un servomotor con Arduino.

¿Cuáles son las diferentes partes de Servo?

El servomotor se compone de 4 partes importantes: un motor de CC, algunos engranajes, un potenciómetro (sensor de posición) y un circuito de control.

Y todo este conjunto nos da el control preciso o giro del eje del motor.

NOTA: También puede ver este video «Guía paso a paso del servomotor» para una mejor comprensión o leer el tutorial escrito a continuación:

[arve url=”https://youtu.be/1RWEJFZ9bdo” maxwidth=”555″ aspect_ratio=”4:3″ /]

¿En qué se diferencia Servo de Motor DC?

Suponga que desea realizar un proyecto en el que se necesita un control preciso del motor. Y decide ir con un motor de corriente continua. Luego, al operar el motor de CC, observará algún retraso durante el arranque y la parada del motor.

Debido a esto, es difícil saber cuándo encenderlo y cuándo apagarlo.

Mientras que con un servomotor puede controlar con precisión la rotación o el movimiento del eje según sus requisitos.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
Retraso>

¿Cómo funciona un servomotor?

Déjame simplificarte esto explicándote de manera práctica el funcionamiento de un servomotor.

A continuación se muestra un motor de CC. Los engranajes están unidos a su eje como se muestra y, a uno de los engranajes, se conecta la perilla giratoria del potenciómetro.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
¿Cómo>

Sabemos que el potenciómetro tiene 3 terminales, dos terminales finales y un terminal central que se mueve. Terminales finales de la olla. están conectados a 5v y Gnd respectivamente. Mientras que la terminal media va a la terminal -ve de Op-amp o amplificador operacional.

Nota: El trabajo del amplificador operacional es simplemente comparar la diferencia de voltaje entre sus dos terminales, es decir, OP-AMP funciona aquí como un comparador de voltaje. Si hay 5 voltios en su terminal +ve y 3 voltios en su terminal negativo entonces o/p será 5v – 3v = 2 voltios, así de simple.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
OP-AMP>

Ahora, el terminal +ve del opamp está conectado a 5v y el terminal o/p del opamp al motor de CC, mientras que el terminal restante del motor de CC está conectado a tierra.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
+ve terminal del opamp está conectado a 5v

Supongamos que el terminal central del potenciómetro está en la posición final (GND) de modo que el voltaje en el terminal central sea 0. Entonces O/P será 5 v – 0 v = 5 voltios. Esto significa que hay 5 voltios en el motor de CC. Entonces, el motor de CC comenzará a girar y, por lo tanto, los engranajes y la perilla giratoria.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
5>

Y tan pronto como gira la perilla, aumenta la diferencia de voltaje entre la terminal central del potenciómetro y tierra.

Obtenemos algo de voltaje en el terminal -ve del OP-AMP o en el terminal medio del potenciómetro. Supongamos que el voltaje es de 3 voltios, entonces el OP-AMP o/p será de 5v – 3v = 2 voltios. Así que ahora hay 2 voltios en el motor de CC debido a que el motor continúa girando.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
2>

Y sucederá lo mismo hasta que la terminal central del potenciómetro alcance el otro punto final (5 voltios) y obtengamos 5 voltios en la terminal negativa del OP-AMP y, por lo tanto, 0 voltios en la salida del OP-AMP. Eso significa 0 voltios en el motor de CC. Debido a que el motor se detendrá.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
0>

Nota: Entonces viste cómo todo el conjunto funciona en un ciclo de retroalimentación. Este mecanismo completo de retroalimentación se llama Servomecanismo.

Si desea que el motor gire menos, supongamos que de acuerdo con 3 voltios, el motor se detendrá tan pronto como la diferencia entre los terminales de OP-AMP sea 3V – 3V = 0 voltios, de manera similar para 2 v o 1 voltio. Pero en cada caso, el eje gira menos que en el caso de 5 voltios.

Control PWM del servomotor

En los servomotores, existe un circuito de control perfecto en lugar de OPAMP. Y en lugar de dar voltaje directo, se da una señal PWM para controlar el motor.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
Control>

En un servomotor, hay tres cables para controlar: el terminal +ve del amplificador operacional y los terminales finales del potenciómetro.

O, en otras palabras, terminal +ve (un extremo de Pot.), terminal Gnd (otro extremo de Pot.) y terminal de control (terminal +ve de OP-AMP).

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
3>

Y este es el caso de un servomotor real en el que tenemos 3 cables iguales: terminal +ve, terminal Gnd y terminal de control.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
Terminales>

Nota: La rotación máxima de un servomotor típico está limitada a 180 grados.

Como ya he mencionado: los servomotores se controlan usando pulsos PWM, la frecuencia de esta señal PWM debe rondar los 50hz. Y el ancho del pulso determina la posición angular del servomotor.

Entonces, si desea que la posición angular sea de 180 grados, la duración del pulso debe ser de alrededor de 2,5 ms, para 90 grados 1,5 ms y para 0 grados 0,5 ms. Para una posición angular distinta de 0, 90 y 180, utilice la duración del pulso en consecuencia.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
Ancho>

Nota: Tenga en cuenta que el voltaje requerido para ejecutar el servo debe estar entre 4 y 6 voltios.

¿Cómo usar servomotores con Arduino?

El servomotor se puede ejecutar con Arduino utilizando comandos de escritura digital simples que generan pulsos en el pin de E/S digital seleccionado y aquí está el código para el mismo:

Código pin PWM para ejecutar servomotor usando Arduino:

#define servo 9

void setup() {
 pinMode(servo, OUTPUT);

}

void loop() {
  digitalWrite(servo, HIGH);
  delayMicroseconds(550);

  digitalWrite(servo, LOW);
  delayMicroseconds(19450);
  
 

}

¿Cómo conducir un servomotor usando la biblioteca de servos?

Ahora hay una forma más conveniente de hacer funcionar el servomotor que es usando Biblioteca de servomotores. Con esta biblioteca, puede definir fácilmente el grado al que desea que gire su servomotor. Y al usar la biblioteca de servomotores, es muy fácil ejecutar más de 1 servomotor con Arduino. Así que ahora intentemos hacer funcionar el servomotor usando este biblioteca de servomotores.

A) Conducir el servomotor a una posición de grado particular usando Arduino Servo Library:

#include <Servo.h>

Servo servo1;


void setup() {
  
  servo1.attach(6);
  
  
}

void loop() {
  servo1.write(180);
  
}

B) Conducir el servomotor en un bucle utilizando Arduino Servo Library:

#include <Servo.h>

Servo servo1;


void setup() {
  
  servo1.attach(9);
  
  
}

void loop() {
  servo1.write(0);
  delay(1000); 

  servo1.write(90);
  delay(1000);

  servo1.write(180);
  delay(1000);
 
  servo1.write(90);
  delay(1000);

}

C) Conducción de dos servomotores en un bucle utilizando Arduino Servo Library:

#include <Servo.h>

Servo servo1;
Servo servo2;

void setup() {
  
  servo1.attach(6);
  servo2.attach(9);
  

}

void loop() {
  servo1.write(0);
  delay(1000);
  servo2.write(0);
  delay(1000);

  servo1.write(90);
  delay(1000);
  servo2.write(90);
  delay(1000);

  servo1.write(180);
  delay(1000);
  servo2.write(180);
  delay(1000);

  servo1.write(90);
  delay(1000);
  servo2.write(90);
  delay(1000);

}

En la figura que se muestra a continuación, dos servomotores están conectados a 1 Arduino.

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento
Conducción>

NOTA: Puede ejecutar tantos como desee, pero asegúrese de que si está ejecutando más de 2 servomotores, no use Arduino para suministrar energía a los motores. O no conecte el pin de alimentación de los servomotores a Arduino. Así que siempre use una batería de 6v separada para alimentarlo. Porque Arduino no puede proporcionar suficiente corriente a más de 2 motores.

Así que esta fue su «Guía de Arduino Servo Motor en 2019».

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded




Preguntas Frecuentes sobre el uso del servomotor con Arduino

Cómo usar el servomotor con Arduino: código y explicación del funcionamiento

Los servomotores son dispositivos muy utilizados en proyectos de robótica y mecatrónica, ya que permiten controlar con precisión la posición angular de un eje. Cuando se combinan con el Arduino, se pueden realizar una amplia variedad de aplicaciones creativas. A continuación, te responderemos a las preguntas más frecuentes sobre el uso del servomotor con Arduino.

1. ¿Qué es un servomotor?

Un servomotor es un tipo de motor eléctrico que se utiliza para controlar el movimiento angular de un eje específico. Está compuesto por un motor, un sistema de control y un sistema de retroalimentación. La retroalimentación permite al controlador mantener una posición precisa en el eje.

2. ¿Cómo se conecta un servomotor a Arduino?

Para conectar un servomotor a Arduino, necesitas seguir los siguientes pasos:

  1. Conecta el cable de alimentación (generalmente rojo) del servomotor al pin de alimentación 5V de Arduino.
  2. Conecta el cable de tierra (generalmente negro o marrón) del servomotor al pin de tierra (GND) de Arduino.
  3. Conecta el cable de señal (generalmente amarillo o naranja) del servomotor al pin digital PWM de Arduino (por ejemplo, pin 9).

3. ¿Cómo se programa un servomotor con Arduino?

Para controlar un servomotor con Arduino, puedes utilizar la biblioteca «Servo». Aquí tienes un ejemplo básico de código:


	#include <Servo.h>

	Servo miServo;
	int angulo = 0;

	void setup() {
	  miServo.attach(9);
	}

	void loop() {
	  for (angulo = 0; angulo <= 180; angulo += 1) {
	    miServo.write(angulo);
	    delay(15);
	  }
	  for (angulo = 180; angulo >= 0; angulo -= 1) {
	    miServo.write(angulo);
	    delay(15);
	  }
	}
	

En este ejemplo, utilizamos el pin 9 para controlar el servomotor. El código hace que el servomotor gire progresivamente desde 0° hasta 180° en sentido horario, y luego regrese a 0° en sentido antihorario.

4. ¿Dónde puedo obtener más información sobre servomotores y Arduino?

Si deseas obtener más información sobre servomotores y Arduino, puedes consultar la siguiente fuente:

Servomotor – Wikipedia

En este enlace encontrarás detalles técnicos sobre los servomotores y cómo funcionan, así como información adicional relacionada con Arduino.


Deja un comentario