Ascensor de 4 pisos con compuertas

Hola, tengo armado la parte principal del ascensor, sistema de subida y bajada, reconocimiento de pisos etc. El tema es que necesito hacer un sistema de prioridad , es decir que si lo llamo del 2do piso y justo lo llamo del 3ro que responda al que lo llamo 1ro. El ascensor es de 3 pisos.

Esta hecho con compuertas logicas ya que es un trabajo para Tecnicas Digitales.
 
Hola Larva93

Ese sistema de prioridad para el cual estás solicitando ayuda debería, supongo, tener otras características.
Por ejemplo:
Qué debe hacer el circuito(sistema) si llaman más de una vez de otro piso diferente a donde está el ascensor?.
Qué debe hacer el circuito(sistema) si llaman una o varias veces del piso donde está el ascensor?.
Etc.

Tengo el circuito del cual adjunto una imagen, analízalo para ver si te sirve.

Este circuito da el siguiente resultado:
La tecla que presiones primero aparece en el Display “Prioridad 1”, la segunda en el Display “Prioridad 2”.....

Si lo modificas creo que te puede servir, por ejemplo si en el Display Prioridad X hay un 0(Cero) quiere decir que nadie llamo. Luego: primero ve el Prioridad 1, si hay llamada estará el número de piso a donde debe ir el ascensor,
Luego Prioridad 2, si hay llamada estará el número de piso a donde debe ir el ascensor...
Cuando llegue al piso de donde llamaron debe borrarse la Prioridad x correspondiente.

saludos
a sus ordenes
 

Adjuntos

  • Prioridad.jpg
    Prioridad.jpg
    244.5 KB · Visitas: 323
Hola
Deberias de realizarlo de modo que el que primero llame sea el que determine la direccion del ascensor, pero que si la segunda llamada le pilla de camino, que realice esa parada.

Es el mismo sistema que el empleado en los hospitales.
 
Última edición por un moderador:
Claro, cada llamada simultanea cuando el ascensor esta en viaje debe ser puesta en una cola de eventos. Esa cola la ordenas de menor a mayor y le das ponderancia al orden.. y listo.. primero hay que resolver el analisis del problema, despues como hacerlo..
 
Hola Larva93

Muy buen circuito falta muy poco para lograr tu objetivo mencionado en tu primer mensaje.

Lo estuve analizando y lo acomodé en otra forma, además le agregué unos Display’s de 7-Seg.

Veo que hay algo por corregir, según yo; cuando lo enciendes debería indicar que el ascensor está en el piso 1,
Sin embargo no importa ya que al presionar el 1 y la A en el teclado los Display’s marcan 1. luego si se presiona el 3 el motor da vuelta en un sentido y, al presionar A se detiene.

Como ahora el ascensor está en el tercer piso, si se presiona el 2 o el 1 el motor gira en el otro sentido y cuando “alcance” el piso de donde lo llamaron el motor se detiene.
Muy buen circuito de veras.

Si lograste esto puedes lograr tu propósito de que el ascensor vaya a donde se le llama primero.

saludos
a sus ordenes
 

Adjuntos

  • Control Para Ascensor(0).jpg
    Control Para Ascensor(0).jpg
    161.4 KB · Visitas: 282
  • Control Para Ascensor(0).zip
    8.3 KB · Visitas: 244
Habiendo mas de un ascensor se toma como logica inicial que el ascensor que este en subida se encargue de parar solamente a los requerimientos de subida y los de bajada para bajada, aprovechando que "ya llega".

En caso de torres y donde ya hay mas de dos ascensores se programa uno de ellos que se encargue de los requerimientos de los pisos superiores y otro de los inferiores, siempre por la misma consigna de que llegue el que esta mas cerca, ademas si esta en subida o si esta en bajada..

El otro criterio que se utiliza en torres es asignar uno para los pisos pares y otro para pisos impares..
 
Hola, tengo armado la parte principal del ascensor, sistema de subida y bajada, reconocimiento de pisos etc. El tema es que necesito hacer un sistema de prioridad , es decir que si lo llamo del 2do piso y justo lo llamo del 3ro que responda al que lo llamo 1ro. El ascensor es de 3 pisos.

Esta hecho con compuertas logicas ya que es un trabajo para Tecnicas Digitales.

de verdad esta muy bueno tu circuito y bastante complejo bueno para mi que estoy empezando si lo es ... y me mandaron a hacer un ascensor de tres pisos ... y me pregunta es que dispositivo le colocaste al ascensor para que te indicara que llego al piso al cual fue solicitado sin que los dispositivos de los otros pisos interfieran en el recorrido...
ejemplo: si el ascensor se encuentra en planta baja y lo solicitan del tercer piso como hago para que el motor este en funcionamiento hasta que llegue hasta el segundo piso sin detenerse en el primer piso .. .noc si me explico...
si puedes ayudarm,e con eso te lo agradeceria de verdad estoy sobresaturado por que no hayo como hacerlo.... ahorita solo tengo para hacer funcionar el motor dependiendo el piso a donde lo llamen es decir el inversor de giro ( subir y bajar), eso lo hice con el 74ls85 pero tengo un problema y es que noc que dispositivo colocar para hacer que se detenga en el piso donde lo han solicitado... espero tu respuesta y gracias por subir esa informacion que tienes te felicito muy buen trabajo...
 
En tres pisos no tiene mucho sentido que tenga prioridad, la mayoria de las veces estara a 1 piso de distancia y en su peor condicion a 2.. Este metodo es aplicable cuando es de alto transito y ademas con muchas paradas/pisos.

es que noc que dispositivo colocar para hacer que se detenga en el piso donde lo han solicitado..

Simple cada pulsador de piso hace accionar "una memoria" del pedido. Si el ascensor va en subida, le dara prioridad o seguira la secuencia de memorias que le queden de paso, ya sea en subida o en bajada. Si solo hay una, va a ese destino... La memoria se limpia al momento de la parada en piso. Esa identificacion se hace con la instalacion que lleva el edificio en cada puerta hay un interrputor que se acciona con el paso de la cabina, si esta la memoria para, sino sigue..
 
pienso que para que el ascensor se detenga en el piso al cual fue llamado ... deberias emplear tres sensores infrarrojos uno en cada piso de tal forma que por medio de una combinacion logica hagas que se active el sensor del piso al cual fue llamado de tal forma que cuando el sensor detecte la cabina este automaticamente hara que el circuito quede desenergizado ... bueno estoy aprendiendo y a lo mejor este equivocado... pero pienso que tiene un poco de logica de todas maneras lo simulare a ver si me funciona... si me pueden corregir se los agradezco....
 
hola que tal soy nuevo en el foro! bueno mi idea sobre como hacer para que el ascensor para en el piso correcto es poner un comparador de magnitud ( 4 bits) el mismo integrado da la opcion de si es mayor , menor o igual! comparando con el piso destino vemos si es mayor hacemos que el motor baje hasta que sean = , si es menor subir y si es = que detenga el motor ! espero ayudarte con esto! un abrazo a todos !
 
Para que una buena automatizacion este correcta debe haber un control de proceso. La logica e interfases de potencia diran una cosa y la accion debe devolver un dato para comprobar que se viene haciendo.

En una instalacion normal ya es asi. Los antiguos o actuales no digitales a "puro reles" el rele hace de memoria. Cuando pulsas de un piso, el rele queda retenido haciendo de memoria. Cuando pasa por ese piso, el interruptor de piso al llegar la cabina abre el circuito y el rele se despega.. liberando la memoria mecanica.

El rele de direccion sabe si va en subida o bajada..
 
que dispositvos podrian colocarse para que indiquen que el ascensor llego al piso ... sera que tendre que poner 3 switch para simularlos de esa forma ?¿ pero es que quisiera hacerlo mas automatizado.... con unos sensores o algo asi....
 
A ver, repasemos. Todas las puertas tienen un switch en serie con el contactor de marcha, cosa que si alguna puerta es abierta sin la cabina en su piso, debe pararse la cabina, ok? Ademas no deberia abrirse!

Otro circuito es el de los switches de piso que estan por detras cuando pasa la cabina hay una cuña que los presiona y pasa.. en todos los pisos.. si hay memoria retenida, el motor para, sino cada piso que pasa quiere liberar algo que no esta memorizado..

Estos circuitos basicos -a mi entender- no requieren ser automatizados dado que son necesarios para que la cabina se mueva con seguridad. Se puede innovar en el control nada mas..
 
gracias esa informacion me ayuda un poco... y que compuertas podria usar para implementar los datos en la memoria ?¿ por que manual como dices tendar que parar en cada piso... pero como podria hacer para que el ascensor estando en el piso tres baje para el uno sin que se detenga en el dos ya que por ley al pasar por el dos activara el pulsudor si se trata de estos dispositivos
 
En ese caso si, debes cambiar la logica de funcionamiento. En principio los asensores comunes tienen un solo boton de llamada en el piso, entonces no sabes si el que lo presiona quiere ir para arriba o para abajo..

Primera modificacion.. un boton de subida y otro de bajada. Con ese cambio por piso ya tienes identificado cual es el requerimiento y habra que almacenarlo segun la logica que quieras aplicar... si esta en bajada la cabina o detenida y queres ir para abajo desde la cabina o desde afuera, que baje. cual es el problema..

Si viene con pasajeros y pasa por ese piso y presionan para bajar, que pare, dado que el que va adentro y el que presiono el boton quieren ir para abajo..

En una palabra, primero hay que crear las reglas logicas y despues analizar en cada caso que pasaria si la cabina esta parada, si esta en viaje para arriba, para abajo.. como interactua con las reglas.. recien cuando tengas todo ese analisis de funcionamiento, podes pasar a ver como hacerlo!..
 
Aver si te parece mi algoritmo, el sensor de piso yo utilizaria lo mismo que las impresoras un par de laminitas que cuando el ascensor la presione condusca y me de un 1 logico necesitaria una sola patita de entrada ya que segun este mi algoritmo solo serviria para saber si se encuentra en algun piso adjunto tambien la imagen (el switch tiene que ser colocado en la parte superior de cada piso)
Variables
---------
Direccion = 1; //1 arriba 0 abajo
Pisos = 0; //cantida de pisos a bajar o subir
PisoActual = 1; //piso en que se encuentra actualmente
PuertaAbierta = 1; //indica si esta o no la puerta abierta
BotonPiso = 0; //1bit para cada boton de piso si fuera para pics seria trisa
LLamadaDePiso = 0; //1bit para cada boton de piso seria tambien otros bits del trisa o el b
SensorDePiso = 0; //un bit de cualquier puerto de entrada

procedimiento Desplazar( NoPiso ){
//apagar la llamada
si NoPiso = 1 { LlamadaDePiso[bit1] = 0; BotonDePiso[bit1] = 0; }
si NoPiso = 2 { LlamadaDePiso[bit2] = 0; BotonDePiso[bit2] = 0; }
si NoPiso = 3 { LlamadaDePiso[bit3] = 0; BotonDePiso[bit3] = 0; }
si NoPiso = 4 { LlamadaDePiso[bit4] = 0; BotonDePiso[bit4] = 0; }

Si NoPiso = PisoActual { Salirse; } //no voy a ir al mismo piso del que estoy

//cerrando la puerta del ascensor
CerrarPuerta;
PuertaAbierta = 0;

//calculo la cantidad de pisos a recorrer
Pisos = PisoActual-NoPiso
si Pisos > 0 { Direccion = 0; }
si Pisos < 0 { Direccion = 1; Pisos = Pisos * -1; } //lo vuelvo positivo
//verifico que por lo menos aya algo q hacer
while Pisos > 0 {
//mover el acensor hasta que deje el piso
while sensorDePiso = 1 {
si Direccion = 0 { ActivarMotorDerecha; }
si Direccion = 1 { ActivarMotorIzquierda; }
}
//seguir moviendo hasta que encaje en el siguiente piso
while sensorDePiso <> 1 {
si Direccion = 0 { ActivarMotorDerecha; }
si Direccion = 1 { ActivarMotorIzquierda; }
}
Pisos = Pisos - 1
si Direccion = 0 PisoActual = PisoActual + 1
si Direccion = 1 PIsoActual = PisoActual - 1
}

//abriendo la puerta del ascensor
AbrirPuerta;
PuertaAbierta = 1;
}

while(1){
si ( (LlamadaDePiso>0) o (BotonPiso>0) ) y PuertaAbierta {
si LlamadaDePiso[bit1] or BotonPiso[bit1] { Desplazar(1); } //ir al primer piso
si LlamadaDePiso[bit2] or BotonPiso[bit2] { Desplazar(2); } //ir al segundo piso
si LlamadaDePiso[bit3] or BotonPiso[bit3] { Desplazar(3); } //ir al tercer piso
si LlamadaDePiso[bit4] or BotonPiso[bit4] { Desplazar(4); } //ir al cuarto piso
}
}
 

Adjuntos

  • ascensor.JPG
    ascensor.JPG
    26 KB · Visitas: 79
vaya veo que ese ascensor fue programado con pics y de verdad yo no he llegado a tener esos conocimientos muy complejo para mi pero gracias... lo quiero hacer solo con compuertas... bueno seria lo mas conveniente ya que la materia se trata de circuitos digitales... y si voy a trabajar con pics ya me estaria iendo a la parte de microprocesadores que es otra materia aparte...

y con respecto al manejo del ascensor solo lo quiero manejar desde afuera... la puerta hasta los momentos queda eliminada... si me da tiempo se la coloco pero hasta los momentos solo quiero las funciones basica... que son el inversor de giro del motor... el sistema de llamado .. el sistema de parada...solo eso...

tengo esta logica con un comparador pero no se como hacer que se detenga en ascensor en el piso al cual fue llamado...


http://platea.pntic.mec.es/~msanch2/tecnoweb/recursos/ejercici/4eso/cirele01.htm#Proyecto_de_circuito_de_control_para_un_ascensor_de_4_plantas
 
Última edición:
Segun la pagina que mandaste cada switch tendria que mantenerse presionado mientras el ascensor este pasando por el piso no importando si queda por ejemplo switch del piso 3 encendido y switch del piso 2 encendido lo que si importa por lo menos cuando el ascensor baja es evitar que no quede ningun switch sin presionar dando A=0 haciendo que el acensor vuelva a subir por lo demas ya lo simule y funciona bien, le agregue unas compuertas nor en las intenciones para evitar que presionen 2 botones a la vez por ejemplo que este en el piso 2 y enciendan el piso 3 y el piso 1 para mantener una cola de peticiones si hay que hacer otro circuito mas complicado tambien agregue un or al final para evitar que si ejemplo esta en el piso 1 y no hay ninguna intencion accione el motor por que A=1 > B=0 encenderia el motor. te adjunto el circuito lo unico malo es eso que no puede atender mas de 1 llamada a la vez, si presionan 1 y luego otra se desabilitan las 2, saludos y espero su respuesta
 

Adjuntos

  • asc2.JPG
    asc2.JPG
    45.1 KB · Visitas: 145
Atrás
Arriba