17 agosto 2009

Tarjetas de control del movimiento en el diseño de máquinas

La tecnología avanza rápido, y ahora los ingenieros tienen la oportunidad de trabajar con sofisticadas propiedades de control del movimiento de máquinas. El propósito de este artículo es ilustrar cómo pueden beneficiarse los diseñadores de máquinas OEM con el uso en su diseño de tarjetas de control de movimiento. Las tarjetas de control del movimiento son una forma popular de realizar control del movimiento en aplicaciones tales como la fabricación ligera, máquinas de laboratorio, e instrumentación. Comenzaremos hablando de las funcionalidades básicas de las tarjetas de control del movimiento y luego hablaremos de las más novedosas y avanzadas características como la programabilidad y la comunicación.
Ideas básicas sobre las tarjetas de control del movimiento
Originalmente, las tarjetas de control del movimiento eran tarjetas conectables al PC que permitían el uso de una plataforma de PC standard, fundamentalmente MS-DOS. Esta es una solución muy atractiva ya que el rendimiento del PC se ha incrementado exponencialmente a la vez que los costes han caído muy rápidamente. Las tarjetas iniciales se basaban en ISA-bus. Al comienzo de las tarjetas aparecieron soluciones como EISA- y PCI-bus, e incluso soluciones de bus industriales como VME. Al mejorar la tecnología de semiconductores, los PC pudieron ser más pequeños y se creó el PC/104 standard alrededor de ISA-bus, para soportar el uso de sistemas de control de PC en espacios más pequeños. La tarjeta standard soporta usualmente entre 1 y 4 ejes, pero hay algunas que soportan hasta 32 ejes. Un sistema de tarjetas de control del movimiento tiene los siguientes componentes:
  • PC motherboard.
  • Tarjeta de control del movimiento.
  • Tarjeta I/O opcional.
  • Tarjeta de interconexión.
  • Chasis.
La plataforma basada en PC fue el origen de la tarjeta de control de movimiento, y lo primero que os viene a la mente es la más corriente PCI-bus card. Pero recientes tecnológicos han cambiado este panorama y han hecho más tenue la línea entre tarjetas de control del movimiento y controladores del movimiento industriales.
Recientes desarrollos de la tecnología del control del movimiento
En los últimos años las tarjetas de control del movimiento se han beneficiado de avances en el diseño y fabricación de chips. Una ingente cantidad de sofisticadas características se van añadiendo sin coste adicional o con un pequeño coste. Por ejemplo, 16-bit ADCs, I/O de propósito general, DACs de 16-bit, etc. Los nuevos procesadores disponibles están revolucionando el mundo del control del movimiento al tener ahora bastante rendimiento como para hacer cálculos complejos que en el pasado tenían que ser encargados a los procesadores del PC. Entre las innovaciones más recientes e interesantes que podemos destacar podemos mencionar la memoria de programa no volátil, que sirve para descargar directamente programas a la tarjeta que pueden ser ejecutados por comandos del procesador anfitrión o algún otro disparador del sistema: I/O, contador, etc. Se avanza de esta forma tan sencilla hacia la inteligencia artificial del escenario industrial incrementando el rendimiento total del sistema. Esta nueva forma de trabajar es a la vez más simple a la hora de desarrollar el código de la tarjeta, pues podemos ensayarlo y depurarlo independientemente del sistema y eludir así los problemas de depurar un sistema más complejo. En la mayoría de los casos, los programas descargados obligan a aprender el lenguaje de comandos del propietario para programar la tarjeta, pues la mayoría de los fabricantes de tarjetas tienen sus propios lenguajes y herramientas, pero hay algunos que soportan lenguajes de programación standard como C/C++ o standards industriales como CEI 61131-3 para programación de tarjetas. Como no podía ser de otra manera, Ethernet ha desembarcado con fuerza también en las comunicaciones entre host y tarjeta, lo cual elimina la necesidad de PC-bus y PC motherboard. Los datos pueden transmitirse ya a 100 Mbps (pronto a 1 Gbps). La tarjeta puede conectarse a alguna red serie de alta velocidad y distribuir el procesado del movimiento a los amplificadores y motores y simplificar el cableado. Todo ello es posible en arquitectura modularizada o distribuida. Las características avanzadas de las tarjetas de control del movimiento son ya infinitas, mencionemos algunas de las más destacables.
  • Programabilidad: Código descargable ejecutado por el procesador de la tarjeta. La capacidad para ejecutar programas desde las tarjetas de control de movimiento es una extensión natural de la tecnología embebida de la pasada década. Con los avances en la tecnología de memoria no volátil y MCUs/DSPs, el coste de crear una plataforma programable ha caído significativamente.
  • Selección del perfil del movimiento: S-curve.
  • Algoritmos de control: Velocity/acceleration feed-fordward, bi-quad filters.
  • Comunicación realzada: Comunicaciones serie de alta velocidad sustituyendo o complementado al PC-bus: Ethernet, CANbus, RS232/485, etc.
  • Advanced feedback technology: Absolute encoder: SSI, EnDAT, Sin/Cos y Resolver.
  • Puerto de expansion de características: Bus de 16 o 32 bits que permiten tarjetas plug-in o daughter que añaden nuevas características/capacidades a la tarjeta.
  • Factor de forma stand-alone: Capacidad para operar remotamente desde un procesador/computador host de sistema.
Ventajas de cada sistema de programación
La creación de su propio lenguaje de comandos tiene mucho sentido para los fabricantes de tarjetas de control del movimiento. Evita la necesidad de un compilador y minimiza el riesgo de limitar la flexibilidad de la serie de comandos a funciones relacionadas con el movimiento. Se evita la creación de programas de control que afecten adversamente la experiencia del usuario y el resultado final. Esto permite optimizar la sintaxis del lenguaje para acoplar la funcionalidad de la tarjeta. Con un lenguaje de comando del propietario de la tarjeta, el fabricante controla todo lo que el usuario puede hacer y así se minimiza el riesgo cuando el usuario está escribiendo programas. El riesgo de crear código que pueda dañar el procesador de la tarjeta es por tanto mínimo. Los únicos errores que pueden cometerse son que el sistema no funcione como se espera. Estos programas obviamente conllevan la necesidad de desarrollar herramientas adaptadas al cliente, pero incluso esto es un beneficio. Para el usuario estos programas de sintaxis limitada son muy fáciles de aprender y las herramientas de programación están integradas con las herramientas de ajuste y configuración del movimiento. Los límites de estos programas son que la sintaxis restringe lo que puedes hacer y estos programas sólo sirven para las tarjetas de un vendedor. La actual tendencia de los usuarios es que se empiezan a preferir los lenguajes de programación en código abierto. Hoy por hoy, C/C++ es el standard de programación más comúnmente usado. Con las mejoras en las tecnologías del compilador y linker, el código C está casi tan optimizado como el código de lenguaje ensamblador puro lo cual lo hace muy rápido y eficiente. Consecuentemente, algunos fabricantes han comenzado a soportar lenguajes de programación standard.
Bibliografía: Erlendur Kristjansson. Motion Control Cards for Machine Design. PMD Palabras clave: PC-based control system, industrial motion controllers, memoria de programa no volatile, distributed architecture, modularized architecture.
Publicar un comentario