You are on page 1of 5

PC Práctico

Robótica bioinspirada (I)

Servomotores
y su control Uso y aplicaciones de los microbots

Este mes comenzamos la


ucha gente se pregunta si con- South California) como un kit asequible para

M sistirá el próximo hito de la


robótica en una serie de máqui-
nas económicas que repten, piensen y se
andadura de la
microbótica. Los microbots
pueden emplearse desde el
iniciarse en la construcción de robots.
Estaba inspirado en un artículo de Gary
Malolepsy’s aparecido en la revista «The
conduzcan como insectos. Así opinan los Robot Builder» en el número de febrero-
investigadores del «Laboratorio de insec- simple entretenimiento de marzo de 1994. El kit para la construcción
tos» del Instituto de Tecnología de Mas- del HexWalker apareció en enero de 1995
sachusetts. En este laboratorio se han cre-
aficionados hasta fabricado y distribuido por M&T Systems.
ado pequeños robots con movimientos y aplicaciones de Después de tres años de febril actividad en
comportamiento de insectos. Sus diseña- neurofisiología, cibernética, la fabrica y de cientos de imitaciones el kit
dores los han bautizado con el nombre de dejó de fabricarse en M&T Systems.
insectoides. estudios del comportamiento Según se lee en su página web, «las líne-
Rodney Brooks, director del laboratorio para evitar obstáculos, as de producción están ahora en silencio, los tra-
de insectoides del MIT realiza un nuevo bajadores han emigrados a verdes praderas, que-
enfoque que él denomina arquitectura de vehículos espaciales, etc. dan sólo lejanos ecos de la actividad».
subsunción. Con este enfo- El lector no debe preocu-
que no se añaden al sistema parse por este motivo, ya
conductas nuevas hasta que que se ha localizado un kit
las anteriores están perfecta- similar en Inglaterra, el
mente a punto y en marcha. StampBug (foto 3), fabrica-
En la arquitectura de sub- do por la empresa Milford
sunción las conductas com- Instruments (no muy barato
plejas son el resultado evo- que digamos), que es el que
lutivo de una variedad de se va a detallar.
funciones de conducta sim- Pero además, se darán en
ples. este y posteriores artículos
Uno de estos robots es suficientes explicaciones
Genghis, que entre los sen- para que el lector pueda
sores de que dispone está construir su propio hexápo-
dotado de dos barbas de do sin necesidad de adquirir
gato y seis sensores de infra- el kit, ampliando incluso
rrojos. Los sensores de infra- sus prestaciones y el núme-
rrojos operan conjuntamen- ro de sensores.
te con el módulo de «Foto 1». Diferentes robots con movimientos similares a insectos.
merodeo, dotando a Genghis de una con- portamientos muy complejos. Se demuestra Servomotores
ducta insólita. En esta modalidad Genghis que la técnica de subsunción sigue funcio- La fuerza que moverá nuestro hexápodo la
descansa tranquilamente hasta que detecta nando al añadir estratos de comportamiento proporcionarán tres servomotores iguales a
radiación infrarroja, procedente por ejemplo más y más complejos. los que se emplean en modelismo y radio
de un tobillo humano próximo. Cuando control para hacer girar la dirección de los
esto se produce se activa su módulo de loco- Hexápodos coches o mover los timones de los aviones.
moción y en ese momento comienza a avan- Una vez nos hemos introducido en el Además, hemos de dar las gracias al modelis-
zar hacia la pierna del desprevenido sujeto. tema, comencemos por el principio. El pri- mo, que nos permite disponer de este tipo de
Claro está, la persona tiene tiempo para mer robot que se va ha describir es un hexá- motores a un precio relativamente asequible.
apartarse, pero mediante el módulo de guia- podo. Hagamos un poco de historia. El Un servomotor (foto 4) es un dispositivo
do Genghis puede ser implacable. microbot llamado HexWalker (foto 2) fue en forma de caja negra al que llegan tres
Se ha comprobado que sistemas de con- creado originalmente por los miembros de cables. Contiene un pequeño motor, una
trol muy sencillos pueden dar lugar a com- la sociedad R.S.S.C. (The Robotics Society of caja de engranajes, un potenciómetro de un
PC Práctico
Robótica bioinspirada (I)

valor aproximado de 5K y un pequeño cir- línea de control. Este tipo de pulsos


cuito integrado. está formado por una señal digital que
Este motor eléctrico en miniatura ataca a se genera aproximadamente cada 20
la magnitud que se ha de controlar: el giro milisegundos. La anchura de estos pul-
y posicionamiento del eje del motor. A sos va de un mínimo de 1 ms a un
su vez, el movimiento de rota- máximo de 2 ms.
ción angular del motor modifi- Aunque la relación an-
ca la posición del poten- chura del pulso y
ciómetro interno, que la posición del
controla un monoesta- eje no está es-
ble también integrado tandarizada, lo nor-
en el servomotor. mal es que trenes de
El eje del motor puede pulsos de 1,5 ms lleven el eje
ser girado hasta una del servo al cen-
posición angular tro de su rango,
específica mediante una anchura neutra.
señal de control. Mien- Si la anchura del
tras se mantenga esta pulso es de 1 ms,
señal de control, el ser- el servomotor se
vomotor mantendrá la posiciona en el
posición angular del «Foto 2». El HexWalker orginal. extremo izquier-
eje. Si la señal de con- do, mientras que
trol cambia, también cambia la posi- si el pulso tiene una anchura de 2 ms la . «Foto 4». Servomotor y sus mecanismos internos.
ción de eje (figura 2). posición del «servo» es el
extremo opuesto anchura del pulso producido por el timer
Conexiones (figura 2). Esta técni- interno. A su vez, el período del timer inter-
Los servomotores ca se conoce como no es controlado por el potenciómetro aco-
tienen tres cables: el modulación por plado al eje del «servo». La diferencia entre
anchura de pulso, la anchura del pulso de entrada y la anchura
en ingles PWM del pulso interno se utiliza como señal de
de masa (-), (Pulse Width Modu- error. La lógica del «servo» se encarga de
el de alimenta- lation). determinar la dirección en la que ha de girar
ción (+) y el de El servomotor (figura 3) el motor para minimizar dicho error. Para
la señal de con- «Foto 3». trabaja comparando la anchu- ello activa los drivers de salida apropiados. El
trol (foto 4 y StampBug the ra del pulso de entrada con la motor girará modificando la posición del
figura 1). El Milford Instruments. potenciómetro de retroalimentación.
positivo se co- Cuando llega el siguiente pulso se
necta a + 5 y el de señal de control a una vuelve a realizar la comparación, compro-
fuente de pulsos variables entre 1 y 2 mili- bando de forma continua la posición del
segundos de duración (figura 3) que se eje y realizando también constantemente
repiten con una frecuencia de unos 12-20 las correcciones necesarias en la posición
ms. Los cables de los «servos» siguen casi del mismo.
siempre el mismo código de colores; por Como se ha podido apreciar, se trata
ejemplo en los Futaba el color rojo (V+), de un bucle de retroalimentación negati-
negro (masa) y blanco (señal de control). va. Si la posición del potenciómetro no se
Los fabricantes JR y Graupner colocan el iguala con la posición deseada del eje, el
cable de la señal de control de color naran- motor se moverá hacia adelante o hacia
ja, mientras que algunos «servos» Sanwa atrás, hasta que la posición del potenció-
tienen el cable de masa de color azul. metro sea equivalente a la posición desea-
da del eje. En este momento la corriente
Funcionamiento del motor se apaga.
La velocidad del motor, así como la La precisión al posicionarse depende
dirección del movimiento de los «servos» tanto de la precisión del potenciómetro
se controla mediante servopulsos modula- como de la precisión de la anchura de los
dos en amplitud. En la «Figura 2» se pulsos que llegan al motor. La mayoría de
muestra la forma de estos servopulsos. El los modelos de servomotores consiguen
servomotor convierte los servopulsos en una resolución de 0,5 grados.
un movimiento mecánico. La magnitud Cuando se reduce la señal de error a un
del giro del eje del «servo» es proporcio- nivel aceptable, el eje del «servo» se
nal a la anchura del pulso que llega por la encuentra en la posición correcta. En ese
PC Práctico
Robótica bioinspirada (I)

intentando cancelar el minúsculo segundos como el Futaba FPS3003, hasta el


error, haciendo girar el motor atrás o FPS9402 con un par de 8 Kg, una velocidad
adelante en un movimiento conocido de giro de 0,1 segundos y engranajes metá-
como hunting. La electrónica interna licos. Aunque para el aprendizaje es sufi-
tiene como misión mantener la ciente un «servo» de los más baratos, los
anchura de los pulsos del monostable mejores tienen engranajes metálicos y
interno igual a la anchura de los pul- mayor velocidad de giro, que junto al par de
sos de entrada. fuerzas determinan su precio.
Debido a que hay una relación Dando un repaso a las revistas de radio-
fija entre el ángulo de rotación del control, se puede constatar que en los comer-
potenciómetro y la anchura del pulso cios españoles dedicados a estos menesteres
interno, la magnitud de rotación del los «servos» más económicos tienen un pre-
«servo» se puede controlar directa- cio que ronda las 2.500-3.000 pesetas, como
mente con la anchura de los pulsos los servos Futaba FPS-3003 o los FMA300,
aplicados (figura 3). En conclusión, con un par de unos 3,5 Kg y una velocidad
el circuito electrónico integrado en de giro de unos 0,23 segundos. Podéis echar
el motor convierte la anchura
del pulso de entrada en una
posición determinada del eje
de salida.

Ventajas
Entre las ventajas que
aporta el empleo de un
«servo» están las siguientes:
poco peso, alta potencia (par
«Foto 5». Módulo 0-1 y el de aprendizaje. de fuerza), fiabilidad, fortale-
za (los «servos» y su electró-
momento la señal de error suele ser de unos nica normalmente sobreviven a cho-
5µs, diferencia entre el ancho del pulso de la ques y funcionan en ambientes de
señal de entrada y el ancho del pulso de la alta temperatura, suciedad, hume-
señal interna. Esto se corresponde con una dad y vibraciones), simplicidad, ver-
fracción de grado del recorrido del servomo- satilidad y bajo coste.
tor. Al ser el cero demasiado crítico, cuando En las tiendas de modelismo pue-
el error está en este rango, conocido como den encontrarse muchos tipos de ser-
zona muerta o guard band, el «servo» apaga vomotores de las casas Futaba, FMA,
los drivers del motor. Multiplex, Sanwa, etc. con par de
Si la señal de error no está por debajo de fuerza que va desde unos 3 Kg/cm y
estos 5µs, la electrónica interna continuará una velocidad de giro de unos 0,22

Las bondades de C
Hoy en día el uso del lenguaje C se ha extendido en la programa- —Incluye variables predefinidas que hacen referencia a los dife-
ción de sistemas hardware debido a que, a pesar de ser un lenguaje rentes registros de los microcontroladores.
de alto nivel, está relativamente cerca del lengua- —Permite el empleo de expresiones de 8 y 16 bits.
je ensamblador. Aunque al principio puede ser algo —Gran variedad de funciones integradas en el
complicado, una vez dominada la sintaxis y el uso compilador como conversión a BCD, transmisión
de punteros (básico en este lenguaje), el C se vuel- serie, etc. También permite la inclusión de rutinas
ve una herramienta de programación muy potente de tratamiento de interrupciones.
y eficaz. —Inserción de código ensamblador.
En los artículos publicados anteriormente se pro- —Empleo y construcción de librerías para uso
metió que también se trataría el lenguaje C para los posterior.
microcontroladores PIC. En estos meses se ha esta- —Entorno de programación amigable e intuitivo
do preparando la versión en castellano del compila- que incluye un asistente de configuración del micro-
dor C2C desarrollado por Pavel Baranov. Entre las características más controlador que nos permitirá, entre otras cosas, la programación
destacadas del compilador C2C encontramos las siguientes: multitarea y configurar de forma fácil el modo de operación del micro-
—Compatible con la mayoría de los microcontroladores PIC y Scenix. controlador.
—Soporta variables de 8 y 16 bits, al igual que matrices unidi- —Características básicas del lenguaje C como definición de funcio-
mensionales de 8 bits y punteros. nes y procedimientos que permiten el paso/devolución de parámetros.
PC Práctico
Robótica bioinspirada (I)

(par de fuerza) que se aplique al


«servo» y puede llegar en algunos
casos a ser mayor de 1 A si el «servo»
se para sin poder llegar a la posición
especificada.

Esquema de control
Hay dos formas de contemplar
este tipo de esquemas de control.
Desde el punto de vista del con-
trolador, es un sistema de bucle
abierto. No existe retroalimenta-
ción entre el servomotor y el siste-
ma que genera los pulsos. Desde el
punto de vista del nivel local
(interior del «servo») es un siste-
ma de bucle cerrado. La electróni-
ca del servomotor está constante-
mente tratando de eliminar la
«Figura 1». Conexiones de diferentes marcas de diferencia entre los comandos y la
servomotores. posición actual.
un vistazo a algunas páginas web de estos Esta doble personalidad es una
comercios: www.ciberia.es/Relcomhobbyes característica muy importante, ya
o www.rcompany, entre otras. que el «servo» necesita una atención
El voltaje de alimentación nominal, mínima por parte del controlador,
suele ser el que pueden proporcionar cuatro pero a su vez de forma constante resiste acti-
baterías de NiCd 4 x 1.2 V = 4.8 V. En la vamente corrigiendo las influencias externas
práctica este valor puede variar. Algunas que pueden llevar el eje lejos de la posición
compañías de radiocontrol fabrican paque- ordenada.
tes de cinco celdas de NiCd que proporcio- Aunque los «servos» son los posiciona-
nan un valor nominal de 6 V. dores casi ideales, son también fáciles de
Si el voltaje es demasiado bajo, la res- modificar para aplicaciones especiales. Por
puesta del «servo» se hace más lenta. En el ejemplo, se puede alterar el circuito de
hexápodo se emplearán cuatro pilas alcali- retroalimentación para modificar el rango
nas de 1,5 V. Aunque puede parecer que el de giro. La mayoría de los servomotores se
consumo será alto, el consumo de corriente han diseñado para un viaje de unos 90º,
depende en su mayor parte del momento pero en muchos casos esta limitación
puede superarse.
Cuando se necesite
mayor cantidad de giro de
la que el fabricante ha
dotado al «servo», la mejor
solución es actuar modifi-
cando el potenciómetro del
circuito de retroalimenta-
ción. Para ello se añade una
resistencia de un valor
comprendido entre 1K5 a interno y se sustituye por dos resistencias de
2K2 en serie con cada 2K5, el circuito interno creerá que el eje del
extremo del potenciómetro motor se encuentra siempre en posición cen-
y luego se vuelve a montar. trada, así pues, si se envía señal de control
De esta forma los pulsos de para que se posicione a la derecha, el
la señal de control aumen- «servo» tratará de corregir continuamente
tarán el rango de giro. la posición y girará en ese sentido. Se tiene
También se puede mo- de este modo un motor con engranajes cuya
dificar el «servo» para que dirección de rotación pueden ser controlada
«Figura 2». Posiciones del eje de un servomotor según la anchura del
pulso de entrada. Un tren de pulsos, con repetición comprendida entre se comporte como un por un tren de pulsos mediante la técnica
40 y 100Hz, controla la posición del «servo». Típicamente los «servos» pequeño motor controla- PWM.
tienen un rango de 90º, pero puede ampliarse a 180º o más. Muchos dor mediante pulsos. Si se Por otro lado, si se aplican señales analó-
«servos» poseen una resolución de la posición mejor de medio grado. quita el potenciómetro gicas al circuito de retroalimentación se
PC Práctico
Robótica bioinspirada (I)

pueden mezclar los efectos giramos 15 grados a la


del control digital remoto derecha en los displays apa-
con el ajuste analógico recerá 15, mientras que si
local. Estas modificacio- giramos 20 grados a la
nes se detallarán extensa- izquierda en los displays
mente en posteriores artí- aparecerá el número –20.
culos, ya que para los
hexápodos los «servos» se Programa
emplean tal y como los En el listado del progra-
diseñó el fabricante. ma (dividido en cuatro par-
tes a lo largo del artículo) se
Comprobador dan todas las explicaciones
La aplicación de este para su perfecto entendi-
mes consistirá en realizar miento. En él sólo aparecen
un comprobador de servo- «Figura 3». Esquema de bloques de funcionamiento de un servomotor dos instrucciones nuevas:
motores, empleando para ello el Módulo-01 control PWM se obtiene del pin PB0, PULSOUT y GOSUB-RETURN. Además
y el de aprendizaje (foto 5). disponible en una de las bornas el conec- del programa que se presenta para los lecto-
Se utilizan dos pulsadores del Módulo tor de salida CN3 del Módulo de apren- res que siguen el curso de Pbasic, el mismo
de aprendizaje: el A0 que al ser pulsado dizaje. También la alimentación del también se ha escrito completamente en
hará girar el motor en pasos de 1º hacia «servo» se ha tomado del Módulo de ensamblador.
la derecha y el A4 que girará el motor en aprendizaje, ya que se dispone de +5 en PULSOUT Pin, Duración
pasos de 1º hacia la izquierda. La señal de las bornas de CN4, mientras que la masa Pin: Valores de 0 a 7.
se encuentra junto con PBO en la Duración: Hasta 655,350.
borna CN3. Esta instrucción genera un pulso en Pin
Los displays de siete segmentos de un ancho especificado en Duración en
del Módulo de aprendizaje indicarán unidades de 10µs. Como la variable Dura-
la posición del eje del «servo» en ción es de 16 bits, pueden generarse pulsos
número de grados girado. Para que de hasta 655.350µs. El pulso es generado
funcionen los displays de siete seg- invirtiendo la polaridad del Pin dos veces,
mentos, deberemos cambiar la posi- por lo que el estado inicial del mismo deter-
ción de los jumpers J5, J6, J7, J8, J9 mina su polaridad. El Pin es programado
y J11, de tal forma que ahora en automáticamente como salida y puede estar
lugar de controlar los botones A1, comprendido entre 0 y 7.
A2 y A3, ataquen los transistores Ejemplo:
que controlan los displays. Pulsout 5, 100 ‘Envía un pulso de 1 ms de
En la posición central del motor ancho al Pin 5
marcarán 00, mientras que si se GOSUB Etiqueta
avanza hacia la derecha irán apare- Esta instrucción salta a la línea que
ciendo los grados del giro, es decir, si comienza por Etiqueta y ejecuta el código
que le sigue. Cuando encuentra la instruc-
ción RETURN regresa y continúa la ejecu-
Bibliografía ción del programa por la línea siguiente a la
instrucción GOSUB. El código que se
Microcontroladores PIC. La solución en un chip. Martín Cuenca, E., Angulo J.M y Angu- encuentra entre Etiqueta y la instrucción
lo, I. (1998). 2ª Edición. Paraninfo-ITP. RETURN se conoce como subrutina.
Diseño y Realización de Aplicaciones Industriales con Microcontroladores PIC. Martín Las subrutinas se pueden anidar, es decir,
Cuenca, E. y Moreno Balboa, J.M. (en preparación). es posible que una subrutina llame a otra
Fundamentos de Electrónica Moderna. Teoría y Diseño de Circuitos. subrutina, pero el anidamiento está restrin-
Martín Cuenca, E. y Moreno Balboa, J.M. (1998). gido a un máximo de cuatro niveles.
A new model describing coordination pattern of the legs of a Walking Stick Insect. RETURN
Cruse, H. (1997). Biological Cybernetics 107-113. Retorno de una subrutina. Como
Más información
A Model of Leg coordination in the stick insect, Carasius mososus: I. A geome- Los lectores
se ha indicado, cuando se encuentra
trical consideration of contralateral and ipsilateral coordination mechanims betwe- interesados en adquirir
el compilador de Basic
una instrucción RETURN se con-
PBC o el compilador de
en two adjacent legs. Dean, J. (1991). Biological Cybernetics 393-402. C en castellano C2CWes
tinúa la ejecución del código que
A Design concept for Legger robots derived from walking stick insect Weide- pueden solicitarlo
directamente al autor
sigue a la instrucción GOSUB que
mann, H.J. et al. (1993). Proceedings of IEEE/RSJ International Conference on Intelli- del artículo. generó el salto a la subrutina.
gent Robots and Systems. 545-552.
Mathematical recreations. Insectoids invade a field of Robots Dewdney, A.K. (1991). Dr. Eugenio Martín Cuenca
PC (emartin@goliat.ugr.es)
Scientific American. 93-95. ACTUAL

Ing. Luis Javier Asensio Morcillo

You might also like