Funcionamiento de Un Servo Motor

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 6

Universidad Técnica del Norte. Memoria Técnica.

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

Abstract— In the following classroom project is going to be


implemented, the operation of a servo motor which rotates
depending on the direction, ie by the passing a voltage or a  Reconocer las características y funcionamiento
current, the speed of rotation will depend on the frequency of básico de los servomotores.
the switching of the current or Voltage and in turn the
torque will depend on the capacity that can manipulate  Realizar la implementación del circuito de
the servo and the applied voltage which oscillates control para un servomotor.
between 4.5 and 6 v
Key words: servo motor, voltage, current, rotation,  Desarrollar el movimiento o giro de un motor
torque, Angle of rotation. servo.

 Conocer los diferentes sentidos de giro de un


I.INTRODUCCIÓN motor servo.

Un servomotor (también llamado servo) es un


dispositivo similar a un motor de corriente continua que III. DESARROLLO DE CONTENIDOS
tiene la capacidad de ubicarse en cualquier posición
dentro de su rango de operación, y mantenerse estable en El motor del servo tiene algunos circuitos de control y
dicha posición. Este puede ser llevado a posiciones un potenciómetro (una resistencia variable) esta es
angulares específicas al enviar una señal codificada. Con conectada al eje central del servo motor. En la figura se
tal de que una señal codificada exista en la línea de puede observar al lado derecho del circuito. Este
entrada, el servo mantendrá la posición angular del potenciómetro permite a la circuitería de control,
engranaje. Cuando la señala codificada cambia, la supervisar el ángulo actual del servo motor. Si el eje está
posición angular de los piñones cambia. En la práctica, en el ángulo correcto, entonces el motor está apagado. Si
se usan servos para posicionar superficies de el circuito chequea que el ángulo no es el correcto, el
motor girará en la dirección adecuada hasta llegar al
ángulo correcto. El eje del servo es capaz de llegar
Control como el movimiento de palancas, pequeños alrededor de los 180 grados. Normalmente, en algunos
ascensores y timones. Ellos también se usan en radio llega a los 210 grados, pero varía según el fabricante. Un
control, títeres, y por supuesto, en robots. servo normal se usa para controlar un movimiento
angular de entre 0 y 180 grados. Un servo normal no es
 mecánicamente capaz de retornar a su lugar, si hay un
Universidad Técnica del Norte. Memoria Técnica. 2

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.

La cantidad de voltaje aplicado al motor es proporcional


a la distancia que éste necesita viajar. Así, si el eje
necesita regresar una distancia grande, el motor
regresará a toda velocidad. Si este necesita regresar sólo
una pequeña cantidad, el motor correrá a una velocidad
más lenta. A esto se le llama control proporcional.

El cable de control se usa para comunicar el ángulo. El


ángulo está determinado por la duración de un pulso que
se aplica al alambre de control. A esto se le llama PCM
Modulación codificada de Pulsos. El servo espera ver un
pulso cada 20 milisegundos (.02 segundos). La longitud
del pulso determinará los giros del motor. Un pulso de Figura 3. Módulo Arduino
1.5 ms., por ejemplo, hará que el motor se torne a la
posición de 90 grados
(llamado la posición neutra). Si el pulso es menor de 1.5
ms., entonces el motor se acercará a los 0 grados. Si el
pulso es mayor de 1.5ms, el eje se acercará a los 180 IV. EXPERIMENTACIÓN
grados.

A. Materiales

 Fuente de voltaje.
 Multímetro.
 Servomotor.
 Elementos electrónicos.
 Arduino uno

Figura 2. Análisis de los grados de funcionamiento


Universidad Técnica del Norte. Memoria Técnica. 3

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

Tabla 1. Angulo de giro del servo y la longitud del ancho de pulso

Angulo de giro Potenciómetro


(resistencia variable)

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

Al terminar la práctica de laboratorio se resaltan


impórtales puntos de vista tales como:

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

 la capacidad de control del servo, conserva la


fuerza, velocidad y baja inercia que caracteriza a
estos dispositivos.

 Este tipo de dispositivo se usan servos para


posicionar superficies de control como el
movimiento de palancas, pequeños ascensores y
timones.

 Un motor servo tiene la capacidad de controlar


tanto su velocidad como su posición.

VI. RECOMENDACIONES

VII. REFERENCIAS

 “Sensores y acondicionadores de señal:


Prácticas”, Ramón Pallas. Publicado por
Marcombo, S.A., 2007.
 “Instrumentación electrónica”, Miguel
Ángel Pérez García y otros. Editorial: Thomson
Paraninfo S.A.
 “Guía para mediciones electrónicas y prácticas
de laboratorio”, Stanley Wolf y Richard F.M.
Smith, Editorial: Prentice Hall
Hispanoamericana S.A. 1992.
 Registro fotográfico

VIII. ANEXOS

 Simulaciones
Universidad Técnica del Norte. Memoria Técnica. 5

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 -= 180) { // 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
}
for (pos = 0; pos <= 180; pos += 10) { // goes from 0
degrees to 180 degrees
// 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 -= 180) { // 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
}
for (pos = 0; pos <= 180; pos += 180) { // goes from 0
degrees to 180 degrees
// 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
}
for (pos = 0; pos <= 180; pos += 180) { // goes from 0
degrees to 180 degrees
// in steps of 1 degree
 Código Arduino myservo.write(pos); // tell servo to go to position in
variable 'pos'
int pos = 0; // variable to store the servo position delay(200); // waits 15ms for the servo to
reach the position
void setup() { }
myservo.attach(9); // attaches the servo on pin 9 to the servo for (pos = 180; pos >= 0; pos -= 10) { // goes from 180
object degrees to 0 degrees
} myservo.write(pos); // tell servo to go to position in
variable 'pos'
void loop() { delay(200); // waits 15ms for the servo to
for (pos = 0; pos <= 180; pos += 10) { // goes from 0 degrees reach the position
to 180 degrees }
// in steps of 1 degree for (pos = 0; pos <= 180; pos += 180) { // goes from 0
degrees to 180 degrees
Universidad Técnica del Norte. Memoria Técnica. 6

// 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
}
}

También podría gustarte