Hola a tod@s.
Continuando con el proyecto del ascensor hemos comprobado que podíamos mejorar la seguridad del funcionamiento en caso de fallo de los sensores.
Tal y como estaba programado anteriormente el ascensor cuando le llamábamos desde una planta en la que no estaba el ascensor se movía en ese sentido hasta llegar a ella, pero al probarlo hemos comprobado que si está en la planta baja y le llamamos desde la planta primera y el sensor que detecta que ha llegado a la primera no hace buen contacto y el ascensor sigue subiendo ya nada lo detendrá ni siquiera al llegar a la segunda planta y por tanto el motor seguirá girando aunque llegue al techo.
Lo mismo ocurriría si estuviese en la planta segunda y le llamamos desde la primera, si el sensor no funciona el motor seguiría funcionando incluso cuando este en el suelo.
Repasando nuestro programa es en estas dos partes que hemos marcado en rojo donde deberemos actuar:
En la primera estaría en la planta baja "on_baja = 1" y le llamamos desde la primera "llamar_1 = 1" y en la segunda estaría en la planta segunda "on_2 = 1" y le llamamos desde la primera "llamar_1 = 1".
Anteriormente lo teníamos programado así:
Si esta en la planta baja y le llamamos desde la planta primera activamos el motor y le ponemos a girar en sentido antihorario. A continuación ponemos un mientras que no hace nada (es decir el programa no avanza más allá de ese mientras) mientras se cumpla la condición que le ponemos que es que el sensor_1 sea 0. Es decir que el programa no va a hacer otra cosa y por tanto motor va a estar girando mientras el sensor_1 el de la planta primera este a 0. Cuando ese sensor detecte algo el programa continua en la siguiente línea que como puede verse para el motor y pone a 0 la variable de que se ha llamado al ascensor.
Como hemos explicado antes con este programa si el ascensor no hace buen contacto con ese sensor y sigue subiendo por encima de él ya nada lo va a parar. Es por eso que podemos añadir una medida de seguridad haciendo que en ese caso pare también si detecta que ha llegado a la segunda planta es decir si el sensor:2 pasa a ser 1.
La programación quedaría de la siguiente manera:
Como puede verse en la parte marcada en rojo para que el bucle mientras sea cierto y por tanto el motor siga girando ahora es necesario que se cumplan las dos condiciones de que los dos sensores estén a 0, con que uno de los dos sensores, el de la planta 1 o el de la planta 2 pase a ser 1 el mientras ya no se cumple y el programa pasa a la siguiente linea que lo que hace es parar el motor.
Lo mismo tendremos que hacer para el caso de que el ascensor este en la segunda planta y le llamamos desde la primera:
En este caso con que el sensor de la primera o el de la planta baja pasen a ser 1 el motor se pararía.
De esta manera mediante una sencilla modificación en la programación podemos añadir un sistema extra de seguridad a nuestro ascensor en caso de fallo al pasar por un sensor.
Un saludo,
Raúl.
No hay comentarios:
Publicar un comentario