Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Ascensor de Servicio Inteligente con Arduino para Operación de 4 Pisos

Componentes y materiales

Componente Cantidad Notas
Arduino Mega 2560 1
Micro Interruptor de Límite OpenBuilds 4 Uno por piso

Sobre este proyecto

Diseño y prueba de un sistema de control para un ascensor de servicio que opera en cuatro plantas. El microcontrolador (ATMega2560) determina qué contactor alimentar para activar el motor del ascensor y moverlo hacia arriba o abajo, comprobando en qué planta se encuentra actualmente. El sistema de control también debe ser capaz de cortar la alimentación al ascensor cuando ha alcanzado la planta solicitada. Se implementa un factor de seguridad integral para asegurar que la puerta del ascensor siempre se cierre antes de moverse hacia arriba o abajo. El sistema de control determina correctamente qué contactor debe alimentarse para mover el ascensor a la planta deseada. El sistema controla el motor de la puerta de seguridad para cerrarla cuando el ascensor necesita moverse y abrirla automáticamente cuando ha alcanzado la planta requerida.

Video demostración

[Video disponible en el proyecto original]

1.1 Cableado de motor trifásico

Se utiliza un motor trifásico en esta aplicación ya que requiere un motor potente capaz de manejar cargas pesadas. El motor trifásico se alimenta a través de la red trifásica principal. La energía de la red pasa a través de dos contactores principales. Cuando el primer contactor se activa y el segundo se desactiva, la corriente fluye a través del primer contactor al devanado del motor, moviéndolo en dirección forward (hacia arriba).

Diagrama de cableado dirección forward
[Imagen del diagrama]

Cuando el segundo contactor se activa y el primero se desactiva, la corriente fluye a través del segundo contactor al devanado del motor, moviéndolo en dirección backward (hacia abajo). Tenga en cuenta que el cableado es diferente para la dirección inversa.

Diagrama de cableado dirección backward
[Imagen del diagrama]

1.2 Detección de planta

Para detectar en qué planta se encuentra el ascensor, se utiliza un interruptor de límite (limit switch). A medida que el ascensor sube o baja, cierra y abre un interruptor de límite en cada planta. Cuando el ascensor está en una planta determinada, el interruptor de límite de esa planta se cierra, indicando al microcontrolador la planta actual. A medida que el ascensor se mueve, el interruptor se abre, indicando al microcontrolador que el ascensor está en movimiento.

Interruptor de límite
[Imagen]

La transición de señal de baja a alta producida por el interruptor de límite cuando el ascensor pasa por una planta ocurre en una fracción de segundo y a menudo es demasiado rápida para ser detectada por el microcontrolador. Los interruptores de límite están conectados a una alimentación de 5V DC y la salida del terminal NA (Normalmente Abierto) se conecta a un pin de E/S del microcontrolador. Cuatro interruptores de límite en cuatro plantas envían datos al microcontrolador. Esto permite al microcontrolador determinar la planta comprobando qué pin pasó de bajo a alto. La transición del estado de un interruptor de límite se muestra en el diagrama siguiente:

Transición de estado del interruptor de límite
[Imagen del diagrama]

La tarea complicada es permitir que el microcontrolador detecte la transición de bajo a alto. Hay dos métodos para abordar este problema. El primer método es determinar si un pin de interruptor de límite pasa a HIGH dentro de la función loop usando una condición if. El programa, mientras ejecuta otro código, siempre comprueba si un pin pasa a HIGH. Esto consume mucha memoria ya que el programa busca constantemente una señal HIGH desde un pin de interruptor de límite. Otro problema es que a veces el programa podría perder esta transición ya que la función loop estaba ejecutando otro código mientras ocurría la transición. Para evitar estos problemas, se utilizan interrupciones. Las interrupciones esencialmente pausan la ejecución del código y ejecutan una función separada cuando se cumple una condición de interrupción específica. Esto es ideal para la operación del ascensor. Cuando un pin de interruptor de límite pasa de bajo a alto, se ejecuta una función de interrupción y esta comprueba si el ascensor está en la planta actual y detiene el ascensor o permite que siga moviéndose. Dado que el programa se ve forzado a ejecutar la función de interrupción cuando se activa un interruptor de límite, el sistema puede garantizar que el programa no omita deliberadamente la detección de una planta. El microcontrolador utilizado para esta aplicación es el Arduino Mega 2560 que tiene 6 pines digitales utilizables para interrupciones, lo cual es ideal para las cuatro plantas. El primer parámetro de attachInterrupt es un número de interrupción. Normalmente se debe usar digitalPinToInterrupt(pin) para traducir el pin digital real al número de interrupción específico. Por ejemplo, si se conecta al pin 3, use digitalPinToInterrupt(3) como primer parámetro de attachInterrupt. También es importante tener en cuenta que la función delay() no funcionará dentro de la función ejecutada por la Rutina de Servicio de Interrupción (ISR).

Conexión de interruptores de límite al MCU
[Imagen del diagrama]

El diagrama anterior muestra cómo se conectan los interruptores de límite al MCU. Los pines del MCU están conectados mediante una resistencia pull-down. Esta resistencia lleva el pin del MCU a tierra para asegurar que se lea un voltaje BAJO por el MCU cuando el interruptor de límite queda abierto. La configuración de la resistencia se muestra en el diagrama siguiente.

Configuración de resistencia pull-down
[Imagen del diagrama]

1.3 Control de subida y bajada del motor

Se utilizan dos relés de 12V DC para conmutar la alimentación AC a los contactores del motor que controlan su dirección (ya sea Subida o Bajada). El circuito diseñado con Multisim se muestra en el diagrama siguiente:

Circuito de control de relés
[Imagen del diagrama]

Un extremo de la bobina del contactor de ambos relés está conectado a la alimentación de 12V DC a través de un transistor PNP. La razón principal de hacer esto es asegurar que el motor no reciba alimentación hasta que la puerta del ascensor esté cerrada. Una vez cerrada la puerta, el pin de salida DoorSwitch hacia la base del transistor PNP se lleva a tierra, asegurando que el PNP se encienda para proporcionar alimentación VCC a ambos relés. Por lo tanto, el relé no se activa incluso si la señal MotorUp o MotorDown es HIGH. El otro extremo de la bobina del relé se lleva a tierra a través de un transistor NPN. La señal MotorUp se genera desde el MCU. Cuando la señal MotorUp es HIGH, el primer transistor NPN se activa y lleva el otro contacto de la bobina a tierra para completar el circuito y alimentar la bobina del Relé Subida para alimentar el motor. El mismo método se usa para activar el Relé Bajada. Razones para usar transistores para conmutar los relés:

1.3.1 Diodo flyback para protección adicional

Se instala un diodo flyback a través de los contactos de la bobina del relé para asegurar que la corriente de retorno tenga un camino por donde fluir cuando la bobina se enciende y apaga. Las cargas inductivas como una bobina en el relé crean picos de voltaje repentinos cuando la corriente de alimentación se interrumpe bruscamente. Esto añade protección extra al MCU. El diagrama siguiente muestra cómo conectar un diodo flyback a través de los contactores de la bobina del relé.

Conexión diodo flyback
[Imagen del diagrama]

1.3.2 Control de entrada de usuario

El usuario controla la operación del ascensor a través de botones de planta. Hay cuatro pulsadores de planta, cuando se presionan indican al microcontrolador que el ascensor debe llevarse a la planta deseada.

Botones de planta
[Imagen]

Un pulsador al ser presionado momentáneamente crea una señal HIGH y luego LOW cuando el usuario suelta el botón. La tarea del microcontrolador es identificar una señal HIGH desde un botón de planta presionado por el usuario. Esta tarea particular no necesita ser manejada a través de una interrupción. Mientras el usuario presione el botón por un período suficiente, el MCU puede registrar la señal del botón. La siguiente tarea del microcontrolador es evaluar si activar el motor Subida o Bajada dependiendo de la entrada del usuario y la planta actual del ascensor.

Conexiones de entrada y detección de planta al MCU
[Imagen del diagrama]

Con una programación inteligente a través de microcontroladores, podemos eliminar hardware adicional que se habría requerido si un sistema se diseña puramente mediante lógica analógica. El sistema anterior para el ascensor requería un interruptor direccional adicional como se muestra en el diagrama siguiente, que se usaba para permitir al sistema identificar la dirección en que viaja el ascensor (Subida o Bajada).

Sistema anterior con interruptor direccional
[Imagen del diagrama]

Pero mediante el diseño de un algoritmo para mantener la planta actual del ascensor en una variable y compararla con la entrada del usuario, el sistema pudo prescindir completamente de los interruptores direccionales para determinar la dirección en que el ascensor debe moverse para llegar a la planta deseada. Por ejemplo: En el diagrama de conexiones de entrada y detección de planta al MCU mostrado arriba, el ascensor indica al MCU que está en la segunda planta a través del Pin 3. Luego el usuario ingresa presionando el botón de la cuarta planta. El MCU recibe este comando y compara las dos entradas. Dado que la entrada del usuario, "4", es mayor que la entrada del interruptor de límite, "2", el MCU envía una señal a través del pin MotorUp para activar el transistor y alimentar el relé Subida.

A medida que el ascensor sube, la variable de planta actual en el programa se actualiza cuando llega a la tercera planta. Tan pronto como se activa un interruptor de límite, se compara con el valor de entrada del usuario, que en este caso es "4", y nuevamente compara este valor con la planta actual actualizada para determinar si el ascensor se ha acercado a la planta deseada. Una vez activado el interruptor de límite de la cuarta planta, el MCU identifica que el ascensor ha llegado a la cuarta planta y envía una señal LOW a través del pin de señal Motor Up para cortar la alimentación al motor y evitar que siga moviéndose.

1.3.3 Aislamiento del control de las entradas

Otro factor importante es aislar el lado de control DC del microcontrolador de cualquier interferencia AC que pueda afectar al MCU a través de las entradas del sistema. Un problema que enfrenté al no tener hardware de aislamiento instalado inicialmente: la interferencia AC que se originaba en el cuerpo metálico del ascensor se transfería al MCU a través de los interruptores de límite. Aunque los interruptores de límite operan con una alimentación DC separada, la entrada de los interruptores de límite se alimenta directamente al microcontrolador, ocurriendo interferencia cuando el ascensor comienza a moverse y, debido a esta interferencia AC, el MCU no puede identificar correctamente la planta en la que se encuentra el ascensor. Para contrarrestar este problema, se utilizó un optoacoplador para cada entrada para aislar el MCU de la interferencia externa.

Circuito con optoacopladores
[Imagen del diagrama]

El propósito del optoacoplador es transferir la señal de entrada generada desde el interruptor de límite de planta al MCU a través de un LED y un fototransistor. Cuando el interruptor de límite se cierra, el LED se enciende y la luz entrante del LED activa la base del fototransistor, que luego transfiere una señal HIGH al MCU, aislando exitosamente la entrada del exterior y el MCU.

1.4 Prototipo

Vista del prototipo 1
[Imagen]
Vista del prototipo 2
[Imagen]
Vista del prototipo 3
[Imagen]

Proceso de manufactura

  1. Simplesse®: el sustituto de grasa proteico que transforma alimentos bajos en grasa
  2. Construye un Spybot controlado por Bluetooth con Arduino
  3. FlickMote: Mando IR por gestos para Smart Home
  4. TV‑B‑Gone DIY con Arduino: Mando universal para apagar cualquier TV
  5. Construye un Reloj Maestro LED Personalizado con Alarma – Visible desde 12 Metros
  6. Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
  7. Soluciones de Alimentación Optimizadas para Proyectos Arduino
  8. Tres en raya con Arduino, matriz LED MAX7219 y carcasa de cartón
  9. Construye un Robot Cuadrúpedo Inteligente con Arduino: Guía Paso a Paso
  10. Registrador de Datos de Alto Rendimiento para Globo Meteorológico con Arduino
  11. Construye un volante joystick personalizado con Arduino para gaming