Laboratorio de Servomotor
Andres Felipe Valderrama
Bioingenieria
Univerisidad del bosque
Bogota DC colombia
[email protected] Funcionamiento de un servomotor
Resumen— Los motores son dispositivos electro mecánicos
que se usan en diversas aplicaciones debido a sus Los servomotores poseen tres cables, a diferencia de los
características de torque y sensor de posición , la finalidad de motores comunes que sólo tienen dos. Estos tres cables casi
este laboratorio es la identificación de las funciones que puede siempre tienen los mismos colores, por lo que son fácilmente
cumplir este motor , establecer los parámetros de control de a reconocibles.
partir del control de posición, modulacion de ancho de
pulso(PWU) y PID, para la identificación de estas funciones se
realizaron 5 pruebas con los servomotores, en la plataforma de
arduino
I. MARCO TEORICO
Servomotores:
Un servomotor (o servo) es un tipo especial de motor con Figura 3 cables del servo motor.
características especiales de control de posición. Al hablar de
un servomotor se hace referencia a un sistema compuesto por Los colores dependerán del fabricante, pero difícilmente nos
componentes electromecánicos y electrónicos.[1] equivocaremos a la hora de reconocer los terminales del un
servo. La necesidad de una señal de control para el
funcionamiento de este tipo de motores hace que sea
imposible utilizarlos sin un circuito de control adecuado. Esto
se debe a que para que el circuito de control interno funcione,
es necesaria una señal de control modulada. Para esto se
utiliza modulación por ancho de pulsos, es decir, PWM.
Figura 1 Servo motor
El motor en el interior de un servomotor es un motor DC
común y corriente. El eje del motor se acopla a una caja de
engranajes similar a una transmisión. Esto se hace para
potenciar el torque del motor y permitir mantener una posición
fija cuando se requiera.[1]
Fig 4 diagrama de bloques.
El diagrama de bloque del servomotor representa de forma
visual el servomotor como un sistema. El circuito electrónico
es el encargado de recibir la señal PWM y traducirla en
movimiento del Motor DC. El eje del motor DC está acoplado
Figura 2 partes del servo a un potenciómetro, el cual permite formar un divisor de
XXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE
voltaje. El voltaje en la salida del divisor varía en función de A. Acción de control Proporcional
la posición del eje del motor DC
Como su nombre indica, esta acción de control es
De forma similar, cuando el eje del motor modifica la posición proporcional a la señal de error e(t). Internamente la acción
del potenciómetro, el voltaje en la terminal central varía. El proporcional multiplica la señal de error por una constante Kp.
potenciómetro permite que el circuito de control electrónico
pueda retroalimentarse con la posición del motor en un Esta acción de control intenta minimizar el error del sistema.
momento dado. Esto, en Teoría de Control se conoce como un Cuando el error es grande, la acción de control es grande y
sistema de lazo cerrado.[1] tiende a minimizar este error[2]
Las señales de PWM requeridas para que el circuito de control
B. Acción de control Derivativa
electrónico son similares para la mayoría de los modelos de
servo. Esta señal tiene la forma de una onda cuadrada Como su nombre indica, esta acción de control es
proporcional a la derivada de la señal de error e(t). La
derivada del error es otra forma de llamar a la "velocidad" del
error, y se encarga de corregir la señal antes que la señal error
sea excesiva.
C. Acción de control Integral
Esta acción de control como su nombre indica, calcula la
Fig 6 PWM integral de la señal de error e(t). La integral se puede ver como
la suma o acumulación de la señal de error. A medida que
Sistema de control PID pasa el tiempo pequeños errores se van sumando para hacer
Es un dispositivo que permite controlar un sistema en lazo que la acción integral sea cada vez mayor. Con esto se
cerrado para que alcance el estado de salida deseado. El consigue reducir el error del sistema en régimen permanente.
controlador PID está compuesto de tres elementos que
proporcionan una acción Proporcional, Integral y Derivativa.
II. DESARROLLLO DE CONSULTA
Estas tres acciones son las que dan nombre al controlador PID.
A. Investigar como est an constituidos los servomotores, sus
utilidades y que los caracteriza
Los servomotores están constituidos, por un motor DC, el
cual esta unido a un sistema reductor de piñones el cual
aumenta el torque y ayuda a fijar su posición, su característica
principal es su sistema de control, el cual traduce los anchos
de pulso de un PWM para alimentar el motor DC, a partir de
esto el eje del motor DC esta unido a un potenciómetro el cual
se mueve según la posición del eje, este cambio en el
potenciómetro se traduce como un cambio de voltaje que se
Figura 7 sistema de control PID traduce como la posición del motor.
Como puede verse en el esquema anterior, la entrada al Sus utilidades son muy variada pues el hecho de poder
controlador PID es la señal de error e(t). Esta señal indica al controlar la posición permite la aplicación en robotica,
controlador la diferencia que existe entre el estado que se sistemas de impresión 3D, movimientos controlados como el
quiere conseguir o referencia r(t) y el estado real del sistema de articulaciones robóticas, seguidores de luz.
medido por el sensor, señal h(t).
B. Describir las caracterısticas de la senal de control.
Si la señal de error es grande, significa que el estado del ¿Cual es su codificacion?
sistema se encuentra lejos del estado de referencia deseado. Si Sistema de control PID
por el contrario el error es pequeño, significa que el sistema ha Es un dispositivo que permite controlar un sistema en lazo
alcanzado el estado deseado. cerrado para que alcance el estado de salida deseado. El
controlador PID está compuesto de tres elementos que
proporcionan una acción Proporcional, Integral y Derivativa.
Proporcional:La entrada al controlador PID es la señal de
error. Esta señal indica al controlador la diferencia que existe
entre el estado que se quiere conseguir o referencia. Donde
aumenta o disminuye el error para ajustarse a su objetivo.
Integral: Esta parte del sistema de control se encarga de
identificar los errores como errores puntuales o constantes
Derivativo: En este se restan los valores para generar un valor
predictivo e identificar si el error es creciente o decreciente. Fig 9 Registro de temporizadores arduino
TCNTx - Registro de temporizador / contador. El valor real
del temporizador se almacena aquí.
OCRx - Registro de comparación de salida
ICRx - Registro de captura de entrada (solo para temporizador
de 16 bits)
Figura 8 Diagrama de bloques PID
TIMSKx - Registro de máscara de interrupción de
temporizador / contador. Para habilitar / deshabilitar las
interrupciones del temporizador.
C. Proponer un circuito o una alternativa para eliminar el
rebote en los pulsadores a utilizar en el laboratorio
TIFRx - Registro de indicador de temporizador / contador de
Para este laboratorio se decidió escoger como sistema de interrupción. Indica una interrupción de temporizador
antirrebotes en los pulsadores un retardo en la obtención del pendiente.
entrada del pulso este Delay fue de 100 milisegundos, esto
permitía que no se tomaran los valores de voltaje residual.
E. Realizar el montaje mecanico para realizar el seguimiento
D. Investigar como se genera una señal PWM en el de luz teniendo en cuenta los angulos de movimiento
microcontrolador a utilizar y que registros se deben necesarios y los concentradores y paneles solares que
configurar para cambiar la frecuencia y el ciclo util de la desean usar y mover.
señal. Si utiliza Arduino, decir adem as cual es la
frecuencia por defecto que genera la funcion III. METODOLOGIA Y RESULTADOS
analogwrite()
A. Definir el montaje mecanico seg un el problema de
Para la generación de una señal PWM a diferentes formas para ingenierıa elegido por los estudiantes para el proyecto
definirla un for y la utilizada en este laboratorio fue la integrado
generación de un un high y un low en un for en el cual se
definia la cantidad de pulsos (frecuencia), y ha este se le
cambiaba el ciclo de trabajo a partir de un delay.
En arduino hay otra forma de realizar un pulso cuadrado y es
a través de los pines de digitales 1,3,5,6,9,10,11 los cuales se
pueden definir como salidas, estas señales se generan a partir
del analog.write() de arduino, ha esta señal se le puede variar
el ciclo de trabajo a traves de una representación de (0,255) lo
cual corresponde a 0% y 100% del ciclo e trabajo.
El inconveniente para esta forma es que la frecuenca del
analog.write () es de 500Hz una frecuencia bastante alta, por
lo cual se recomienda cambiarla a través de temporizadores Fig 10 Montaje mecánico
los cuales se modifican a partir d registros.
Puede cambiar el comportamiento del temporizador a través La presente imagen se puede identificar el diseño mecánico
del registro del temporizador. Los registros de temporizador realizado para el seguidor de luz para cumplir con las
más importantes son: especificaciones de giro transversal y giro sagital se utilizaron
dos motores, como se puede observar en la fig 10, en su base
TCCRx - Registro de control de temporizador / contador. El se encuentra un eje rotador el cual se encargara del
preescalador se puede configurar aquí. movimiento sagital (izquierda,derecha) y en la parte superior
en la posición del panel se encutra el otro motor el cual se
encargara de el movimiento transversal (arriba,abajo).
.
B. Se tendran dos pulsadores (S1 y S2) y un potenciometro
conectados a un microcontrolador para gobernar el
movimiento de un servomotor. Se debe disenar un circuito
y programar el microcontrolador para cumplir las
siguientes condiciones:
1. Al pulsar S1 el servomotor debera girar 15o en sentido
horario.
2. Al pulsar S2 el servomotor debera girar 20o en sentido
antihorario. 3. El potenciometro permite cambiar
radualmente la posici on del servomotor.
En este montaje se utilizaron dos pulsadores, un
potenciómetro y un servo motor MG5010, en donde se genero
el tren de impulsos a través de arduino, el potenciómetro se
escogió como entrada analógica, y este valor se tomo como
siclo de trabajo para modificar el Angulo del motor.
Fig 12 diagrama de flujo programacion potenciometro
pulsadores
C. Por medio del teclado del computador se debe poder
ingresar la posicion, en grados, en la cual se debe ubicar
el servomotor. Las funciones de los pulsadores (S1 y S2)
se deben mantener.
En este montaje se utilizo la función se utilizaron los dos
pulsadores, y se utilizo la función de serial. .println, para
introducir caracteres y la función Serial.parseInt para tomarlo
Fig 11 Montaje potenciómetro y dos pulsadores como tipo entero.
Fig 13 Montaje grados por consola
D. Realice un programa que permita cuantificar la respuesta
de accion del servomotor. Se puede realizar tomando el
tiempo ´ (con ayuda del microcontrolador) que tarde en
desplazarse de 0 o a 90
Para este punto se utiliso la función milis para identificar cual
esra el tiempo que se demoraba el montaje desde 0 a 90 grados
el valor resultante fue:
Tabla 1 pruebas tiempo
Fig 14 Diagrama de flujo para grados por consola
E. Controlar automaticamente el posicionamiento de un
panel solar o de los concentradores de luz en los planos
axial y sagital de acuerdo a la orientacion de la mayor
incidencia solar. Solo se debe usar un pulsador para la
activacion o encendido del sistema y el numero de
motores que los estudiantes decidan dependiendo de su
proyecto integrado. Se´ debe poder sensar con los
sensores acondicionados que hayan elegido.
En este montaje para hacer el seguidor de luz se utilizan
cuatro fotorresistencias esta iran conectadas a un divisor de
voltaje el cual cambiara según la incidencia de las luz esta
señales analógicas entraran al arduino y se compararan para
identificar el lugar de incidencia de luz esto permitirá mover el
motor al lado correcto.
F17 diagrama de flujo seguidor de luz
Fig 16 montaje de foto resistencias IV. ANALISIS
Control de servo motor a partir de un potenciómetro y dos
pulsadores, en el desarrollo de este punto se genero un tren de
impulso al cual se le podía variar el ciclo de trabajo el cual
cambia con respecto a una variable de temporizador (delay),el
cual representaba un cambio en el ciclo trabajo, este cambio
de ciclo de trabajo(ancho de pulso) representaba un ángulo en
el eje del motor, en donde 700 es 0 grados y 2500 son 160
grados.
Para poder cambiar este temporizador se definió una variable
contador la cual se sobrescribían con la función de mapeo la
cual daba un rango de 700 a 2500 a partir del voltaje que le
llegaba al arduino desde el potenciómetro, este valor se
igualaba al valor del temporizador y representaba el ciclo de
trabajo.
Para el incremento en 15 grados y 20 grados se utilizo un
contador el cual incrementaba o decrementaba según el pulso
realizado, este contador se sumaba a la variable de
temporizador del pulso lo cual generaba el desplazamiento de
este frente a la posición anterior, para la identificación del
ancho del pulso con respecto a los grados requeridos se
utilizo la siguiente ecuación.
𝑎𝑛𝑔𝑢𝑙𝑜 ∗ 2000
𝑡𝑖𝑒𝑚𝑝𝑜 = + 500
180
En el cual se obtuvieron para 15 grados da 666,6 y en 30
grados es 833.
833, −3666,6 = 166,6
Estos valores se restaron y se obtuvo el valor de 166,6 en el pulso, esto permitía el seguimiento de luz en el eje transversal,
cual se respetia en el valor de 30 a 45 grados por lo cual se según la comparación este decrementaba o aumentaba el ciclo
tomo como el tiempo de trabajo que debe aumentar el tren de de trabajo del tren de impulsos para girar la posición al lugar
impulsos por cada pulsador, se realizo el mismo con mas incidencia luz, de la misma forma se realizaba la
procedimiento con el agungulo de 20 grados el cual dio un comparación doble entre el promedio de las fotorresistencias
calor de 222 milisegundos, estos aumentaban 700 hasta 2500 de la derecha y las fotorresistencias de la izquierda, lo cual
para no exceder el siclo de trabajo del motor si el valor llegaba permitía el movimiento del eje sagital derechas e izquierda,
a ser 2500 este se mantendría en ese estado y de forma incrementado un contador donde todas la fotoresistencias
contraria en el pulsador que decrementa de a 20 grados. tengan la misma incidencia de luz.
En el puto de ingresar los datos por consola se utilizo la
función Serial.parseInt() la cual me el valor numérico a través
de consola, para que este valor tuviera relación entre el grado
ingresado y el ancho de pulso, se utilizo la función map(),el V. CONCLUSIONES
cual permite introducir un valor en los rangos de 0 a180 en un Para realizar un mejor seguimiento de luz con las
rango de 700 a 2500 permitiendo tener asi una relación entre fotorresistencias hay que tener en cuenta la calibración y
el grado ingresado y el ancho del pulso, para la utilización de acondicionamiento de estas, según las condiciones de trabjo
los pulsos se utilizo el mismo principio del contador que
incrementa según el valor del pulsador. Para incrementar la velocidad del los programas y eliminar
autocorrección que realiza el servo(ese movimiento para
En la realización del algoritmo de identificar cuanto se atrás) que no es nada funcional se recomienda utilizar la señal
demoraba el servomotor en hacer 90 grados se definió el tren de PWM que brinda la placa de arduino, pues esto ayuda a
de impulsos en 0 y en 90 fuera del voild loop para ejecutarlo reducir memoria y aumenta la velocidad de procesamiento.
una vez en esta ejecución de utilizaba la funcion millis, en una
variable en la cual se identificó el tiempo de 1025 Para hacer el correcto uso del PWM es pertinente utilizar los
milisegundos. registros de temporizadores de arduino para cambia la
frecuencia delPWM pues esta es muy alta y el motor trabaja
En el montaje de seguidor de luz se conectaron la con una frecuencia de 50Hz.
fotorresistencias en un divisor de voltaje ya que esta varian su
resistividad a partir de la incidencia de luz, para identificar REFERENCES
este cambio se conectan como divisores, estos valores se
ingresaban como entradas analógicas a arduino, y a estos [1] Ingeniería Mecafenix,Funcionamiento y caracteristicas de un servo
valores que tomaba les sacaba cuatro promedios, promedio de motor,2019
las fotorresistencias de arriba, promedio de las [2] Commuinity, temporizadores y interripciones, generacion de ancho de
pulso registros.USA
fotorresistencias de abajo, promedio de las fotorresistencias de
[3] Picuino Sistema de control de un servomotor PID,año 2019
la derechas y promedio de las fotorresistencias de la izquierda.
[4] TTMotors. TT Motor Prodcut classifaction features. ”Ventajas y
Estos valores de promedio se comparaban, en el promedio de desvetanjas del servo motor”. China. Abril, 2017
arriba con el promedio de abajo, y de la misma manera el
promedio de la izquierda con el promedio de la derecha, el IEEE conference templates contain guidance text for
primer promedio se comparaba dos veces, si el promedio composing and formatting conference papers. Please
arriba era mayor que el promedio de abajo o si el promedio ensure that all template text is removed from your
arriba era menor que el promedio de abajo se incrementaría un conference paper prior to submission to the
conference. Failure to remove template text from your
contador el cual daría valores al temporizador del ancho de paper may result in your paper not being published.