Control de un elevador de carga utilizando una plataforma de procesamiento digital

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 1 Control de un elevador de carga utilizando una plataforma

12 downloads 117 Views 608KB Size

Recommend Stories


Procesamiento Digital de Imágenes
Procesamiento Digital de Imágenes Apuntes del curso impartido por el Dr. Boris Escalante Ramírez Agosto, 2006 2. 2.1. Fundamentos de la Imagen Digit

3 Procesamiento digital de
3 Procesamiento imágenes digital de Una vez preparada la escena para ser capturada por las cámaras de Visión Artificial, se deberá de tratar el as

CONTROL DE UN ROBOT HUMANOIDE UTILIZANDO MOTION RETARGETING
Control de un robot humanoide utilizando Motion Retargeting. Medina y Capacho. CONTROL DE UN ROBOT HUMANOIDE UTILIZANDO MOTION RETARGETING CONTROL OF

Control Digital para Conmutador Bajo Carga M-2001B
CONTROLS Control Digital para Conmutador Bajo Carga M-2001B Control Digital de Conmutador Bajo Carga para Transformadores y Reguladores • El control

Story Transcript

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

1

Control de un elevador de carga utilizando una plataforma de procesamiento digital A. E. Betancur, A. P. Quintero y M. Alvarez. Universidad de Antioquia

Abstract—En el presente artículo se describe el diseño e implementación del controlador de un elevador de carga utilizando una plataforma de procesamiento digital. Se parte de las especificaciones y descripción del sistema hasta llegar a la solución de hardware y software empleando microcontroladores de bajo costo. Index Terms—control digital, elevadores, lenguajes programación, microcontroladores, sistemas embebidos.

C

de

I. INTRODUCCIÓN

on el desarrollo acelerado de las técnicas y herramientas de diseño digital y con el aumento de la capacidad de integración microelectrónica se ha generado un aumento explosivo del número de equipos, ambientes y aplicaciones donde se han incorporado sistemas electrónicos basados en arquitecturas de computador. Estos sistemas, que se conocen como sistemas embebidos, se basan principalmente en microcontroladores, los cuales por su bajo precio y alto nivel de integración ofrecen soluciones en circuito para una gran variedad de aplicaciones. [1] El aumento de la complejidad de las aplicaciones y las exigencias de rápida puesta al mercado han modificado la manera de concebir el proceso de creación de sistemas basados en microcontroladores. Para poder responder a estas exigencias se hace necesario analizar metodologías de trabajo que permitan abordar la especificación, diseño, prueba e implementación de sistemas embebidos de una manera integrada. Las herramientas más utilizadas actualmente para enfrentar tales situaciones son: los compiladores de lenguajes de alto nivel, los generadores de código para aplicaciones específicas y las herramientas de co-diseño hardware software. [2] Gracias a lo anterior se han producido cambios significativos en el campo del diseño de controladores para elevadores. Los primeros controles, de tipo electromecánico, fueron desarrollados a partir de relés; posteriormente con el desarrollo de los sistemas digitales se implementaron controles que incluían microprocesadores los cuales se programaban en lenguajes de bajo nivel. Sin embargo ninguna de estas metodologías permite responder adecuadamente a las necesidades actuales. En este proyecto se diseña e implementa el software del controlador de un elevador de carga usando lenguaje C sobre

un microcontrolador de 16 bits. Para la realización del diseño se tomó como referencia el ascensor de carga o montaplatos, como un caso real del control de ascensores, considerando todas las especificaciones y restricciones propias del medio industrial en que estos operan. Para la validación del control diseñado se utilizó un prototipo a escala del ascensor, el cual cuenta con todas las señales y subsistemas del modelo real y que sirve como plataforma educativa en las áreas de sistemas de control digital y transporte vertical. Este diseño se implementó usando especificaciones estándar de la industria en cuanto a señales eléctricas y manejo de ruido. En la actualidad el sistema se encuentra en evaluación para su implementación en productos comerciales y la investigación continúa en el diseño de controles para ascensores con mayores prestaciones.

II. DESCRIPCIÓN DEL SISTEMA A. El ascensor Un ascensor se define como un aparato elevador que se desplaza entre guías verticales, o débilmente inclinadas respecto a la vertical, atiende niveles definidos y está dotado de una cabina cuyas dimensiones y constitución permite el acceso de las personas o carga hacia él. El ascensor está provisto de un sistema de control el cual, según las necesidades del usuario, determina los desplazamientos de un piso a otro de la cabina, permite el acceso y la salida de personas y otras funciones que generan un mejor bienestar para quienes lo utilizan. [3]. Desde el punto de vista funcional un ascensor está constituido, independientemente del tipo, por una cabina para transportar verticalmente carga y/o pasajeros impulsada y controlada por cinco sistemas principales como se muestra ern la figura 1. 1) Sistema de seguridad: Este sistema está conformado por los dispositivos que actúan en caso de fallo o rotura de algunos elementos funcionales. Entre los dispositivos de seguridad se encuentran: el limitador de velocidad, el paracaídas y los amortiguadores. 2) Sistema de tracción: Es el encargado de ordenar el movimiento de las cabinas de ascensores o montacargas, maneja la secuencia de movimiento de acuerdo al tipo de máquina tractora. 3) Sistema de señalización y mando: Es el encargado de recibir órdenes de usuario y proporcionar información visual para los mismos. Esta conformado por visualizadores, botoneras, señales sonoras, etc.

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 4) Sistema de control (maniobra): Se denomina sistema de control o maniobra al que realiza las siguientes funciones: Dar la orden de marcha, aceleración, desaceleración y parada de la cabina al sistema de tracción. Comprobar el cumplimiento de los requisitos impuestos por el sistema de seguridad, antes de poner en marcha el ascensor y detenerlo mediante una parada de emergencia en caso de que durante el viaje surgieran anomalías. Recoger información de la posición del ascensor en el hueco para proceder a la parada en el piso correspondiente. Registrar las llamadas de los usuarios, y las plantas a las que corresponden, para atenderlas en la secuencia determinada por el tipo de control. [3] 5) Sistema de Inspección: Es un sistema utilizado para realizar la calibración y el mantenimiento de los elevadores, consta de una botonera ubicada en el techo de la cabina y solo atiende las órdenes del personal de mantenimiento.

Figura 1. Subsistemas del ascensor B. Especificaciones del sistema 1) Tipo de maniobra: De acuerdo a las especificaciones concretas que presenta un ascensor de carga, la maniobra más utilizada a nivel mundial es la maniobra universal, dado que por sus características de atender solamente una llamada a la vez: el ascensor viaja siempre directamente a su planta de destino, no dando lugar a paradas intermedias cuando va cargado, para tal efecto dispone en la cabina de pulsadores para cada piso, mientras que en los pisos existe un pulsador de llamada del ascensor así como un indicador luminoso que informa si el ascensor está en servicio. [3] 2) Señales que maneja el sistema: El sistema posee un gran número de entradas y salidas, entre las cuales se distinguen los siguientes grupos:

2

TABLA I. SEÑALES DE ENTRADA Y SALIDA DEL ASCENSOR Entradas Salidas Botoneras. Ordenes para el motor de tracción. Sistemas de seguridad. Ordenes para los motores de puertas. Sensores y microsuiches. Visualización, indicadores direccionales y posicionales, señales sonoras, etc. Pulsadores de cabina y Display de cristal líquido. exteriores. Teclas para programación de parámetros.

3) Selección de la plataforma de procesamiento: Para la implementación del hardware y software del sistema es necesario elegir una plataforma de procesamiento que cumpla con los requerimientos de la aplicación. En el diseño del controlador los parámetros principales a tener en cuenta en la selección de la plataforma son: [4] -La cantidad de puertos de entrada y salida: Los cuales se requieren gran cantidad dado el alto número de señales que es necesario manejar. -Los periféricos: Se requiere fundamentalmente de timers para el conteo de los tiempos y de un puerto serial para reprogramación, reporte de información, etc. -Memoria: Dado que el consumo de memoria de la aplicación no es elevado, se pueden encontrar sistemas en donde la memoria de programa y la memoria de datos estén integradas dentro del procesador. También es necesario contar con memoria EEPROM para almacenar parámetros y otros datos de configuración. -Interrupciones: Necesarias para casos críticos del ascensor y para optimizar tareas y procesos. -Costo: Aunque un ascensor no es una aplicación muy sensible al costo se busca que la plataforma de procesamiento incluya dentro del chip todos los recursos de memoria y periféricos necesarios para disminuir los costos finales de fabricación de tarjetas electrónicas debido a que los diseños están pensados para una producción masiva. El Microcontrolador MC68HC912B32 de Motorola de 16 bits, satisface las necesidades concretas del diseño. Sin embargo, debe anotarse que el diseño del software deberá permitir de una manera estructurada cambiar el procesador en el caso de que la aplicación lo requiera o de que una posible expansión lo amerite [5]. III. IMPLEMENTACIÓN DE LA SOLUCIÓN A. Implementación del hardware Se diseñaron tarjetas e interfaces para la adaptación de las señales eléctricas del ascensor de carga hacia el sistema de procesamiento digital (CPU) y viceversa. Como el número de señales de entrada y salida es considerablemente alto fue necesario evaluar diferentes alternativas para la interconexión de estas con la plataforma digital. Finalmente se utilizó una arquitectura tipo procesador que cuenta con un bus de direcciones, un bus de datos y un bus de control. Esta arquitectura consta de: una CPU que maneja los buses y direcciona las tarjetas de entrada y salida; un Rack para la

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

3

interconexión de las tarjetas con la CPU. Adicionalmente el sistema cuenta con un puerto para comunicación serial, circuito para depuración en tiempo real (BDM), display de cristal líquido (LCD), teclado de programación y puertos I/O disponibles. El esquema del hardware diseñado se muestra en las figuras 2 y 3.

Figura 4. Modelo de capas de software.

Figura 2: Dispositivos de entrada y salida del controlador

Figura 3. Sistema de decodificación de señales de I/O B. Implementación del software El software del controlador se desarrolló en un lenguaje de alto nivel y empleando una estructura de capas. El objetivo fue subdividir la complejidad de la aplicación en pequeños módulos. Se definieron tres capas de software: una capa de acceso al hardware representada por los controladores (drivers) de los periféricos, que permite abstraer los detalles de bajo nivel de los dispositivos utilizados; una capa de interfaces de aplicación APIs, en la que se definen los servicios principales que debe ofrecer el ascensor y una capa de aplicación en la que se establece el schedulling de las tareas del sistema. La utilización de este tipo de estructura de programación permite la realización de un diseño abierto, flexible y escalable que posibilite modificar fácilmente el software o el hardware cuando la aplicación así lo requiera, permitiendo la incorporación de nuevas funciones y tareas. La siguiente figura ilustra los componentes de las capas del modelo de software.

1) Capa de acceso al hardware: El software del controlador debe utilizar diferentes recursos de hardware como son: los timers, puertos de entrada y salida, interfaces de comunicación serial, memoria EEPROM, CPU de periféricos etc. Para facilitar el desarrollo de los controladores se creó una librería de definiciones que contiene la especificación de las conexiones de entrada y salida. Lo anterior permite modificar fácilmente la estructura de las conexiones físicas de los dispositivos sin tener que modificar el código de los controladores o de las aplicaciones. 2) Capa de controladores de dispositivos: Se define como la capa de interfaz entre el hardware y el software. Permite al programador abstraer los detalles del hardware utilizado proveyendo una interfaz común de comunicación con los dispositivos mediante la especificación de funciones de lectura, escritura y configuración. Por las dimensiones del proyecto no se empleó un sistema operativo, por lo tanto, la definición de los mecanismos de acceso al hardware, sincronización, exclusión mutua y comunicación entre tareas fue implementada dentro de la aplicación. Las dependencias con la plataforma del procesador: configuración de puertos, activación de las interrupciones y manejo de modos de bajo consumo de potencia, se definieron mediante macros de lenguaje C. Además la especificación de la interconexión del hardware con el procesador se construyó por medio de definiciones de librería, lo que permite en un momento dado, reemplazar partes del hardware de manera modular, requiriendo únicamente escribir un nuevo controlador. Los controladores no siempre están relacionados con elementos externos de hardware del sistema, sino también con los periféricos incorporados dentro del microcontrolador como son: los módulos de temporización, conversión analógico a digital, comunicación serial, etc. De esta manera los servicios prestados por esos módulos se abstraen a funciones de alto nivel, y la declaración queda separada de la implementación, lo cual permite en el caso de un cambio en la plataforma del procesador, reemplazar la implementación del servicio sin alterar la funcionalidad de las demás entidades del software que lo utilizan. Algunos de los controladores implementados son: -Controlador para lectura de entradas y actualización de salidas: Define la forma de interconexión entre el microcontrolador y las tarjetas de entrada y salida. -Controlador del módulo de cristal líquido LCD: Define la interconexión del módulo LCD con el microcontrolador y se define las funciones de entrada/salida de bajo nivel, de

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < escritura de datos y configuración. -Controlador del módulo temporizador del microcontrolador. -Controlador de la memoria EEPROM del microcontrolador, el microcontrolador MC68HC912B32 cuenta con 768 bytes de memoria EEPROM que se utiliza para almacenar los parámetros del sistema, tales como: número de paradas, tipo de motor, tipo de puertas, tiempos, etc. 3) Capa de librerías auxiliares: Son funciones sobre las que se soporta la aplicación. Son invocadas por la capa de aplicación y no contienen ningún detalle de hardware. Algunas de ellas son: -Librería para el manejo del motor de tracción: Se encuentran allí las funciones que tienen que ver con el funcionamiento y manejo del motor. void Subir (void) void Bajar (void) void Parar(void) void Nivelar(void)

// Orden de marcha en ascenso. // Orden de marcha en descenso. // Orden de detención del motor. // Nivelación del equipo

-Librería para el manejo de tiempos: Administra los tiempos del sistema necesarios para: el tiempo máximo entre pisos, tiempo máximo para abrir y cerrar puertas, tiempos de protección, etc. -Librería para el manejo de la visualización: Proporciona las órdenes de visualización a los respectivos periféricos, como: piso en el que se encuentra la cabina, sentido de viaje, luz de ocupado. 4) Capa de interfaces de aplicación (API’s): Desde el punto de vista de software el controlador de un ascensor es un sistema reactivo de tiempo real. La mayoría de las señales son puras, es decir sólo importa su presencia o ausencia y no tienen un valor entero asociado a ellas. La programación de este tipo de aplicaciones puede desarrollarse con una metodología orientada a eventos por medio de máquinas de estado finito [5]. En esta capa se desarrollan funciones de alto nivel relacionadas directamente con los servicios principales del ascensor y representan el núcleo del controlador. Fundamentalmente las funciones de esta capa esperan una señal de activación del hardware y responden con una acción determinada, por lo que la programación se basó en eventos reactivos. Esta capa está soportada sobre las capas de controladores y librerías auxiliares, por lo tanto no tiene dependencias directas con el hardware y es altamente portable. Algunas de las funciones implementadas son: -Power Up: esta rutina se ejecuta cuando arranca el programa con el fin de sincronizar y posicionar el ascensor ya sea en la última o en la primera parada. -Conteo de Tiempo entre Pisos: Se encarga de contar el tiempo que se demora la cabina entre pisos de acuerdo a la velocidad del equipo y a la separación física de los mismos, con estos tiempos se puede calcular el tiempo necesario para desacelerar el equipo de acuerdo a la velocidad y a la separación entre pisos. -Llamadas: Se tienen en cuenta las llamadas exteriores y de cabina de los usuarios y se decide de acuerdo al tipo de maniobra, cual llamada se atenderá primero. De acuerdo con

4

la llamada elegida se le asigna valor al piso de destino y se registra la luz de ocupado. En esta rutina también se tienen en cuenta la apertura y cierre de puertas cuando sea pertinente. -Desplazamiento: Al invocar esta rutina se conoce la posición actual del ascensor y se tiene el piso de destino cargado desde la rutina de llamadas, con estas condiciones se ejecuta el desplazamiento desde el piso actual hacia el piso de destino, decidiendo si debe subir o bajar. -Puertas: las funciones de abrir y cerrar puertas trabajan ya sea por órdenes directas mediante los respectivos pulsadores de abrir y cerrar, o por llamados desde otras rutinas como la rutina de llamadas. Después de realizado un desplazamiento entre pisos, el equipo invoca la rutina de abrir puertas. -Seguridades: Se encarga de vigilar los dispositivos de seguridad y protección para los usuarios y personal de mantenimiento. -Inspección: Esta rutina permite al personal especializado, realizar ajustes, mantenimiento y chequeos al ascensor. -Menú de programación: Permite programar los parámetros del elevador, por medio de un teclado de programación y una interfaz visual (LCD). Algunos de los parámetros que se pueden programar son: número de paradas, tipo de motor, tipo de puertas, número de accesos, tiempos, etc. Al salir del menú de programación, los parámetros son almacenados en memoria EEPROM. 5) Capa de aplicación de usuario: En esta capa se implementa la aplicación principal del usuario basada en las APIs. La aplicación desarrollada implementa un control general. La maniobra universal utilizada por el ascensor de carga está implementada en una función de las API’s y es fácilmente adaptable a elevadores comerciales y de pasajeros. El funcionamiento general del sistema se resume así: se inicializa el sistema, se realiza la programación de los parámetros del elevador y se almacenan en memoria EEPROM, se realiza la sincronización del sistema mediante el power up y se procede a realizar el conteo de tiempo entre pisos para la posterior desaceleración del equipo cuando sea pertinente. Cuando el ascensor ya se encuentra sincronizado, con todos los parámetros y tiempos establecidos, el sistema queda trabajando en función de las rutinas de llamadas, desplazamiento y puertas, realizando las siguientes tareas: desplazamiento a los pisos solicitados de acuerdo a las llamadas, apertura y cierre de puertas, chequeo permanente de las señales de inspección y seguridades. El programa principal se ilustra en el siguiente diagrama de flujo de la figura 5. IV. ANÁLISIS DE RESULTADOS Las pruebas de funcionamiento de la maniobra implementada se hicieron en un prototipo a escala de cuatro paradas con todas las señales reales. En estas pruebas se verificó la funcionalidad del software de control desarrollado y se hicieron evidentes algunas ventajas con respecto a otras metodologías para el diseño de elevadores. Una de las principales consiste en que el sistema se puede ajustar a las condiciones de diferentes tipos de ascensor, motor, puertas, haciendo simplemente algunos cambios en el software. Para ello se realizó un programa único, parametrizable mediante un LCD y un teclado de programación. Algunos de los

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

5

parámetros programables y almacenados en memoria EEPROM son: número de paradas, tipo de máquina tractora, tipo de puertas, tiempo máximo entre pisos, número de accesos, etc.

Figura 6: Prototipo del elevador.

Figura 5. Diagrama de flujo de la aplicación principal. El tamaño del programa en memoria ROM (FLASH) fue de 14Kbytes, memoria de datos RAM 140 Bytes y memoria de parámetros EEPROM 70 Bytes, l En la figura 6 se muestra el prototipo que se construyó para la validación del sistema.

V. CONCLUSIONES -Desarrollar el software del controlador usando el lenguaje C permite estructurar el programa en interfaces de programa de aplicación, bibliotecas de código y controladores de hardware, de forma tal que la complejidad del problema se puede dividir en capas de software. Lo anterior posibilita la realización de un diseño abierto, flexible y escalable, con facilidades para la modificación del software y del hardware cuando la aplicación lo requiera. -La aplicación de las nuevas técnicas en el campo del diseño de controles para elevadores posibilita abordar el proceso de diseño utilizando metodologías formales para el desarrollo de software lo que permite disminuir el tiempo de desarrollo de las aplicaciones, crear sistemas escalables y modulares que faciliten la adición de nuevas características e independizar las partes más importantes del código de la plataforma de hardware usada. -Una de las grandes ventajas de la metodología de diseño utilizada es que no depende de la plataforma de procesamiento ya que todo el código fue realizado en lenguaje C. Se diseñaron drivers para dispositivos de hardware independizando los módulos de aplicación de los sistemas de hardware. De forma similar el uso de librerías de aplicación y APIs permite realizar fácilmente actualizaciones y modificaciones al sistema de control permitiendo su expansión para otro tipo de controles.

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < REFERENCIAS [1] [2] [3] [4] [5] [6] [7]

P. Paulin, C. Liem, M. Cornero et al, “Embedded Software in Real-Time Signal Processing Systems: Application and Architecture Trends”, Proceedings of the IEEE, Vol. 85, No. 3, Marzo 1997. G. De Michelli, R. K. Gupta, “Hardware/software co-design”, Proceedings of the IEEE , Vol 85, No 3, Marzo 1997. Betancur, A. y Quintero, A. “Control de un Elevador de Carga Utilizando una Plataforma de Procesamiento Digital”. Medellín: Universidad de Antioquia, 2002. Valvano, J. W. “Embedded Microcomputer Systems. Real Time Interfacing”. Brooks/Cole. 2000 MC68HC912B32TS/D Technical Summary 16-Bit Microcontroller. Motorola 1999. G. Berry et al. “The asynchronous approach to reactive and real time systems”. Proceedings of the IEEE , 79, Sep. 1991. http://www.fujitecamerica.com/elevators/gearless/gearless_main.htm

6

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.