Base de conocimiento de servo motores con arduino

CONTROL PWM

Un servo normal se usa para controlar un movimiento angular de entre 0 y 180 grados.

El PWM para servo es un caso particular de señal PWM. Entre otras características, suele usarse para ella una frecuencia de 50Hz.  Es decir, (1/50Hz=0.02seg). Dicho de otra forma, el periodo de la señal de 50Hz es de 20 milisegundos.

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.

  • El sistema de control de un servo se limita a indicar en que 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.
  • 0º = Generalemente pulso de 1ms (para el MG995 0.5ms).
  • 90º = pulso de 1.5ms.
  • 180º = Generalmente pulso de 2ms (para el MG995 2.5ms).

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 pasa un tiempo superior a 20ms (es decir, si para un ciclo de 20ms transcurre un tiempo de 21 milisegundos) sin recibir pulsos, el servo entrará en reposo y su consumo bajará de forma muy considerable, lo cual puede venir bien para el ahorro de energía en algunas aplicaciones con servos donde resulta permisible la relajación del torque

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.

Si el servomotor debe mantener su posición pese a una fuerza ejercida sobre su eje que supere la capacidad de retención del servo en reposo, el motor quedará vibrando haciendo fuerza y consumiendo electricidad.

Hacer esto por un breve espacio de tiempo puede ser admisible, pero tener el motor del servo siempre haciendo una fuerza para contrarrestar a una fuerza contraria, ya sea un tope, un muelle o la gravedad, puede provocar un desgaste excesivo o incluso un fallo del servomotor por excesivo esfuerzo.

Servos analógicos y servos digitales

Los servos más normalitos son los servos analógicos. A nivel de usuario no presentan grandes diferencias, ya que ambos se controlan con las señales PWM que ya hemos mencionado.

Los servos digitales llevan internamente microprocesadores que los hacen más versátiles, a diferencia con los analógicos donde sus parámetros son fijos.

En los servos digitales se pueden configurar varios parámetros para su funcionamiento tales como: posición central inicial, sentido de giro, topes en el recorrido del servo, velocidad de respuesta del servo y resolución, etc. Además pueden trabajar con señales PWM con una frecuencia 10 veces más alta y tienen un menor tiempo de respuesta.

Estos servos digitales son bastante más sofisticados y más complejos. Muchos necesitarán controladoras especiales. Las librerías de Arduino están pensadas para su uso con servos analógicos normalitos, así que la compatibilidad con servos digitales no está asegurada.

Por lo general, los servos analógicos pueden hacer un servicio impecable para un sinfín de aplicaciones, son más sencillos, más baratos, consumen algo menos y no necesitan controladores específicos.

He probado como servo analógico el MG995 y como digital el HF-S2225MG, siendo este 3tres veces mas caro, pero marcando 25 Kg, la diferencia es enorme, sobre todo en su menor ruido y gran flexibilidad. Con alimentaciones a partir de 3.5V hasta7.4V, alcanzaremos consumos entre 600ma hasta >2A ejerciendo su maximo esfuerzo. O sea, utilizando este servo digital, si queremos que su consumo no sobrepase los 600MA con no muchos requerimientos de fuerza, podemos alimentarlo sin miedo con 3,5V.

Resolución angular-

Angulo minimo que se requiere para producirmovimiento angular. Con una resolución de 10 grados el servose empezará a mover a partir de 10 grados.

Par motor o fuerza de torque de un Servo:

El par motor de un servo, o torque de un servo, se mide habitualmente en Kilos por centímetro. Si un servo es de 1 Kg x cm, significa que podrá levantar un peso de 1 Kilo con una carga situada como máximo a una distancia de un centímetro del eje de giro.

Si se coloca a más distancia, no tendrá fuerza para levantarlo. Los servos, tal como ya hemos dicho, son motores que para lograr su fuerza, usan un sistema de reductora por engranajes. En otras palabras, reducen la velocidad de giro en favor del aumento de la fuerza de torque.

Control de velocidad.

Para controlar la velocidad de nuestro servo únicamente necesitaríamos modificar la frecuencia con la que se entregan los pulsos. Si la frecuencia con la que se generan los pulsos es mayor, la carga logrará la posición deseada rápidamente. A diferencia, si la frecuencia es menor, la carga tardará más tiempo en alcanzar la posición.

Comentarios 2

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Translate »