Vídeo
A continuación, encontrará el vídeo en donde se explica el funcionamiento del circuito.
Acerca del proyecto
En este post vamos a trabajar con los servomotores, donde conoceremos sus características funcionamiento y la conexión a nuestro arduino, además conoceremos un poco de la tecnología PWM y de cómo nuestro servomotor funciona con estos pulsos.
Conocimiento previo
Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.
Proyecto | Descripción |
---|---|
MG995 datasheet | Esta es la hoja de datos del servomotor con el cual vamos a trabajar. |
Líbreria servo | En este post explicamos las funciones de la librería servo. |
¿Que es PWM?
La modulación por ancho de pulso es una señal de fuente de energía que modifica el ciclo de trabajo de una señal periódica, ya sea para transmitir información a través de un canal de comunicación o para controlar la cantidad de energía que envía a una carga.
Aplicaciones en los motores
El PWM es utilizado para regular la velocidad de giro de los motores eléctricos ya sea de inducción o asíncronos.
¿Que es un servomotor?
Un servomotor es un tipo de especial de motor de corriente continua, con la capacidad de posicionarse en una ubicación dentro de su rango de operación; para ello el servomotor tiene un sensor el cual detecta los pulsos que da el motor y determinar su posición.
Materiales
Material | Cantidad | Descripción |
---|---|---|
Arduino | 1 | Utiliza el que mas te guste |
Servomotor | 1 | Para el ejercicio usamos el mg995 |
Circuito
Observemos el circuito anterior en donde tenemos conectado el servomotor a nuestro arduino, la conexión es prácticamente fácil, ya que solo necesitamos la alimentación del componente y conectar el cable de datos del servomotor al arduino.
Código
Encuentra el código el el siguiente link
//Se llama la librería del servo
#include <Servo.h>
//Pin a conectar el servo
int pinServo = 2;
//Se crea un nuevo objeto del servo
Servo servo;
void setup() {
//Inicializamos el servo con el pin declarado
servo.attach(pinServo);
Serial.begin(9600);
}
void loop() {
//Movemos el servomotor a 10°
servo.write(10);
delay(2000);
//Leemos la posición de servomotor y la mostramos
Serial.println(servo.read());
servo.write(90);
delay(2000);
Serial.println(servo.read());
servo.write(160);
delay(2000);
Serial.println(servo.read());
}
Primero incluimos la librería del servomotor, la cual ya contiene las instrucciones necesarias para trabajar, luego declaramos un objeto de servomotor para poder acceder a las instrucciones de la librería, dentro del setup usamos la librería attach
la cual me permite declarar el pin que vamos a usar para el servomotor.
En el loop lo que hacemos es mover servo a las posiciones que queramos, recordemos que el servomotor mg995 solo se desplaza de 0° a 180°, así que con la función servo.write()
colocamos el valor numérico, donde se posicionara automáticamente, la función servo.read()
permite leer la posición de servomotor, devolviendo un valor de numérico.