Funcionamiento de Un Servo Motor
Funcionamiento de Un Servo Motor
Funcionamiento de Un Servo Motor
Máquinas Eléctricas
Funcionamiento de un servo motor con Arduino
Moya, Fernando. Pilamunga, Cristian. Salas,Joselin.
dfmoyag@utn.edu.ec, cwpilamungac@utn.edu.ec , jesalasp@utn.edu.ec,
Universidad Técnica del Norte
Un servomotor es un motor eléctrico que tiene la
Resumen— En el siguiente proyecto de aula se va a capacidad de ser controlado, tanto en velocidad como en
implementar, el funcionamiento de un servo motor el cual posición. Los servos se utilizan frecuentemente en
girara dependiendo del sentido, es decir por el pasara un sistemas de radio control y en robótica, pero su uso no
voltaje o una corriente, la velocidad de giro dependerá de la está limitado a éstos. Es posible modificar un
frecuencia de la conmutación de la corriente o voltaje y a su servomotor para obtener un motor de corriente continua
vez el torque dependerá de la capacidad que pueda manipular
que, si bien ya no tiene la capacidad de control del servo,
el servo y el voltaje aplicado el cual oscila entre 4.5 y 6 v
conserva la fuerza, velocidad y baja inercia que
caracteriza a estos dispositivos.
Palabras clave— Motor servo, tensión, corriente, giro,
torque, Angulo de giro.
II. OBJETIVOS
mayor peso que el sugerido por las especificaciones del Como se observa en la figura, la duración del pulso
fabricante. indica o dictamina el ángulo del eje (mostrado como un
círculo verde con flecha). Nótese que las ilustraciones y
los tiempos reales dependen del fabricante de motor. El
principio, sin embargo, es el mismo. Para los
servomotores marca Hitec:
0.50 ms = 0 grados, 1.50 ms = 90 grados y
2.5 ms = 180 grados.
ARDUINO: Ardiuno es una plataform open-hardware
(diseño de libre distribución) basada en el diseño
de una placa sencilla de entradas y salidas (analógicas y
digitales) y un entorno de
desarrollo que implementa el lenguaje
Processing/Wiring. Existen varias versiones de
Arduino según la interfaz de conexión al PC: serie, USB,
Bluetooth y ZigBee. Esta placa
presenta una gran comunidad de desarrollo y permite la
Figura 1. Servo motor conexión de sensores y actuadores
variados.
A. Materiales
Fuente de voltaje.
Multímetro.
Servomotor.
Elementos electrónicos.
Arduino uno
B. Procedimiento
Angulo (°) Longitud ancho de pulso
(mseg.)
1.- Realizar el circuito de control de un servo el cual se
muestra en la figura, teniendo en cuenta que los servos están
0° 1mseg
provistos de un amplificador, piñoneria de reducción y un
potenciómetro de realimentación todo incorporado. Ellos
tienen tres cables de conexión eléctrica; Vcc, GND, y entrada 30° 1.16mseg
de control.
90° 1.5mseg
120° 2mseg
180° 2.5mseg
30° 1,6 kΩ
Figura 4. Circuito de Control
60° 3,3 kΩ
2.-Realizar el movimiento del servo indicando la
cantidad de grados a los cuales girará, para ello se debe 90° 5 kΩ
calcular la longitud (ancho) del pulso de la siguiente
forma, si se desea que el servo se mueva a razón de 30 120° 6,6 kΩ
grados, entonces se dice que 0 grados corresponden 1ms,
120 grados = 2ms => 30 grados =1.16ms. Así, se envían 150° 8,3kΩ
pulsos de 1.16ms, para generar el movimiento.
Tabla 2. Angulo de rotación del servo y la variación del
potenciómetro (resistencia variable)
V. CONCLUSIONES
Figura 5. Programación del servo en Arduino El eje del servo es capaz de llegar alrededor de
los 180 grados, es decir van desde los 0° hasta
los 180°.
3.- Generar una tabla donde se especifican mínimo 5
movimientos del servo a diferentes ángulos indicando el
valor de ms utilizado para cada movimiento. Estos motores son de suma importancia cuando
requerimos mover o manipular un objeto que sea
de suma precisión.
Universidad Técnica del Norte. Memoria Técnica. 4
VI. RECOMENDACIONES
VII. REFERENCIAS
VIII. ANEXOS
Simulaciones
Universidad Técnica del Norte. Memoria Técnica. 5
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in
variable 'pos'
delay(200); // waits 15ms for the servo to
reach the position
}
for (pos = 180; pos >= 0; pos -= 10) { // goes from 180
degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in
variable 'pos'
delay(200); // waits 15ms for the servo to
reach the position
}
}