Está en la página 1de 4

CIRCUITO DE UN ASCENSOR DE 5 PLANTAS CON MICROCONTROLADOR PIC 16F84A

Este proyecto fue el primero que desarrolle cuando me introduje en el mundo de los
microcontroladores, actualmente me doy cuenta que con los nuevos conocimientos que he
adquirido podía haber realizado el programa de forma más depurada, pero he decidido dejarlo tal
cual fue hecho por un principiante.
He realizado una maqueta de 8 plantas cuyo motor de cc se puede controlar con una tarjeta que
realice hace mas de 20 años mediante puertas lógicas, la cual incorpora 10 circuitos integrados y
manda la orden de subir y bajar a otra tarjeta de 4 transistores con disposición en H, la cual lleva
también incorporado el puente de diodos y el condensador de filtro para alimentar a todo el
conjunto.
En la parte inferior de la imagen se encuentra la tarjeta con un microcontrolador PIC 16F84A, el
cual programe para controlar 5 plantas. La única limitación para implementar mas plantas es
únicamente la cantidad de pines que dispone este micro, así por ejemplo con el 16f628 que
incluso sale más económico se puede implementar hasta 7 plantas. El que sepa un poco de
programación de ensamblador vera lo fácil que es modificar este programa para realizar el control
del número de plantas que desee.
Esta tarjeta micro controlada lleva en su parte izquierda los pulsadores de llamada así como los led
indicadores que avisan que en esa planta está prevista la parada de la cabina. En el lado izquierdo
lleva los led indicadores de donde se encuentra la cabina en cada momento. A la izquierda de la
tarjeta microcontroladora he situado con una placa perforada los dos reles que controlan el
motor. La tarjeta de la derecha corresponde a otra forma de controlar esta maqueta mediante
puertas lógicas.
Soporte realizado con ángulo de hierro de 40x40mm para sostener el tubo de aluminio y soldado
con una eléctrica (soldadura por arco).
Motor con ruedas dentadas para reducir la
velocidad de este y generar más fuerza. El motor
lo obtuve de algún equipo que desguace, no
recuerdo que fue, que cada uno se las ingenie
con lo que tenga a mano. En la imagen superior
se observa una pequeña polea que me fue
necesaria colocar cerca del motor para guiar el
hilo al centro del carrete que este lleva
asociado.
Cabina de madera, con polea para dividir por 2
la velocidad, y a su vez hacer que el motor
trabaje más suave.
La cabina realizada en madera le hice un pequeño agujero en donde luego introduje el pequeño
imán encargado de accionar los interruptores REED, para así determinar la posición de la cabina.

Naturalmente cuando yo quiero encender un led el micro me tiene que mandar un "0" en lugar del típico "1". Los mismos diodos led junto con sus resistencias limitadoras me sirven para polarizar las entradas del micro. tanto de llamada como los de posición de la cabina comparten los pines del PIC con los diodos led. y los cuales sirven para evitar holguras de la cabina dentro del tubo de aluminio. así como para minimizar al máximo posible el roce. y cuando detecto una pulsación.Observar el detalle de los 3 tornillos que lleva en el lado derecho. para ello siempre tengo configurados todos los pines como entradas. Observareis que los pulsadores. Seguramente os llamara la atención del detalle que los diodos led tienen conectados el cátodo al micro ya que normalmente estaréis acostumbrados a verlos al revés. aunque perfectamente podemos utilizar el 16f628 con unas pequeñas modificaciones en el programa y así nos ahorramos el cristal de 4Mhz y los 2 condensadores asociados. ESQUEMA Se puede observar en el esquema que el cerebro de todo el control es el famoso microcontrolador PIC 16f84A. hago que ese pin sea una salida con nivel lógico "0". en realidad lleva un total de 12. .

puerto A es de salida MOVLW B'11111111' MOVWF TRISB .puerto B es entrada de sensores BCF STATUS. incluso motores de 220V. siempre y cuando le suministréis esa tensión.0 GOTO SUBEPISO1 CALL SUBE STOP1 BTFSS PORTB. Programa de PIC16F84A INCLUDE "P16F84A. ya que el motor que disponía trabajaba a esa tensión.5 GOTO STOP1 CALL STOP SUBEPISO2 BTFSS PORTB. El negativo de este circuito deberá de unirse al negativo de la tarjeta microcontroladora. En los contactos de los reles aplique 12v. aunque no tiene por que ir de esa manera.PLACA DE RELES Yo use reles de 12v ya que disponía de ellos.5 CLRF PORTA . aunque podéis conectar cualquier relé que funcione entre 5 y 24v. pero podéis poner cualquier tipo de motor.5 CLRF PORTB . si trabajamos con motores de 220v deberemos de evitar que tenga contacto con la parte de continua. El negativo que aplico a los contactos lo he representado con el símbolo de masa. es más.INC" ORG 0X00 BSF STATUS. programa principal INICIO SUBEPISO1 BTFSS PORTB.1 GOTO SUBEPISO2 CALL SUBE .

6 GOTO STOP2 CALL STOP SUBEPISO3 BTFSS PORTB.1 GOTO BAJAPISO2 CALL BAJA PARADA2 BTFSS PORTB.7 GOTO STOP3 CALL STOP BAJAPISO2 BTFSS PORTB.5 GOTO PARADA1 CALL STOP GOTO INICIO Subrutinas de stop.6 GOTO PARADA2 CALL STOP BAJAPISO1 BTFSS PORTB.2 GOTO SUBEPISO3 CALL SUBE STOP3 BTFSS PORTB.0 GOTO BAJAPISO1 CALL BAJA PARADA1 BTFSS PORTB.STOP2 BTFSS PORTB. bajada y subida de motor STOP MOVLW B'00000000' MOVWF PORTA RETURN SUBE MOVLW B'00000010' MOVWF PORTA RETURN BAJA MOVLW B'00000100' MOVWF PORTA RETURN END .