¿Cómo hacer que mi conteo descendente no se reinicie y permita activación?

Estoy haciendo un carrito seguidor de líneas pero el funcionamiento debe ser de la siguiente manera: Presionas el botón para que el carrito comience a funcionar, pero debe hacer un conteo descendente de 5 a 0, mostrado en un display, cuando llegue a 0 dicho carrito debe comenzar a funcionar. Ya tengo el conteo descente de 5 a 0 pero cuando llega a 0 inicia desde 5 de nuevo y quiero que cuando llegue a 0 quede ahí y comience a funcionar el carrito, necesito ayuda rápido por fa! ...
 
Ese es el circuito que uso para el conteo descendente, en lugar de los leds y las resistencias, está el decodificador 7447 y el display, la entrada del decodificador que queda sola, la mando a tierra y ya, pero el conteo se reinicia automáticamente y no quiero que pase eso :confused:
 

Adjuntos

  • Screenshot_2014-04-14-22-07-12.jpg
    Screenshot_2014-04-14-22-07-12.jpg
    42.8 KB · Visitas: 24
Para lograr eso tienes que "jugar" con la entrada de reloj del contador. Por ejemplo, quieres que en 0's se detenga, pues haces un circuitlo lógico combinacional que tenga por entradas A, B y C (3 bits ya que mencionas que el máximo conteo es 5) junto la señal de reloj.
La tabla de verdad sería de tal forma que cuando A=B=C+sin importar reloj-->salida =0, esa salida iría conectada a la entrada de reloj de los flip-flops.

Además sería necesario forzar a que el contador comience en 5, para eso se juega con las líneas R y S asíncronas de cada flip-flop.
Si te queda duda te pongo un esquema. Saludos
 
Algo así, S1 y R1 son para simular el reloj, ahí lo sustituyes como requieras, tambien agregué un botón para el reset, de lo contrario no inicia en los valores apropiados y no podrías reiniciarlo cuando llegue a cero.
La señal para activar la puedes tomar de la salida de U4A (Activo=bajo).
 

Adjuntos

  • Contador_5-0.png
    Contador_5-0.png
    165.3 KB · Visitas: 18
Última edición:
no es una buena costumbre colocar logica en el reloj, es preferible que las salidas del comparador afecten a las señales J y K para detener el conteo.
 
Si fuera CMOS, detener el reloj ahorra energía, esto es lo mas simple con el circuito que da, si por mi fuera, apago directamente la fuente de reloj de ser posible.
 
Si apagas y encendes el reloj es peor todavia porque podes tener pulsos falsos de reloj. No es nada dificil aplicar la salida del comparador a las entradas J y K.

La definicion de un circuito sincronico es que recibe una señal comun de reloj, si le metes logica al reloj ya no es sincronico.

En los circuitos en que se desea ahorrar energia se apaga el reloj pero con logica dedicada que evita pulsos falsos de reloj. Yo diria que fuera de esos casos es preferible acostumbrarse a que el reloj es "sagrado", no se le pone logica porque si, se le hace layout especial, se lo distribuye con mucho cuidado.

Segun recuerdo esto en la Uni no me lo explicaron ni lo recalcaron, pero creeme que colocar logica en la señal de reloj, en una empresa de diseño digitsl, es considerado un error conceptual gravisimo.
 
Última edición:
Estoy de acuerdo con que hay que respetar el reloj, pero probablemente no se use para más en este circuito, en algunos casos solo es agregar complejidad, ruta, espacio necesario, consumo y costo donde algo más simple cumple con el propósito requerido.

Aquí está dejando el reloj intacto.
 

Adjuntos

  • Contador_5-0b.png
    Contador_5-0b.png
    179.3 KB · Visitas: 10
Bueno, es muy cierto lo que comenta chclau... entonces otra solución más "elegante" sería poner lógica en las entradas R asíncronas para enclavar al contador cuando llegue a 0 y así ni se toca la señal de reloj
 
Si hablamos de tener sincronía con reloj, entonces mejor no toques las asíncronas, además durante la transición puedes tener estados indeterminados que pueden disparar eventos en esas entradas por error.
 
Debes realizar la tabla de verdad para el contador, en este caso te recomiendo que sea sincrono, tendría que comenarla de 101 hasta 000 el resto sería 000, la implementación sería con 3 flip flop para que te pueda contar hasta 5, luego te recomiendo los jk, el reloj lo pone a un segundo, y ahí te daría, pero te recomiendo primero que nd utilizar la lógica y realizar la tabla de verdad
 
Muchas gracias a todos por sus respuestas.
Ahora...
¿Cómo podría hacer para que al llegar a 0 comenzara a funcionar el carrito? Usé el circuito que uno de ustedes publicó y me funcionó muy bien, adjunto la imagen del circuito.
 

Adjuntos

  • received_m_mid_1397946383430_1d613c854b12c65330_0.jpeg
    received_m_mid_1397946383430_1d613c854b12c65330_0.jpeg
    41.8 KB · Visitas: 8
Los dos OR actúan como un OR de 3 entradas, cuando llegue a cero el contador la salida será LOW, de ahí debes tomar la señal de activación, pero eso ya depende del resto del circuito, si usas comparadores (por ejemplo el LM393N, recordemos que emplean salidas a colector abierto) así que sería algo así:
motor-con.png
El zenner solo es necesario si el voltaje entre la alimentación del motor y la salida del TTL tiene una gran diferencia, de esta forma evitas el retorno de corriente, por ejemplo en este caso necesitarías un zenner de al menos 7,5V (suponiendo que en estado HIGH del TTL la salida llega a los 4,5V), solo es una idea, los valores son de referencia, tu tienes que calcularlos y revisarlos dependiendo de los componentes que uses, aquí es donde te sugiero que lo pruebes en protoboard en lugar de solo simularlo.
 
Atrás
Arriba