Вы находитесь на странице: 1из 3

UNIVERSIDAD COOPERATIVA DE COLOMBIA SEMINARIO DE ROBOTICA PRACTICA 1 2015-II

proporcional. Generalmente se considera que en 1.5ms est el

Prctica 1: CONTROL DE POSICION PARA


SERVO-MOTOR (Futaba-S3003)
Neyith Eduardo Gonzalez ID: 396198, JuanXXXX, XXXXXXX
Abstract In the following article one of the possible solutions
are found to control a Servo-Motor, using LabView and the
Arduino platform.
Palabras ClavePWM, Servo-Motor, comunicacin VISA.
INTRODUCCION

documento contiene el desarrollo de la programacin


en LabView, utilizando la comunicacin visa para el
control de un servo motor, a su vez comunicada con un
microprocesador Arduino para la modulacin del ancho de
pulso que me controla por puerto serial el actuador (servomotor).
L

I.

PLANTEAMIENTO DEL PROBLEMA

Se desea implementar un sistema de control de posicin en un


servo motor, que por medio de LabView se introduzca el
Angulo deseado.
II.

ANALISIS Y DISEO

"centro." Entre lmites de 1 ~ 2ms son las recomendaciones de


los fabricantes, normalmente puede usar un rango mayor de
1.5ms para obtener un ngulo mayor e incluso de 2ms para
un ngulo de rendimiento de 180 grados o ms. El factor
limitante es el tope del potencimetro y los lmites mecnicos
construidos en el servo. Un sonido de zumbido normalmente
indica que usted est forzando por encima al servo, se debe
disminuir un poco el ancho de pulso.
El tiempo de OFF en el servo no es crtico; puede estar
alrededor de los 20ms. Hemos usado entre 10ms y 30 ms. Esto
No tiene que ser de sta manera, puede variar de un pulso a
otro. Los pulsos que ocurren frecuentemente en el tiempo de
OFF pueden interferir con el sincronismo interno del servo y
podra escucharse un sonido de zumbido o alguna vibracin
en el eje. Si el espacio del pulso es mayor de 50ms (depende
del fabricante), entonces el servo podra estar en modo
SLEEP entre los pulsos. Entrara a funcionar en pasos
pequeos y el rendimiento no sera el ptimo".
Tomado de:
http://www.infoab.uclm.es/labelec/solar/electronica/elementos/servomotor.htm

Relacin ngulo ancho de pulso:

A. Anlisis
"El motor del servo tiene algunos circuitos de control y un
potencimetro, esta es conectada al eje central del servo
motor. Este potencimetro permite a la circuiteria de control,
supervisar el ngulo actual. Si el eje est en el ngulo
correcto, entonces el motor est apagado. Si el circuito
chequea que el ngulo no es el correcto, el motor girar en la
direccin adecuada hasta llegar al ngulo correcto. El eje del
servo es capaz de llegar alrededor de los 180 grados.
Normalmente, en algunos llega a los 210 grados, pero vara
segn el fabricante. Un servo normal se usa para controlar un
movimiento angular de entre 0 y 180.
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 slo una pequea
cantidad, el motor correr a una velocidad ms lenta. A esto
se le llama control proporcional.

Para controlar un servo, se le ordena un cierto ngulo,


medido desde 0 grados, y se le enva una serie de pulsos. En
un tiempo ON de pulso indica el ngulo al que debe
posicionarse; 1ms = 0 grados, 2.0ms = mx. Grado (cerca de
120) y algn valor entre ellos da un ngulo de salida

Fig. 1. Periodo-Ciclo til de la seal


Tomado de:
http://es.slideshare.net/josepujolperez/abs-control-vehiculosconservos

UNIVERSIDAD COOPERATIVA DE COLOMBIA SEMINARIO DE ROBOTICA PRACTICA 1 2015-II

Fig. 2. Esquema Servo-Motor-0@180 grados


Tomado de:
http://ardurobotics.blogspot.com/2014/08/funcionamiento-delservomotor.html

Fig. 5. Estructura de programacin


La programacin se inicializa con la estructura WHILE LOOP
para que el programa se ejecute infinitas veces hasta que el
sistema encuentre un error de comunicacin o se indique
manualmente (STOP) que detenga el procesamiento de
informacin. Dentro de esta estructura de decisin ingresamos
un valor numrico que se escribe en la herramienta VISA
WRITE, pero antes de esto se debe convertir dicha variable
numrica a una variable String por medio de dos herramientas
adicionales como:
Build Array. Convierte una variable numrica en un arreglo
numrico.
Byte Array to String. Convierte un arreglo numrico en una
variable String.

Fig. 3. Datasheet Servo-Motor Futaba S3003


Tomado de:
http://www.es.co.th/schemetic/pdf/et-servo-s3003.pdf

1.

B. Diseo
Programacin LabView.

Fig. 6. Control Servo-Motor LabView


Al observar el sistema completo se observa que la
comunicacin termina de algn modo, en este caso en la
herramienta VISA CLOSE.
2.

Fig. 4. Configuracin para comunicacin serial,


herramienta VISA SERIAL
La siguiente herramienta VISA SERIAL se utiliza para
configurar los puertos y la velocidad de comunicacin serial.

Programacin Arduino.

UNIVERSIDAD COOPERATIVA DE COLOMBIA SEMINARIO DE ROBOTICA PRACTICA 1 2015-II

la librera servo.h, que es trasparente al momento de


leer valores en Arduino y asignarle porcentaje de
ciclo til al PWM.
Al efectuar el control se observ que el Servo-Motor
no era exacto, y se tena que manejar una etapa de
calibracin.
Existen dos posibles soluciones al momento de
calibrar el Servo-Motor, la primera idealmente por
medio de Arduino a travs de la creacin de un
PWM, como se utiliz la librera servo.h y no se
tiene acceso a dicha librera no se consider. La
segunda que fue la que se realiz, es por medio de
LabView restando el porcentaje de error en grados al
valor deseado ingresado.

Fig. 7. Codigo Arduino


El programa en Arduino se inicializa llamando las libreras a
utilizar y creando algunas variables globales para el caso
Servo.h, Servo myservo, int lectura.
Para el setup, configuramos la velocidad de comunicacin
serial y el pin 2 como salida para el PWM por medio de la
variable global myservo.
En el void loop se escribe la lgica del programa, que se repite
infinitas veces. Se ejecuta una decisin if que me da inicio a la
transmisin serial, posteriormente guardo en la variable
lectura el valor ingresado desde LabView, se efecta un
tiempo de retardo corto y finalmente se escribe el valor
guardado en la variable global lectura en la variable global
myservo.

III.

CONCLUSIONES

Se implement el control del Servo-Motor a travs de


LabView y Arduino no idealmente, ya que se utiliz

IV. BIBLIOGRAFIA

http://es.slideshare.net/josepujolperez/abs-controlvehiculosconservos
http://ardurobotics.blogspot.com/2014/08/funcionami
ento-del-servomotor.html
http://www.es.co.th/schemetic/pdf/et-servo-s3003.pdf
http://www.infoab.uclm.es/labelec/solar/electronica/elementos/servo
motor.htm

Вам также может понравиться