En este artículo hablaremos un componente fundamental en la robótica de pequeña y mediana escala y en el modelismo. Se trata del servo motor. En infinidad de páginas vemos a gente que trabaja con ellos y realizan bípedos, cuadrúpedos, hexápodos y arácnidos… Algunos incluso sencillos con un par de ruedas.

Un servo es un motor y electrónica. La electrónica está formando un regulador que permite controlarlo en base a consignas de posicionamiento, par, velocidades y/o aceleraciones. En el caso de los servomotores de modelismo y robótica, este control siempre se realiza con la consigna de posicionamiento angular.

Características mecánicas

Los tamaños y pesos de los servos de modelismo son muy variados: desde los microservos para helicópteros RC miniatura hasta maquetas de coches de RC 1/5 o aeroplanos en escalas superiores. Asociado al tamaño del servo suele ir el par de fuerza que puede realizar, valor que también va ligado a la potencia consumida y a la calidad de los componentes internos.

La salida mecánica de un servo es un eje estriado en el que se pueden acoplar diferentes accesorios o horns: redondos o de 1 a 4 brazos en cruz, con agujeros de sujeción… Estos accesorios están estriados para encajar en el eje y que no deslicen. Además, van sujetos con un tornillo central para evitar que se desprendan. A diferencia de otros motores, el eje de salida no puede dar vueltas: normalmente está limitado para girar $180º$ (en realidad suelen alcanzar los $270º$), o sea, menos de una vuelta de recorrido total. Esta limitación es tanto mecánica: físicamente NO puede girar; como electrónica: no responden a los valores de consigna fuera de rango.

La entrada de alimentación de un servo es normalmente en un rango de tensiones de $4,8V$ a $6,0V$. Los consumos de corriente pueden variar según el par que este ejerciendo para mantener la posición consigna o para intentar alcanzarla. La variación de la tensión de entrada influye directamente sobre la velocidad de giro, que se suele medir como el tiempo que tarda en girar una cantidad fija de grados, normalmente $60º$.

Foto 1: Servo motor de aeromodelismo

Control de un servomotor

El control del servomotro se realiza indicándole una posición angular absoluta de su eje a través del cable de señal. Esta señal es una onda cuadrada con un período constante (sobre los 20ms, dependiendo del fabricante), pero de ciclo de trabajo variable (duty cycle). La señal debe permanecer a un valor alto (tensión de alimentación) durante $0,3ms$ y el resto del tiempo a $0V$ para conseguir la posición de $0º$; para la posición de $180º$ la duración de la señal a nivel alto debe ser de $2,1ms$. Los valores de tiempos entre $0,3ms$ y $2,1ms$ se distribuyen linealmente las posiciones angulares intermedias. Los ángulos crecen en la dirección de las agujas del reloj viendo el eje del motor de frente, al contrario que en el sistema cartesiano.

Es importante indicar que el servo siempre sigue la señal de consigna, por lo que se debe mantener constante la consigna a lo largo del tiempo para asegurarse de que el servo alcanza la posición deseada y para mantenerla. Si cesa la consigna el motor queda en el valor de la última posición pero no realiza ningún esfuerzo para mantenerla. Cualquier fuerza externa aplicada moverá, sin mayor dificultad, el eje del servo.

Figura 2: Formas de onda motor

Componentes internos del servo

Internamente un servo es un conjunto de componentes mecánicos, eléctricos y electrónicos. La alimentación y la consigna llegan a una minúscula placa PCB con unos pocos componentes discretos y un chip que es el encargado de realizar las labores de regulación del servo. A esta placa está soldado un motor serie o motor de continua que es el encargado del movimiento del servo. Los motores de continua se mueven a altas velocidades y tienen muy poco par. Para solucionar esto en la parte superior, justo debajo de donde sale el eje, hay una pequeña caja de engranajes que realiza una reducción muy alta para conseguir transformar revoluciones por minuto y poco par del motor serie a un movimiento angular continuo y con mucha fuerza. A uno de los engranajes ya reducidos está unido mecánicamente un potenciómetro (o encoder), que es el elemento de medida que utiliza el chip para conocer la posición angular actual, compararla con la consigna y así saber en qué sentido debe hacer girar el motor.

La calidad de los elementos internos, tanto electrónicos (potenciómetro, encoder, driver de motor y el propio motor) como mecánicos (materiales de la piñonería, rodamientos) determinan la fuerza que es capaz de soportar y ejercer el servo.

Foto 3: Estructura interna de un servo motor

Conector de los servos

El conector eléctrico de los servos es una hembra de 3 contactos, con ancho entre pines de $100mils (2,54 mm)$ para pines cuadrados de poste. El pinout es como sigue:

Pin 1: $GND$ (cable negro)

Pin 2: $VCC$ (cable rojo)

Pin 3: Señal de control o consigna (cable blanco, amarillo, naranja u otro color)

Para facilitar la conexión a los receptores de modelismo, los conectores suelen llevar un rebaje en uno de los lados permitiendo conectarlo al receptor RC de una única manera.

Ejemplo de un servomotor

Como ejemplo de las características de un servo se mencionan las de un HITEC HS-422:

Tensión de alimentación: entre $4,8 V$ y $6,0 V$

Par: $4.1 Kg \cdot cm$

Peso: $45,5 g$

Dimensiones: $40,6 mm x 36,6 mm x 19,8 mm$

Velocidad de giro ($4,8 V$): $0,21 s / 60º$

Velocidad de giro ($6,0 V$): $0,16 s / 60º$

Trucado de un servomotor para giro libre

Para realizar el trucado de un servo y permitir que gire libremente en ambos sentidos hay que realizar cambios mecánicos sobre el piñón que viene con el tope de movimiento para quitárselo o rebajarlo y hay que sustituir el potenciómetro (que no gira libremente) por un juego resistivo o por otro potenciómetro, la consigna que se debe establecer debe ser fija para realizar un ajuste fino. En internet se pueden encontrar muchas páginas donde se explica paso a paso cómo realizar el trucaje. Una vez realizado se debe calibrar el nuevo potenciómetro.

Por ejemplo si calibramos el potenciómetro a $90º$ y si se le indica una consigna de $90º$, el servo se detendrá; si se le indica una consigna inferior o superior se moverá eternamente intentando alcanzar esa posición. Cuanto más alejada esté esa consigna de $90º$ con más celeridad intentará alcanzarla y por lo tanto la velocidad del eje de salida aumentará, teniendo así un perfecto motor de poca velocidad y mucho par en un espacio reducido.

Placa para la conexión de servos.

Ahora que ya conocemos como es un servo podemos ver la placa. En este caso sirve para conectar 8 servomotores (uno por bit) a un puerto del uC. Permitiendo usar los restantes bits del puerto para otras aplicaciones, bastara con ser cuidadosos a la hora de conectar el servo. Está dotada de un conector de alimentación externo, ya que los servomotores consumen bastante corriente en algunos instantes, y este consumo excesivo puede causar un reset del uC debido a una caída de tensión. Por lo tanto, se optó por una alimentación externa y no desde la placa del uC, como acostumbramos a hacer.

Foto 4: Placa terminada

Documentos

Archivos

Trucado de un servo en X-Robotics

Modelo de servo SolidWorks para uso didáctico