Está en la página 1de 6

> 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

un microcontrolador de 16 bits. Para la realización del diseño


Abstract—En el presente artículo se describe el diseño e se tomó como referencia el ascensor de carga o montaplatos,
implementación del controlador de un elevador de carga como un caso real del control de ascensores, considerando
utilizando una plataforma de procesamiento digital. Se parte de todas las especificaciones y restricciones propias del medio
las especificaciones y descripción del sistema hasta llegar a la
solución de hardware y software empleando microcontroladores
industrial en que estos operan. Para la validación del control
de bajo costo. diseñado se utilizó un prototipo a escala del ascensor, el cual
cuenta con todas las señales y subsistemas del modelo real y
Index Terms—control digital, elevadores, lenguajes de que sirve como plataforma educativa en las áreas de sistemas
programación, microcontroladores, sistemas embebidos. 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
I. INTRODUCCIÓN actualidad el sistema se encuentra en evaluación para su

C 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
implementación en productos comerciales y la investigación
continúa en el diseño de controles para ascensores con
mayores prestaciones.
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 II. DESCRIPCIÓN DEL SISTEMA
como sistemas embebidos, se basan principalmente en
microcontroladores, los cuales por su bajo precio y alto nivel A. El ascensor
de integración ofrecen soluciones en circuito para una gran Un ascensor se define como un aparato elevador que se
variedad de aplicaciones. [1] desplaza entre guías verticales, o débilmente inclinadas
El aumento de la complejidad de las aplicaciones y las respecto a la vertical, atiende niveles definidos y está dotado
exigencias de rápida puesta al mercado han modificado la de una cabina cuyas dimensiones y constitución permite el
manera de concebir el proceso de creación de sistemas acceso de las personas o carga hacia él. El ascensor está
basados en microcontroladores. Para poder responder a estas provisto de un sistema de control el cual, según las
exigencias se hace necesario analizar metodologías de trabajo necesidades del usuario, determina los desplazamientos de un
que permitan abordar la especificación, diseño, prueba e piso a otro de la cabina, permite el acceso y la salida de
implementación de sistemas embebidos de una manera personas y otras funciones que generan un mejor bienestar
integrada. Las herramientas más utilizadas actualmente para para quienes lo utilizan. [3].
enfrentar tales situaciones son: los compiladores de lenguajes Desde el punto de vista funcional un ascensor está
de alto nivel, los generadores de código para aplicaciones constituido, independientemente del tipo, por una cabina para
específicas y las herramientas de co-diseño hardware transportar verticalmente carga y/o pasajeros impulsada y
software. [2] controlada por cinco sistemas principales como se muestra ern
Gracias a lo anterior se han producido cambios la figura 1.
significativos en el campo del diseño de controladores para 1) Sistema de seguridad: Este sistema está conformado por
elevadores. Los primeros controles, de tipo electromecánico, los dispositivos que actúan en caso de fallo o rotura de
fueron desarrollados a partir de relés; posteriormente con el algunos elementos funcionales. Entre los dispositivos de
desarrollo de los sistemas digitales se implementaron seguridad se encuentran: el limitador de velocidad, el
controles que incluían microprocesadores los cuales se paracaídas y los amortiguadores.
programaban en lenguajes de bajo nivel. Sin embargo 2) Sistema de tracción: Es el encargado de ordenar el
ninguna de estas metodologías permite responder movimiento de las cabinas de ascensores o montacargas,
adecuadamente a las necesidades actuales. maneja la secuencia de movimiento de acuerdo al tipo de
En este proyecto se diseña e implementa el software del máquina tractora.
controlador de un elevador de carga usando lenguaje C sobre 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) < 2

4) Sistema de control (maniobra): Se denomina sistema de


TABLA I.
control o maniobra al que realiza las siguientes funciones: Dar
SEÑALES DE ENTRADA Y SALIDA DEL ASCENSOR
la orden de marcha, aceleración, desaceleración y parada de la Entradas Salidas
cabina al sistema de tracción. Comprobar el cumplimiento de Botoneras. Ordenes para el motor de tracción.
los requisitos impuestos por el sistema de seguridad, antes de Sistemas de seguridad. Ordenes para los motores de puertas.
poner en marcha el ascensor y detenerlo mediante una parada Sensores y microsuiches. Visualización, indicadores
de emergencia en caso de que durante el viaje surgieran direccionales y posicionales, señales
sonoras, etc.
anomalías. Recoger información de la posición del ascensor
Pulsadores de cabina y Display de cristal líquido.
en el hueco para proceder a la parada en el piso exteriores.
correspondiente. Registrar las llamadas de los usuarios, y las Teclas para programación de
plantas a las que corresponden, para atenderlas en la secuencia parámetros.
determinada por el tipo de control. [3]
5) Sistema de Inspección: Es un sistema utilizado para 3) Selección de la plataforma de procesamiento: Para la
realizar la calibración y el mantenimiento de los elevadores, implementación del hardware y software del sistema es
consta de una botonera ubicada en el techo de la cabina y solo necesario elegir una plataforma de procesamiento que cumpla
atiende las órdenes del personal de mantenimiento. 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
Figura 1. Subsistemas del ascensor el caso de que la aplicación lo requiera o de que una posible
expansión lo amerite [5].

B. Especificaciones del sistema


1) Tipo de maniobra: De acuerdo a las especificaciones III. IMPLEMENTACIÓN DE LA SOLUCIÓN
concretas que presenta un ascensor de carga, la maniobra más A. Implementación del hardware
utilizada a nivel mundial es la maniobra universal, dado que Se diseñaron tarjetas e interfaces para la adaptación de las
por sus características de atender solamente una llamada a la señales eléctricas del ascensor de carga hacia el sistema de
vez: el ascensor viaja siempre directamente a su planta de procesamiento digital (CPU) y viceversa. Como el número de
destino, no dando lugar a paradas intermedias cuando va señales de entrada y salida es considerablemente alto fue
cargado, para tal efecto dispone en la cabina de pulsadores necesario evaluar diferentes alternativas para la interconexión
para cada piso, mientras que en los pisos existe un pulsador de de estas con la plataforma digital. Finalmente se utilizó una
llamada del ascensor así como un indicador luminoso que arquitectura tipo procesador que cuenta con un bus de
informa si el ascensor está en servicio. [3] direcciones, un bus de datos y un bus de control. Esta
2) Señales que maneja el sistema: El sistema posee un gran arquitectura consta de: una CPU que maneja los buses y
número de entradas y salidas, entre las cuales se distinguen los direcciona las tarjetas de entrada y salida; un Rack para la
siguientes grupos:
> 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.

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
Figura 2: Dispositivos de entrada y salida del controlador 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
Figura 3. Sistema de decodificación de señales de I/O mediante macros de lenguaje C. Además la especificación de
la interconexión del hardware con el procesador se construyó
B. Implementación del software por medio de definiciones de librería, lo que permite en un
El software del controlador se desarrolló en un lenguaje de momento dado, reemplazar partes del hardware de manera
alto nivel y empleando una estructura de capas. El objetivo modular, requiriendo únicamente escribir un nuevo
fue subdividir la complejidad de la aplicación en pequeños controlador.
módulos. Se definieron tres capas de software: una capa de Los controladores no siempre están relacionados con
acceso al hardware representada por los controladores elementos externos de hardware del sistema, sino también con
(drivers) de los periféricos, que permite abstraer los detalles los periféricos incorporados dentro del microcontrolador como
de bajo nivel de los dispositivos utilizados; una capa de son: los módulos de temporización, conversión analógico a
interfaces de aplicación APIs, en la que se definen los digital, comunicación serial, etc. De esta manera los servicios
servicios principales que debe ofrecer el ascensor y una capa prestados por esos módulos se abstraen a funciones de alto
de aplicación en la que se establece el schedulling de las tareas nivel, y la declaración queda separada de la implementación,
del sistema. lo cual permite en el caso de un cambio en la plataforma del
procesador, reemplazar la implementación del servicio sin
La utilización de este tipo de estructura de programación alterar la funcionalidad de las demás entidades del software
permite la realización de un diseño abierto, flexible y que lo utilizan.
escalable que posibilite modificar fácilmente el software o el Algunos de los controladores implementados son:
hardware cuando la aplicación así lo requiera, permitiendo la -Controlador para lectura de entradas y actualización de
incorporación de nuevas funciones y tareas. salidas: Define la forma de interconexión entre el
La siguiente figura ilustra los componentes de las capas del microcontrolador y las tarjetas de entrada y salida.
modelo de software. -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) < 4

escritura de datos y configuración. la llamada elegida se le asigna valor al piso de destino y se


-Controlador del módulo temporizador del registra la luz de ocupado. En esta rutina también se tienen en
microcontrolador. cuenta la apertura y cierre de puertas cuando sea pertinente.
-Controlador de la memoria EEPROM del microcontrolador, -Desplazamiento: Al invocar esta rutina se conoce la
el microcontrolador MC68HC912B32 cuenta con 768 bytes posición actual del ascensor y se tiene el piso de destino
de memoria EEPROM que se utiliza para almacenar los cargado desde la rutina de llamadas, con estas condiciones se
parámetros del sistema, tales como: número de paradas, tipo ejecuta el desplazamiento desde el piso actual hacia el piso de
de motor, tipo de puertas, tiempos, etc. destino, decidiendo si debe subir o bajar.
3) Capa de librerías auxiliares: Son funciones sobre las que -Puertas: las funciones de abrir y cerrar puertas trabajan ya
se soporta la aplicación. Son invocadas por la capa de sea por órdenes directas mediante los respectivos pulsadores
aplicación y no contienen ningún detalle de hardware. de abrir y cerrar, o por llamados desde otras rutinas como la
Algunas de ellas son: rutina de llamadas. Después de realizado un desplazamiento
-Librería para el manejo del motor de tracción: Se entre pisos, el equipo invoca la rutina de abrir puertas.
encuentran allí las funciones que tienen que ver con el -Seguridades: Se encarga de vigilar los dispositivos de
funcionamiento y manejo del motor. seguridad y protección para los usuarios y personal de
mantenimiento.
void Subir (void) // Orden de marcha en ascenso. -Inspección: Esta rutina permite al personal especializado,
void Bajar (void) // Orden de marcha en descenso. realizar ajustes, mantenimiento y chequeos al ascensor.
void Parar(void) // Orden de detención del motor. -Menú de programación: Permite programar los parámetros
void Nivelar(void) // Nivelación del equipo del elevador, por medio de un teclado de programación y una
interfaz visual (LCD). Algunos de los parámetros que se
-Librería para el manejo de tiempos: Administra los tiempos pueden programar son: número de paradas, tipo de motor, tipo
del sistema necesarios para: el tiempo máximo entre pisos, de puertas, número de accesos, tiempos, etc. Al salir del menú
tiempo máximo para abrir y cerrar puertas, tiempos de de programación, los parámetros son almacenados en memoria
protección, etc. EEPROM.
-Librería para el manejo de la visualización: Proporciona las 5) Capa de aplicación de usuario: En esta capa se
órdenes de visualización a los respectivos periféricos, como: implementa la aplicación principal del usuario basada en las
piso en el que se encuentra la cabina, sentido de viaje, luz de APIs. La aplicación desarrollada implementa un control
ocupado. general. La maniobra universal utilizada por el ascensor de
4) Capa de interfaces de aplicación (API’s): Desde el punto carga está implementada en una función de las API’s y es
de vista de software el controlador de un ascensor es un fácilmente adaptable a elevadores comerciales y de pasajeros.
sistema reactivo de tiempo real. La mayoría de las señales son El funcionamiento general del sistema se resume así: se
puras, es decir sólo importa su presencia o ausencia y no inicializa el sistema, se realiza la programación de los
tienen un valor entero asociado a ellas. La programación de parámetros del elevador y se almacenan en memoria
este tipo de aplicaciones puede desarrollarse con una EEPROM, se realiza la sincronización del sistema mediante el
metodología orientada a eventos por medio de máquinas de power up y se procede a realizar el conteo de tiempo entre
estado finito [5]. pisos para la posterior desaceleración del equipo cuando sea
En esta capa se desarrollan funciones de alto nivel pertinente. Cuando el ascensor ya se encuentra sincronizado,
relacionadas directamente con los servicios principales del con todos los parámetros y tiempos establecidos, el sistema
ascensor y representan el núcleo del controlador. queda trabajando en función de las rutinas de llamadas,
Fundamentalmente las funciones de esta capa esperan una desplazamiento y puertas, realizando las siguientes tareas:
señal de activación del hardware y responden con una acción desplazamiento a los pisos solicitados de acuerdo a las
determinada, por lo que la programación se basó en eventos llamadas, apertura y cierre de puertas, chequeo permanente de
reactivos. Esta capa está soportada sobre las capas de las señales de inspección y seguridades. El programa
controladores y librerías auxiliares, por lo tanto no tiene principal se ilustra en el siguiente diagrama de flujo de la
dependencias directas con el hardware y es altamente portable. figura 5.
Algunas de las funciones implementadas son:
-Power Up: esta rutina se ejecuta cuando arranca el IV. ANÁLISIS DE RESULTADOS
programa con el fin de sincronizar y posicionar el ascensor ya Las pruebas de funcionamiento de la maniobra
sea en la última o en la primera parada. implementada se hicieron en un prototipo a escala de cuatro
-Conteo de Tiempo entre Pisos: Se encarga de contar el paradas con todas las señales reales. En estas pruebas se
tiempo que se demora la cabina entre pisos de acuerdo a la verificó la funcionalidad del software de control desarrollado
velocidad del equipo y a la separación física de los mismos, y se hicieron evidentes algunas ventajas con respecto a otras
con estos tiempos se puede calcular el tiempo necesario para metodologías para el diseño de elevadores. Una de las
desacelerar el equipo de acuerdo a la velocidad y a la principales consiste en que el sistema se puede ajustar a las
separación entre pisos. condiciones de diferentes tipos de ascensor, motor, puertas,
-Llamadas: Se tienen en cuenta las llamadas exteriores y de haciendo simplemente algunos cambios en el software. Para
cabina de los usuarios y se decide de acuerdo al tipo de ello se realizó un programa único, parametrizable mediante un
maniobra, cual llamada se atenderá primero. De acuerdo con 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.

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
Figura 5. Diagrama de flujo de la aplicación principal. hardware, de forma tal que la complejidad del problema se
puede dividir en capas de software. Lo anterior posibilita la
El tamaño del programa en memoria ROM (FLASH) fue de realización de un diseño abierto, flexible y escalable, con
14Kbytes, memoria de datos RAM 140 Bytes y memoria de facilidades para la modificación del software y del hardware
parámetros EEPROM 70 Bytes, l cuando la aplicación lo requiera.
En la figura 6 se muestra el prototipo que se construyó para la -La aplicación de las nuevas técnicas en el campo del
validación del sistema. 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) < 6

REFERENCIAS
[1] 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.
[2] G. De Michelli, R. K. Gupta, “Hardware/software co-design”,
Proceedings of the IEEE , Vol 85, No 3, Marzo 1997.
[3] Betancur, A. y Quintero, A. “Control de un Elevador de Carga
Utilizando una Plataforma de Procesamiento Digital”. Medellín:
Universidad de Antioquia, 2002.
[4] Valvano, J. W. “Embedded Microcomputer Systems. Real Time
Interfacing”. Brooks/Cole. 2000
[5] MC68HC912B32TS/D Technical Summary 16-Bit Microcontroller.
Motorola 1999.
[6] G. Berry et al. “The asynchronous approach to reactive and real time
systems”. Proceedings of the IEEE , 79, Sep. 1991.
[7] http://www.fujitecamerica.com/elevators/gearless/gearless_main.htm

También podría gustarte