TODOPIC
FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: jfmateos2 en 02 de Julio de 2006, 08:57:04
-
Estoy intentando crear un circuito con 2 entradas digitales y 2 salidas.
Mi objetivo es que cuando se detecte un cambio en las entradas (por ejemplo, pasar de 11 a 10, o cualquier otro), se genere un pulso por una de las salidas y, cuando éste concluya, un pulso por la otra salida.
Quiero hacerlo SIN utilizar un microcontrolador (PIC). Llevo un par de días rompiéndome la cabeza estudiando puertas lógicas, biestables, inestables, el 555.
Me gustaría que alguien me diera alguna pista de cómo lograr esto, pero sin resolverme completamente el problema (soy un autodidacta nato y creo que una buena forma de aprender es el sistema de prueba y error, pero ahora mismo estoy completamente bloqueado).
Gracias
-
Necesitas almacenar el estado anterior para comparar con el estado actual. Para ello utiliza unos lantch, guardas el estado anterior y lo comparas con el actual como tienes que ver diferencia de estados utiliza un XOR y dispara unos monoestables para generar las señales de salida.
Un saludo.
-
¡Uff, qué alivio!. Por tu respuesta veo que más o menos iba bien encaminado. Muchas gracias.
El problema lo tengo en cómo almacenar el estado anterior en el latch. Me explico: si conecto cada entrada a un latch (un biestable), su estado queda almacenado, pero cuando cambian las entradas, el cambio también se refleja en los latch, de modo que el estado almacenado anteriormente se sustituye por el actual, y la comparación se realiza entre el estado actual de las entradas y ese mismo estado que se ha almacenado en los latch. Estoy estudiando la posibilidad de resolver esto con algo llamado "gated S-R latch" que según entiendo, corríjanme si me equivoco, es como un latch normal pero con una entrada adicional mediante la que puede decidir cuándo está activo y cuándo no. También estoy barajando otra posibilidad basada en multiplexadores.
-
Necesitas un reloj para sincronixar el proceso, ya que no lo puedes haver todo simultaneamente, entocens mediante una lógica secuencial primero comparas y pasado un cierto tiempo almacenes, esperas otro tiempo y comparas y así sucesivamente.
De todas formas planteate hacerlo con un pic, el mas sencillo, por ejemplo el 12C508, que es muy barato y te va a simplificar la realización.
Un saludo
-
Muchas gracias, jfh900.
Tu respuesta sobre el reloj me dio una idea para resolver el problema de un modo alternativo. El sistema real que quería realizar era un poco más complejo que el que expliqué aquí; se trata de un contador de pasos para un motor PaP (lo encontrarás en http://www.todopic.com.ar/foros/index.php?topic=12037.45). He usado los latch para almacenar el estado anterior, los XOR para compararlos con el estado actual, varias puertas lógicas para determinar, en función de la relación entre el estado anterior y el actual, si debía accionar el contador hacia delate o hacia atrás, 2 555 para generar los pulsos encargados de activar el contador y, a la vez, almacenar el estado actual en la memoria (aquí es donde apliqué tu idea del reloj).
Nuevamente, muchisimas gracias por tu ayuda.
-
No hay de que y adelante con el proyecto, no dudes en consultar cualquier duda.
Un saludo.