Principio de Funcionamiento de Los Motores Paso A Paso Y Servomotores
Principio de Funcionamiento de Los Motores Paso A Paso Y Servomotores
Principio de Funcionamiento de Los Motores Paso A Paso Y Servomotores
Servomotores
La modulación por anchura de pulso, PWM (Pulse Width
Modulation), es una de los sistemas más empleados para el control
de servos. Este sistema consiste en generar una onda cuadrada en la
que se varía el tiempo que el pulso está a nivel alto, manteniendo el
mismo período (normalmente), con el objetivo de modificar la
posición del servo según se desee.
Para la generación de una onda PWM en un microcontrolador, lo
más habitual es usar un timer y un comparador (interrupciones
asociadas), de modo que el microcontrolador quede libre para
realizar otras tareas, y la generación de la señal sea automática y más
efectiva. El mecanismo consiste en programar el timer con el ancho
del pulso (el período de la señal) y al comparador con el valor de
duración del pulso a nivel alto. Cuando se produce una interrupción
de overflow del timer, la subrutina de interrupción debe poner la
señal PWM a nivel alto y cuando se produzca la interrupción del
comparador, ésta debe poner la señal PWM a nivel bajo. En la
actualidad, muchos microcontroladores, como el 68HC08, disponen
de hardware específico para realizar esta tarea, eso sí, consumiendo
los recursos antes mencionados (timer y comparador).
PWM para recorrer todo el rango de operación del servo
El sistema de control de un servo se limita a indicar en qué posición
se debe situar. Esto se lleva a cabo mediante una serie de pulsos tal
que la duración del pulso indica el ángulo de giro del motor. Cada
servo tiene sus márgenes de operación, que se corresponden con el
ancho del pulso máximo y mínimo que el servo entiende. Los valores
más generales se corresponden con pulsos de entre 1 ms y 2 ms de
anchura, que dejarían al motor en ambos extremos (0º y 180º). El
valor 1.5 ms indicaría la posición central o neutra (90º), mientras que
otros valores del pulso lo dejan en posiciones intermedias. Estos
valores suelen ser los recomendados, sin embargo, es posible
emplear pulsos menores de 1 ms o mayores de 2 ms, pudiéndose
conseguir ángulos mayores de 180°. Si se sobrepasan los límites de
movimiento del servo, éste comenzará a emitir un zumbido,
indicando que se debe cambiar la longitud del pulso. El factor
limitante es el tope del potenciómetro y los límites mecánicos
constructivos.
El período entre pulso y pulso (tiempo de OFF) no es crítico, e incluso
puede ser distinto entre uno y otro pulso. Se suelen emplear valores
~ 20 ms (entre 10 ms y 30 ms). Si el intervalo entre pulso y pulso es
inferior al mínimo, puede interferir con la temporización interna del
servo, causando un zumbido, y la vibración del eje de salida. Si es
mayor que el máximo, entonces el servo pasará a estado dormido
entre pulsos. Esto provoca que se mueva con intervalos pequeños.
Es importante destacar que para que un servo se mantenga en la
misma posición durante un cierto tiempo, es necesario enviarle
continuamente el pulso correspondiente. De este modo, si existe
alguna fuerza que le obligue a abandonar esta posición, intentará
resistirse. Si se deja de enviar pulsos (o el intervalo entre pulsos es
mayor que el máximo) entonces el servo perderá fuerza y dejará de
intentar mantener su posición, de modo que cualquier fuerza
externa podría desplazarlo.