Como utilizar los servos en nuestros proyectos
Por Pablo Pompa
Los servos son sin duda uno de los dispositivos mas útiles para cualquier aficionado a la robótica, ya que nos permiten crear toda clase movimientos de
una forma controlada. En este tutorial vamos a mostrar que es un servo, como funciona y como podemos utilizarlos en nuestros proyectos, siempre desde un
punto de vista práctico y desde el punto de vista de la robótica personal.
Lo que normalmente se denomina servo también se conoce como servomotor, motor servo controlado o incluso servorc, y en cualquier caso hacen referencia
a un sistema compuesto por un motor eléctrico, un sistema de regulación que actúa sobre el motor y un sistema de sensor que controla el movimiento del motor.
Es precisamente este sensor el que marca la diferencia con respecto a un motor controlado electrónicamente, ya que gracias a la información obtenida del
sensor, se puede saber en tiempo real lo que está haciendo un motor.
Para entenderlo mejor, veamos un ejemplo. Supongamos que tenemos una plataforma giratoria movida por un motor y queremos controlar su giro de forma
que la plataforma se pare en determinadas posiciones. Si utilizamos un motor y un circuito de control la única forma que tenemos de hacerlo seria alimentando
el motor durante un tiempo en función del numero de grados que queremos que gire. Este sistema además de ser muy poco preciso tiene el gran inconveniente
de que no sabemos si realmente la plataforma ha girado o no, es decir que carece de un sistema sensor que retro alimente al circuito de control para que
este sepa que es lo que este haciendo la plataforma. Por otra lado en el momento en que la alimentación del motor varíe un poco o simplemente la plataforma
tenga mas o menos carga, la cantidad de giro con respecto al tiempo también varia por lo que el sistema no es practico.
Si las posiciones de parada fuesen fijas, es decir que tuvieramos unas posiciones marcadas y definidas en las que queremos que la plataforma se detenga,
podríamos utilizar algún tipo de sensor como un interruptor final de carrera, o bien un sensor óptico que nos indique cuando la plataforma alcanza
la posición
correcta. En este caso el sistema funcionaria correctamente, pero siempre limitado a las posiciones preestablecidas.
Para un control total y sin restricciones de posición, lo que necesitamos es añadir un sistema sensor que detecte cuando la plataforma se
esta moviendo
y en
que cantidad. Para ello lo
mas sencillo es utilizar un sensor de tipo óptico que proporciona impulsos conforme la plataforma gira. De esta forma el sistema de control cuenta con la
información necesaria para actuar sobre el motor ya que sabe con exactitud si la plataforma está girando, y a que velocidad lo hace, con independencia
de la carga que está moviendo en cada momento.
Los servos motores pueden ser de muchos tipos y tamaños incluyendo los servos hidráulicos, los basados en motores de corriente alterna empleados
en sistemas de gran potencia y los basados en motores de corriente continua que son los mas utilizados en máquinas herramientas, robots industriales, sistemas
de producción, etc. El coste de un servo industrial comienza en los 500€ y pueden llegar fácilmente a varios miles de euros por cada servo.
Los servo motores que empleamos en los proyectos de robótica personal son un tipo de servo motor muy especifico que se basan en los mismos principios que
los servos industriales pero con grandes diferencias en cuanto al control y al movimiento que producen y sobre todo al coste de los mismos. De ahora en adelante,
todo lo relacionado con servos se refiere a este tipo de servos.
Los servos RC se inventaron para utilizarse como elementos de control en modelos teledirigidos. Los primeros servos empleados en coches y barcos de radio
control consistían en motores que tenían un sistema mecánico que controlaba la posición del mismo en función de los pulsos recibidos vía radio. El sistema
era muy básico y era secuencial, el motor pasaba por las diferentes posiciones mecanicas hasta llegar a la posición deseada. Mas tarde llegaron los servos
electronicos tal y como los conocemos hoy en día y que estaban diseñados para ser utilizados con modelos controlados por radio control.
El hecho de que el servo motor se controle vía radio, ha sido decisivo a la hora de establecer la forma de controlarlos. Había que buscar la forma de enviar
una señal vía radio que controlara el movimiento del servo y además había que mandar varias señales a la vez, ya que la
mayoría de los coches y aviones necesitan varios servos para ser controlado.
Para solventar este hecho, lo que se ha hecho es crear un sistema de control basado en el ancho de un pulso para controlar la posición del motor. Este pulso
que normalemente es de 1,5 ms mantiene el servo en la posición centrada. Si el pulso es mas corto, por ejemplo 1 ms el servo gira a la izquierda, si el
pulso es mayor, por ejemplo 2 ms, el servo gira a la derecha. El movimiento del servo es proporcional al pulso que se le aplica. Otra particularidad que
tiene este pulso es su frecuencia de refresco, que en este caso es de 50 HZ, lo que equivale a mandar un pulso de control cada 20 ms.
Los servos modernos dejan de controlar el motor, tan pronto como se dejan de mandar los pulsos de control. Por esos para controlar un servo hay que mandar
los pulsos de control una 50 veces por segundo, con un margen del 20 % aproximadamente. Si pasa mas tiempo sin mandar los pulsos el servo entra en reposo
y como consecuencia su consumo baja a apenas 8 mA, lo que puede ser muy interesante para algunos proyectos.
Otra particularidad que tienen los servos de radio control es que su movimiento esta limitado en la mayoría de los casos a 180 grados. En los sistemas originales
controlados vía radio, el rango de movimiento es de 90 grados, es decir 45 grados hacia cada lado desde la posición central ya que el ancho del pulso va
desde los 900 a los 2100 milisegundos. Esto es suficiente para mover los difrentes mandos de los modelos, como son el timón, la dirección, el acelerador,
etc. En la practica,
el 95% de
los servos trabajan con pulsos entre
los 500 y los 2500 milisegundos, consiguiendo movimientos
de 180 - 190 grados aunque todo esto varia ligeramente por arriba y por abajo según diferentes modelos y fabricantes.
Esta limitación en el movimiento tubo como consecuencia que el sistema sensor de la posición se pudiera reducir a un simple potenciometro, lo que simplificaba
el servo desde el punto de vista eléctrico y además abarata su coste y su peso. El potenciometro se encuentra conectado mecanicamente al eje de salida del
servo de forma los dos se mueven a la vez. De ahí la dificultad de hacer que un servo gire mas de 270 grados, ya que mecanicamente esta limitado por el
giro del potenciometro. Mas adelante veremos una forma de solucionar esto.
Desde el punto de vista eléctrico, el servo es un circuito que se encuentra en equilibrio. El equilibrio se mantiene entre el ancho del pulso de control
y la señal que recibe del potenciometro. Cuado se manda un pulso de control, el equilibrio se descompensa y el circuito mueve el motor y el potenciometro
hasta que consigue que la señal que procede del potenciometro equilibre de nuevo el circuito. Una vez que el eje alcanza la posición de equilibrio,
el motor se para y se mantiene en esa posición Si se ejerce fuerza externa para intentar mover el eje, el servo reaccionará intentando mantener
la posición
correspondiente al pulso de control que recibe.
De forma generica, la mayoría de los servos funcionan con tensiones comprendidas entre los 4,8V y los 6V siendo 6 V la tensión máxima recomendada y en la
que se obtiene mas potencia, rendimiento y velocidad. Algunos servos admiten 7,2V, pero no es lo corriente y pueden dañar los servos, por lo que es
necesario asegurarse antes de emplear esta tensión.
Tipos de servos
Hasta hace muy poco tiempo la única clasificación que había de los servos era la relativa a su tamaño. Todos los servos funcionaban
de la misma forma y lo único que los diferenciaba era el tamaño de los mismos. Dentro de esta clasificación estan los sevos estándar que
incluye a la mayoría de los servos y que se trata de servos cuyas medidas son 40 x 20 x 37 mm. Las medidas varían en algunas decima de unos modelos a otros, pero
en general las medidas de los orificios de fijación coinciden en casi todos los modelos, lo que ha permitido crear soportes y fijaciones universales que
pueden utilizarse con la mayoría de los servos.
Una característica de los servos estandar es la posición del eje de salida, si bien las medidas de la altura del servo puede variar de un modelo, la distancia
entre las fijaciones y el plato del servo suele ser muy parecida en la mayoría de los modelos. Ejemplos de servo de tamaño estándar son el HS422 ,
el HS1422,
o el HS5980. La potencia de estos servos varia entre los 3 Kg. y los 24 Kg.
Otros servos de mayor tamaño son los servos de escala 1/4 que se empleaban en modelos de coches a escala 1:4 y en general donde hacen falta servos mas
robustos y con mayor potencia. Estos servos se empleaban sobre todo en modelos en donde el peso no era tan problematico y sobre todo hacia falta mucha potencia
como en el caso de la dirección de los coches de 4x4 de gran potencia o los barcos a vela grandes en los que la tensión. de las velas puede ser bastante alta.
Hoy en día se encuentran sustitutos de estos servos con igual o superior potencia en tamaños estándar, gracias al control digital. La potencia de
estos servos varia entre 9 kg. y 24 kg.
Los servos de menor tamaño puede ser de diferentes tipos y tamaños, sin que existan un estandar definido. En principio los servos de menor tamaño
se empleaban sobre todo en los aviones, en donde el peso y el tamaño es muy critico. Hay un caso muy concreto en los servos que se emplean para los trenes
de aterrizajes, por un lado tienen que girar 90 grados y por otro tienen que ser muy pequeños, ya que en la mayoría de los casos van alojados en las alas,
donde el espacio es muy reducido. En robótica los servos pequeños se emplean sobre todo en las pinzas de los robots, ya que proporcionan la fuerza
necesaria para mover la pinza con el mínimo peso. Otra aplicación es la construcción de robots miniaturas en la que los servos estándar son demasiado grandes.
Dentro de los servos miniaturas se encuentran hoy en día muchas tamaños desde los mini, los ultra mini y los microservos con apenas 8 gramos de peso.
Su rango de potencia está entre los 0,5 kg. y los 3,5 kg.
Hoy en día existen una gran variedad de servos de diferentes tamaños, aplicaciones, tensiones y forma de control por lo que seria posible establecer
otros sistemas de clasificación. No obstante la segunda forma mas frecuente de clasificar a los servos se basa en la forma de control interna que sea digital o
analógica.
Hasta hace muy poco, todos los servos eran analógicos, es decir que se basaban en un circuito electrónico cuyo control es completamente analógico, basado en comparadores
y amplificadores operacionales que siempre funcionan de la misma forma. En cambio con la aparición de los servos digitales, se han conseguido grandes avances
tanto en prestaciones, como en posibilidades de control. En principio, los servos digitales funcionan y se controlan de la misma forma que los analógicos, hasta
el punto que se puedes sustituir unos y otros sin ningún problema. La mejora del rendimiento se produce sobre todo por el hecho que la electrónica de control utiliza
un microcontrolador para hacer todo el trabajo. Esto permite mandar mas pulsos de control al motor y por lo tanto se aumenta la precisión y el rendimiento. También
se hacen mas lecturas del potenciometro por segundo y se utilizan drivers para el motor mas eficaces y de menor tamaño que permiten controlar mas potencia
con un circuito mas pequeño. Además el microcontrolador permite programar algunos parametros como la posición central, el recorrido, la zona neutra, etc.
La consecuencia de todo ellos es que existen servos digitales de tamaño estándar que resultan mas potentes que los mega servos de gran tamaño
gracias además al empleo de engranajes de acero de alta calidad que permiten transmitir toda la potencia del motor al eje de salida sin problemas.
Una característica difereciadora entre los servos, es la relativa al eje de salida. Durante muchos años el mercado estuvo liderado por dos marcas.
Una japonesa Futaba y la otra coreana Hitec que tenían modelos muy similares y cuya principal diferencia eran las estrías del eje de salida que son incompatibles
entre si. Esto ha provocado que a la hora de crear, accesorios, fijaciones, platos, etc para los servos, es necesario distinguir entre los servos tipo Futaba
y los servos Hitec, ya que básicamente son los dos estandares del mercado y que se diferencia principalmente en el numero de estrías de cada uno.
Otra diferencia aunque menor está en los conectores eléctricos de los servos. La mayoría de los conectores utilizan un sistema de 3 hilos acabados en un
conector con separación entre pines de 0,1 pulgadas (2,54 mm) que encajan sin problemas en los conectores tipo poste que tienen los circuitos de control de servos.
Otro caso diferente es cuando se conectan en los receptores de radio control, ya que algunos servos llevan una lengüeta de polarización para evitar
conexiones erróneas y algunos receptores no tienen la ranura para que encaje el conector. En cualquier caso este es un problema menor y es fácil de solucionar
cortando la ranura. En cuanto a las conexiones eléctricas, casi todos los servos tienen las mismas, negativo, alimentación y señal de control,
aunque también
hay excepciones como los servos Airtronics, estando
las
diferencias únicamente en el color de los cables que varia de un fabricante a otro como podemos ver en estos ejemplos.
¿Como Controlar los Servos?
Hay cuatro formas básicas de controlar el movimiento de los servos. El sistema empleado en cada caso dependerá principalmente de nuestras necesidades
y posibilidades. Comentaremos a continuación cada uno de ellos para ver las ventajas e inconvenientes.
Control manual vía radio.
Este metodo es el clásico sistema de Radio Control que se emplea para controlar aviones y coches de modelismo. El sistema emplea un receptor en el lado de los
servos y un transmisor de radio para hacer el control.
Los transmisores puede ser de muchos tipos pero los mas frecuentes son los mostrados en la imagen de arriba en la que se puede ver las palancas de control tipo
joystick que facilitan el control y permiten realizar movimientos con gran precisión Hay transmisores analógicos (izquierda) y digitales (derecha), al igual que
los hay con múltiples funciones avanzadas, como mezcladores de canales, controles de ganancia, memorias, etc. Los mas economico suelen ser sistemas de 2 a 4 canales
que nos permiten controlar hasta 4 servos y que cuentan con dos palancas independientes. Este tipo de control suele ser suficiente para controlar coches, robots
con ruedas y orugas, sistemas de movimiento de camaras e incluso controlar algún accesorio del robot como una pinza, una palanca o similar. También hay transmisores
mas complejos capaces de controlar de 7 a 10 canales simultaneamente.
Los receptores por su parte son unas unidades muy compactas y fácil de utilizar. Lo único que hay que hacer es conectar los servos en cada uno de los canales
que se quiera controlar y conectar una batería de 4,8V a 6V en la ranura marcada como "B".
El sistema vía radio tiene dos características fundamentales que lo hacen únicos. La primera es el hecho de no utilizar cables, lo cual en muchos casos
es una gran ventaja, aunque en otras ocasiones puede ser un problema, puesto que un sistema vía radio siempre es susceptible de tener interferencias. La
segunda característica es el hecho de que se controla completamente a mano. Por ejemplo para controlar un avión o un coche, la mejor opción es el control
manual ya que la velocidad de respuesta y la precisión de los movimientos manuales es difícil de superar por un control electrónico.
Igualmente
en el caso de querer controlar el movimiento de una camara, lo mejor es disponer de un joystick que permita mover la camara con facilidad.
Control mediante circuito controlador de servos.
Este sistema emplea circuitos especializados en el control de servos. Este tipo de circuitos se caracterizan porque se encargan de generar las señales
necesarias para controlar los servos. Lo único que tenemos que hacer es decirle al controlador la posición a la que queremos que se mueva cada servo y este
se encarga de todo lo demas. Como vimos al principio, los servos necesitan recibir los pulsos de control 50 veces por segundo y si además tenemos que controlar
varios servos, entonces son un montón de señales que hay que generar de forma constante, de ahí la necesidad de emplear controladores de servo
que se ocupen de todo el trabajo.
Actualmente hay muchos tipos de circuitos controladores de servos que varían tanto en el numero de canales como en el interfaz que utilizan. Los mas corrientes
y universales son los controladores con conexion serie, que reciben las ordenes de control de movimiento a través de un puerto serie. Algunos modelos muy
conocidos son el mini SSCII de 8 canales que fue uno de los pioneros y ampliamente utilizado durante muchos años. Una versión avanzada y mucho mas
potente del mismo es el SSC-32 que es capaz de controlar 32 canales y que tiene un modo de funcionamiento compatible con el SSCII. Un tercer modelo de 8
canales es el SRV8-T que destaca porque es capaz de medir el consumo de corriente de los servos y por lo tanto calcular la fuerza aproximada que esta ejerciendo.
Todos estos controladores admiten tanto las señales RS232 procedentes de un PC como las señales a niveles TTL procedentes de un microcontrolador.
Una caso especial es el circuito controlador SD84 que destaca por que es capaz de controlar hasta 84 canales de forma simultanea. Este circuito tiene conexion
USB aunque en el PC finalmente aparece como un puerto serie mas, por lo que el control desde el PC se hace mandando ordenes por un puerto serie. Este circuito
además puede utilizar los canales como puertos de entrada y salida digital o incluso 36 de los canales pueden funcionar como entradas analógicas. Gracias
a este circuito se puede crear u interfaz de control de servos y perifericos muy completo y con solo una conexion USB.
También hay circuito controladores de servos con otros tipos de conexiones como es el caso de los módulos SD20 y SD21 que se controlan por bus I2C.
El primero consiste
en un
microcontrolador
PIC pre programado y que es capaz de manejar 20 servos. La idea en este caso es la de utilizarlo dentro de nuestro propio circuito como un coprocesador del
microcontrolador principal, teniendo que ocuparnos de las conexiones, la alimentación, etc. El SD21 por contra es un circuito completamente montado
y terminado capaz de controlar 21 servos desde un bus I2C. Una particularidad de este circuito es que cuenta con zocalos para alojar directamente un microcontrolador
tipo Basic Stamp, BasicX24 o similar y otro zocalo para conectar un microcontrolador tipo Picaxe 18.
Hacer mención especial al controlador de servos SSC-32 que actualmente es uno de los controladores mas avanzado y completos del mercado y con un precio
realmente atractivo. Otra ventaja es que este controlador se puede utilizar con todo el software tanto gratuito como comercial que hay escrito para
el MiniSSC8, además de contar con programas comerciales propios especialmente desarrollados para el y que sacan partido de las características avanzadas
de este circuito.
Un caso especial es el circuito de control que utiliza el robot Robonova y que puede adquirirse por separado de este es el MRC3024 que es capaz de controlar
24 servos y que cuenta con su propio controlador en la propia placa. Este circuito puede emplear todo el software del robonova incluido el lenguaje robobasic
que es muy fácil de programar. Además si se utiliza con servos compatibles con el protocolo HMI es capaz de leer la posición real de los servos por lo que
se pueden programar movimientos complejos con solo mover los servos a mano a la posición deseada y luego leer la posición desde el propio controlador. Los
puerto que no se utilicen para controlar servos, pueden utilizarse para controlar sensores y otros dispositivos.
Control Mediante microcontrolador.
Otra forma de controlar los servos es utilizar directamente un microcontrolador para generar las señales de control de los servos. La principal ventaja
de este sistema es que es economico y simple ya que solo es necesario un puerto de salida del microcontrolador para hacer el movimiento. Este es el tipico
caso de robot que solo tienen uno o dos servos que se emplean para mover el robot. El microcontrolador utiliza los sensores para leer el entorno y genera
los pulsos necesarios para hacer que el robot se mueva hacia en la dirección adecuada, además puede suprimir los pulsos de control en cualquier momento con
el fin de reducir el consumo al mínimo, lo que es otra ventaja añadida. Este sistema es sin duda el mas simple y directo para controlar un
servo, además de ser el mas rapido , ya que la orden va directamente desde el controlador hasta el servo sin tener que pasar por otro circuito intermedio.
Esto puede ser muy interasante en dispositivos que controlan servos en función de movimientos, vibraciones, inclinaciones, etc.
Las mimas razones que se presentan como una ventaja pueden ser un inconveniente según el numero de servos o la complejidad del proyecto. Cuando se controlan
muchos servos suele ser mas practico utilizar un circuito controlador de servos en lugar del control directo. Además el empleo de un microcontrolador nos
obliga ha tener que hacer por nosotros mismos todo el programa de control y la electrónica, en lugar de utilizar programas y circuitos que ya sean probado
con anterioridad. Una posibilidad es utilizar los circuitos pre montados que permiten utilizar microcontroladores de 24 patillas como el BasicX24, Basic
Stamp o Atom Pro por citar solo unos pocos. Este tipo de circuitos son economicos y ya incluyen todo lo necesario para conectar servos, interruptores, el
microcontrolador e incluso el conector serie para la programación directa desde el PC.
Controlador especifico.
Los controladores específicos son circuitos especializados en el control de servos, pero de una forma concreta o para una aplicación especifica. En este
grupo de entran los controladores de movimientos X Y que con palanca tipo joystick que se utilizan por ejemplo para mover un cabezal Pan and Tilt (movimiento
horizontal y vertical de una camara) . Este tipo de controlador incluye en una unidad muy compacta toda la electrónica y el mando de control de forma que
se conecta directamente a los servos y a la alimentación y se puede mover una camara con solo dirigir la palanca. Es parecido al sistema del radio control,
pero sin la parte de la radio y además mas compacto.
Otros controladores específicos son los secuenciadores de movimientos con servos que se suelen emplear en robotrónica.
En este caso se trata de un circuito microcontrolador que es capaz de manejar varios servos (de 4 a 16 normalmente)
y que se caracterizan porque son capaces de repetir secuencias de movimiento de forma totalmente autónoma sin necesidad
de ordenador. En algunas ocasiones el propio circuito es capaz de memorizar los movimientos directamente. Es decir
el operador realiza los movimientos de los diferentes servos manualmente y el circuito es capaz de registrar y grabar
esos movimientos para poder repetirlos depues de forma automática. Es como una grabadora de voz, pero de movimientos.
Hay otros circuitos que hacen cosas parecidas pero con características mas o menos especificas y que ya vienen a
ser una mezcla o combinación de los anteriores o que simplemente permiten mover uno o dos servos de forma manual
sin necesidad de mas características adicionales.
Aplicaciones de los Servos.
La aplicación de los servos es simple, mover con fuerza y precisión una palanca. No obstante con solo 180 grados y un poco de imaginación
se pueden conseguir hacer máquinas verdaderamente complejas con movimientos sincronizados y capaces de realizar múltiples tareas. Ejemplos de ellos son el
Robot Robonova, capaz de andar y dar volteretas gracias a que mueve 16 servos de forma simultanea. Otro ejemplo son los brazos robots, que con cinco o seis
servos pueden emular los graciosos movimientos de los robots industriales o los robots con patas como las arañas capaces de andar moviendo sus 6 patas
de forma sincronizada.
Otras aplicaciones incluyen muchas clases de componentes mecanicos, articulaciones, accionadores y elementos móviles que se pueden emplear para construir
artefactos de toda indole sin mas limite que la imaginación. Para ello los servos cuentan con un buen surtido de soportes en forma de pletinas metálicas
que permiten
unirlos entre si, creando ensamblajes móviles y estructuras complejas que permiten hacer realidad cuantas aplicaciones seamos capaces de idear.
|