PROYECTO ASCENSOR Etapa I En esta etapa se va a programar un ascensor simple, sin memorias y se usarán los pulsadores marcados como PISO imaginando que hay tres pulsadores ubicados en los pasillos y otros tres en la cabina. Normalmente, los ascensores dan prioridad durante un tiempo (aprox 6 seg.) a los pulsadores de cabina sobre los de pasillo, en esta instancia eso no se puede hacer porque suponemos que tano los pulsadores de cabina como los de pasillo están cableados al mismo lugar. Debido a que entran en las patas de mayor peso del puerto B, cualquier cambio en el estado eléctrico puede generar una interrupción al micro, de esta manera el programa puede leer el valor, compararlo con el piso en el que está la cabina y determinar la dirección de movimiento. En la maqueta hay tres switches que se activan por un imán situado en la cabina, esto hace posible saber en qué piso está. Estos switches, junto con el de puerta abierta están cableados a través de una compuerta OR a la pata de interrupción externa del micro, de modo que el programa puede saber cuándo está la puerta abierta o cuándo llegó a un piso; bastará leer el puerto A para saber si fue la puerta o la posición de la cabina lo que cambió. La cabina tiene que parar donde esté si la puerta se abre durante el movimiento hacia un piso y seguir adonde iba cuando la puerta se cierra. Hay un diagrama lógico para el desarrollo del programa que habrá que discutir si es correcto o merece cambios antes de la programación. Es muy importante al momento de programar, asegurarse que todas las patas del micro sean ENTRADAS, salvo RB1, RB2 y RB3 que se deben configurar como salidas; si no se cumple esto puede quemarse el micro o algún circuito anexo. Circuitos electrónicos anexos al micro Controlador del motor (MC3479) El motor que mueve la cabina es del tipo Paso a Paso, es decir que puedo saber la posición angular del mismo sólo contando los pulsos que envío al controlador. Esta entrada es la pata 7 del integrado. Los pulsos pueden venir de un circuito externo o del micro; esto se selecciona con un puente en la plaqueta del circuito. Si los pulsos provienen del oscilador externo no se pueden contar, de modo que para saber la posición de cabina quedan los switches de posición cableados en la maqueta. Se podría prescindir de estos switches contando los pulsos, para lo cual deben ser generados por el micro (cambiando el puente) y calcular los pulsos necesarios para las diferentes posiciones de cabina sabiendo que cada vuelta completa del motor son 200 pulsos (1,8° por pulso). Cambiando la frecuencia de estos pulsos se regula la velocidad de giro del motor; si se excede la velocidad permitida por la carga del motor y la corriente de manejo, el motor pierde pulso y ya no se puede confiar en la posición angular a través del conteo de los pulsos. En nuestro caso, la frecuencia es de 150 Hz (ciclos por segundo), lo que equivale a ¾ de vuelta por segundo, sabiendo que en esas velocidad el motor no pierde pulsos. El controlador necesita además de los pulsos la dirección de giro del motor, sea para que la cabina baje o suba. Esa entrada es la pata 10 que está cableada al micro, ya que la dirección dependerá del programa. Una tercera entrada lógica hace que el motor pare (1 lógico) o se mueva (0 lógico). Las resistencias hacia el micro permiten controlar la corriente que se le envía al motor, que en nuestro caso es del orden de los 350 mA. Oscilador externo (NE555) Es un oscilador del tipo “astable” (no estable), es decir que por su salida de la pata 3 siempre están cambiando los estados lógicos entre 1 y 0. La resistencia variable permite cambiar la frecuencia del mismo entre unos 100 Hz y 350 Hz aproximadamente, esto se traduce en un cambio de velocidad del motor. Decodificador / Driver siete segmentos (MC14511) Es un circuito integrado cuya función es presentar en un display de 7 segmentos el número equivalente al valor binario que aparece en las entradas a, b, c, d del mismo. En nuestro circuito sólo tiene cableadas las entradas a y b a los switches de posición de cabina, de ese modo en PB marcará cero (no hay entradas), 1 si la cabina está en el primer piso y 2 si está en el segundo. Para evitar que marque cero entre pisos, se cableó una de sus entradas (pata 6) para que sólo muestre el número si la cabina está en un piso (o si se abre la puerta de cabina). Posición PB de cabina Es un circuito que cambia el estado eléctrico cuando algo oscuro se interpone entre el LED y el transistor. Está ubicado en la PB y se puso por sus características de velocidad y presición para saber en forma cierta cuando la cabina llega a PB en el caso de usar el motor contando los pulsos. Este switch se usa para resetear el conteo de pulsos cada vez que se considere necesario (por ejemplo falla de energía eléctrica) o se pueda asumir que perdió pulsos y entonces se desconoce la posición de la cabina. Fuente de alimentación (LM7805) Es el encargado de mantener la tensión de la plaqueta en 5 V cuando se lo alimenta con 12 V como es nuestro caso. Tiene un disipador de calor para evitar que la temperatura se eleve demasiado y pueda quemarse. Etapa II Con el próximo curso se separarán los pulsadores de cabina y de piso, respetando lo que se denomina “tiempo de cabina” que serán 6 segundos y es el tiempo en el cual se ignoran las llamadas de los pisos para darle prioridad a la persona que entró a la cabina. Deberá tener memoria de las paradas solicitadas y las atenderá de acuerdo a la dirección que lleve; es decir atenderá las llamadas de los pisos superiores a su posición cuando vaya hacia arriba y las de los pisos inferiores cuando su dirección sea hacia abajo. Ya sea en esta etapa o en otra, de acuerdo a los grupos; se manejará a la cabina a través del conteo de los pulsos del motor, es decir que se usará la ventaja del motor Paso a Paso. Esto agrega dificultad al programa porque deben generar y contarse los pulsos por programa. Para resetear el contador de pulsos se usará el switch “Posición PB cabina” , cableado a la pata 3 del micro. Sus estados lógicos son 1 cuando la cabina está en otros pisos y 0 cuando esté ubicada en la PB.