Sunteți pe pagina 1din 7

Contenido

INTRDUCCION...................................................................................................................................... 2
OBJETIVO ............................................................................................................................................. 3
MATERIALES Y EQUIPOS:..................................................................................................................... 3
MARCO TEÓRICO ................................................................................................................................. 3
¿QUÉ ES UN SERVO O SERVOMOTOR? ............................................................................................... 3
FUNCIONAMIENTO DEL SERVOMOTOR .............................................................................................. 4
CONEXIONES ....................................................................................................................................... 4
SIMULACIÓN........................................................................................................................................ 5
CÓDIGO ............................................................................................................................................... 5
EL CÓDIGO PARA GIRAR EL MOTOR DE 0º A 180º .............................................................................. 5
GIRANDO GRADO A GRADO EL SERVOMOTOR ................................................................................... 6
CONCLUSIÓN ....................................................................................................................................... 7
INTRODUCCION

Arduino es una plataforma de hardware libre, basada en una placa con un micro controlador
y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos
multidisciplinares.

En esta práctica realizaremos la forma de cómo conectar y controlar un Motor servo estándar de
diferentes angulos y a diferentes sentidos; Controlándolo a través de una entrada analógica, en
este caso empleando el software del arduino. Un motor servo es un dispositivo actuador que tiene
la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y de mantenerse
estable en dicha posición.

En este caso realizaremos y observaremos el funcionamiento para movimientos giratorios


para un servo motor y también conocer cómo utilizar los servomotores para poder accionar
de manera mecánica cualquier tipo de dispositivo: móviles, brazos articulados, barreras, etc....
CONTROLAR UN SERVOMOTOR A TRAVÉS DEL
EMPLEO DEL ARDUINO.

Objetivo
 Controlar el movimiento de giro del eje de un servomotor utilizando el
arduino y su software.

Materiales y Equipos:
 Una tarjeta Arduino Uno
 Un cable USB impresora.
 Un computador.
 Cables para el montaje del circuito.
 Un servomotor.

Marco Teórico

¿Qué es un servo o servomotor?

Un servomotor (también llamado servo) es un dispositivo similar a un motor


eléctrico de corriente continua (transforma energía eléctrica en energía
mecánica) pero en lugar de diseñarse para obtener un giro continuo que podamos
aprovechar (para mover una rueda por ejemplo), se diseñan para que se muevan
un angulo fijo en respuesta a una señal de control, y se mantengan fijos en esa
posición. Imaginad por ejemplo un timón de un avión o barco. No queremos un giro
continuo, sino un motor al que le pueda indicar el ángulo que deseamos en grados
y que mantenga esa orientación hasta que le demos una orden en contrario.
Estos servos o servomotores son muy frecuentes en aeromodelismo y en robótica,
por la capacidad que presentan para moverse a un ángulo concreto y mantenerse
allí. De hecho se suelen diseñar para que giren un ángulo proporcional a una señal
PWM, de forma que su control es muy preciso. Un servo suele estar formado por:
Funcionamiento del servomotor

Habitualmente los servos tiene un margen de operación, es decir, pueden moverse


entre 0º y ángulo dado, que suele ser de 180º, pero existen modelos comerciales
de todas la características imaginables (incluyendo servos de 360º).
Normalmente estos pequeños servos funcionan sobre 5V y el control se realiza
mediante una señal de control PWM, en la que el ancho el pulso indica el ángulo
que deseamos adopte el eje. Un servo tiene un conector de 3 hilos, 5V (rojo), GND
(negro o marrón) y el otro Control (amarillo o blanco).

Conexiones

El diagrama de conexiones es realmente trivial: basta con conectar Arduino, y usar


conectar a 5V el power del servomotor, a GND elGND del servo y, a un pin PWM,
por ejemplo el pin 9 la salida del servomotor.
Simulación

CÓDIGO

EL CÓDIGO PARA GIRAR EL MOTOR DE 0º A 180º


Esta acción ya nos ha hecho un include en nuestro código que nos permite controlar
el servo. Os dejo a continuación un código básico para posicionar el servo en los
ángulos 0º, 90º y 180º
/*
Creado: Luis del Valle (ldelvalleh@programarfacil.com)
https://programarfacil.com
*/

// Incluímos la librería para poder controlar el servo


#include <Servo.h>

// Declaramos la variable para controlar el servo


Servo servoMotor;

void setup() {
// Iniciamos el monitor serie para mostrar el resultado
Serial.begin(9600);

// Iniciamos el servo para que empiece a trabajar con el pin 9


servoMotor.attach(9);
}

void loop() {

// Desplazamos a la posición 0º
servoMotor.write(0);
// Esperamos 1 segundo
delay(1000);

// Desplazamos a la posición 90º


servoMotor.write(90);
// Esperamos 1 segundo
delay(1000);

// Desplazamos a la posición 180º


servoMotor.write(180);
// Esperamos 1 segundo
delay(1000);
}

De la librería Servo.h hemos declarado un objeto o variable servoMotor y hacemos uso de


dos métodos. Por un lado el attach, que nos permite indicar en que pin tenemos
conectado nuestro servo, y por otro lado el write, donde indicamos en qué ángulo
queremos posicionar nuestro servomotor.

GIRANDO GRADO A GRADO EL SERVOMOTOR

Vamos a realizar otro ejemplo un poco más complicado, en este caso queremos
que el servo haga un barrido desde el 0 al 180º y luego en sentido contrario. Vamos
a utilizar los mismos métodos pero incorporamos dos bucles for, uno para cada
sentido

Creado: Luis del Valle (ldelvalleh@programarfacil.com)


https://programarfacil.com
*/

// Incluímos la librería para poder controlar el servo


#include <Servo.h>
// Declaramos la variable para controlar el servo
Servo servoMotor;

void setup() {
// Iniciamos el monitor serie para mostrar el resultado
Serial.begin(9600);

// Iniciamos el servo para que empiece a trabajar con el pin 9


servoMotor.attach(9);

// Inicializamos al ángulo 0 el servomotor


servoMotor.write(0);
}

void loop() {

// Vamos a tener dos bucles uno para mover en sentido positivo y otro en sentido negativo
// Para el sentido positivo
for (int i = 0; i <= 180; i++)
{
// Desplazamos al ángulo correspondiente
servoMotor.write(i);
// Hacemos una pausa de 25ms
delay(25);
}

// Para el sentido negativo


for (int i = 179; i > 0; i--)
{
// Desplazamos al ángulo correspondiente
servoMotor.write(i);
// Hacemos una pausa de 25ms
delay(25);
}
}

CONCLUSIÓN

Controlar un servo desde Ardunino es una tarea muy sencilla gracias al uso de la
librería Servo.h.

El control de un servo se reduce a indicar su posición mediante una señal enviada


desde el software del arduino. El ángulo de ubicación del motor depende de la
duración del nivel establecidas en el código. Cada servomotor, dependiendo de la
marca y modelo utilizado, tiene sus propios márgenes de operación. Para utilizar
los servos se debe tener los catálogos (datasheet) disponibles, el catálogo indica
las especificaciones en cuanto a la capacidad para trabajar. El catalogo indica las
especificaciones de la velocidad máxima hasta dónde puede llegar el servo, el par
torsor máximo y su velocidad especifica que cuenta al estar conectado a una
fuente de poder.

S-ar putea să vă placă și