• ¿Quieres apoyar a nuestro foro haciendo una donación?, entra aquí.

Ayuda con sistema de filtro comparador de 6 bits

beliat

Animal
Registrado
2009/04/29
Mensajes
2.401
Sexo
Macho
Resulta que estoy armando un sistema Contador de ciclos de cierta secuencia de un número binario de 3 bits, estas secuencias corresponden a la combinación de las luces de dos semáforos de 3 luces cada uno, rojo,verde y amarillo( en ese orden).
El contador contará cada vez que se cumpla la siguiente secuencia completa correspondiente al encendido y apagado de las luces en ambos semáforos:

1. En el inicio debe estar encendida solo la luz roja, por lo que se tiene : 100 en cada semáforo.
2. Luego deben estar encendidas la luz roja y la luz amarilla, por lo que se tiene: 101 en cada semáforo.
3. Luego deben estar encendida la luz amarilla y la verde, por lo que se tiene :011 en cada semáforo.
4. Luego debe estar encendida sólo la luz verde, por lo que se tiene: 010 en cada semáforo.
5. se vuelve al paso 3.
6. se vuelve al paso 2.
7. se vuelve al paso 1.

Cómo se puede inferir, hay 6 variables (las 3 luces por cada semáforo) , por lo que el total de combinaciones de luces que se pueden dar corresponden a 2^6=64, de esas 64 sólo las 7 secuencias anteriores de pares de 3 bits deben ser tomadas en cuenta para completar un ciclo completo que llegaran a un contador que las acumulará hasta llegar hasta 999.999 y los irá mostrando en 5 displays.

El sistema contador ya lo diseñé y no tiene ningún problema, salvo que me tira un error después de ciertos conteos (error que creo debe ser por la frecuencia de conmutación que le doy a la señal de onda cuadrada al inicio del contador, también hice este con un switch, debido a que la frecuencia en que se cumplirá cada ciclo no es constante, y tb me tire un error en un tiempo mucho más largo eso si) .
Mi principal problema es con el filtro de bits que se deben dar para completar un ciclo que llegará al contador a través de un 1 lógico. Yo lo diseñé con 7 pares de comparadores (74HC85) conectados en serie, debido a que son 6 bits los que se deben comparar con las 6 entradas aleatorias( 3 de cada semáforo). la cuarta entrada de cada comparador sólo las conecté a tierra, para que de esa forma me compare los 6 bits que necesito. hice esto de manera que me comparara primero los bits de una entrada aleatoria con los del paso 1, las salidas mayor y menor las conecté a tierra, con lo que sólo me quedará la salida igual de estos pares de comparadores de 6 bits, esta salida va conectada a una puerta and (74Ls08D) de dos entradas, la otra entra va conectada a 5(V) (1 lógico). con lo que el primer par comparador,al final de la puerta and, arrojará 1 sólo cuando se cumpla el requerimiento del paso 1, es decir, 100 100.....luego, dicha salida la conecté a la entrada(A=B) del siguiente para comparador, este par de comparadores comparará los bits 101 101 de ambos semáforos (correspondiente al paso 2) , de igual forma a lo anterior, saldrá 1 de la salida de este para comparador cuando la entrada aleatoria sea igual a lo requerido......
estos pasos se repiten conectando los otros 5 pares de comparadores de menera que se cumpla la secuencia de código que necesito....al final de este sistema comparados va una puerta and que me dará como salida un 1 cuando se cumpla un ciclo completo, esto va conectado al sistema contador y se mostrará en los displays.

El problema de esto es que no me funciona, ya revisé las conecciones, y la teoría muy bien, y no encuentro el error...de hecho revisé cada par comparador, le asigné a cada numero binario del comparador el mismo valor, de manera que la salida A=B me diera uno y conecté en esa salida un led para ver si me encendía y no pasó nada....los comparadores están perfectamente alimentados con 5 volts y aterrizados y no encuentro cuál es el error....incluso fuí más riguroso y simulé cada comparador con puertas lógicas y nunca se me encendio el led.....luego tambien simulé una simple puerta and de dos entradas y les dí a ambas entradas un valor de 5 volts, por lo que su salida debiera ser un uno lógico...conecté una resistencia de 330 ohms y en serie un led y tampoco encendio.....

todo lo anterior lo simulé en multisim, sería de gran ayuda para mi que me ayudaran con el sistema comparador que usaré como filtro del código , porque no entiendo la falla....si tienen alguna otra idea será bienvenida, a mi no se me ocurre otra.

PD:sorry por el largo de la pregunta pero no pude resumirlo más. ...
 
intentaste apagarlo y encenderlo de nuevo?
 
QUOTE:

" luego tambien simulé una simple puerta and de dos entradas y les dí a ambas entradas un valor de 5 volts, por lo que su salida debiera ser un uno lógico...conecté una resistencia de 330 ohms y en serie un led y tampoco encendio..... "mu

Leí que simulabas en "multisim"... bueno dejame decirte que..... "borra esa wea de programa!!!"

Viejo hay programas mucho mejores que esas porquerias de multisim, orcad, pspice, aunque las nombren mucho en la literatura
de la electrónica, los libros son del año de la pera, actualizados en algunos conceptos y siempre buscan usar pspice para sus cosas simplemente por publicidad.

Te recomiendo el CIRCUIT MAKER, de Protel, gran marca.

Mira, con lo que leí me queda claro que tu problema es la señal de 5V que le envías a tu circuito,
porque es imposible que no te resulte encender un led con 5V y una compuerta lógica AND, correctamente alimentada
cierto?

dibujo-compuertas-and-nand-ttl.png




Es una locura, no creo que conectes el led al reves, no creo que no hayas alimentado bien el integrado.
No creo que esos 15 mA que le das al led, no te alcanzan.

Prueba con 9V

Y trata de hacer tu circuito con diagramas de karnaught.

Yo hice algo parecido a lo tuyo, un semasforo, pero no me acuerdo como lo hice, fue con unos contadores integrados.
y tambien hice un conversor de binario a hexadecimal con 32 integrados de puertas lógicas y nunca un atado.

Suerte y avisa.
 
QUOTE:

" luego tambien simulé una simple puerta and de dos entradas y les dí a ambas entradas un valor de 5 volts, por lo que su salida debiera ser un uno lógico...conecté una resistencia de 330 ohms y en serie un led y tampoco encendio..... "mu

Leí que simulabas en "multisim"... bueno dejame decirte que..... "borra esa wea de programa!!!"

Viejo hay programas mucho mejores que esas porquerias de multisim, orcad, pspice, aunque las nombren mucho en la literatura
de la electrónica, los libros son del año de la pera, actualizados en algunos conceptos y siempre buscan usar pspice para sus cosas simplemente por publicidad.

Te recomiendo el CIRCUIT MAKER, de Protel, gran marca.

Mira, con lo que leí me queda claro que tu problema es la señal de 5V que le envías a tu circuito,
porque es imposible que no te resulte encender un led con 5V y una compuerta lógica AND, correctamente alimentada
cierto?

dibujo-compuertas-and-nand-ttl.png




Es una locura, no creo que conectes el led al reves, no creo que no hayas alimentado bien el integrado.
No creo que esos 15 mA que le das al led, no te alcanzan.

Prueba con 9V

Y trata de hacer tu circuito con diagramas de karnaught.

Yo hice algo parecido a lo tuyo, un semasforo, pero no me acuerdo como lo hice, fue con unos contadores integrados.
y tambien hice un conversor de binario a hexadecimal con 32 integrados de puertas lógicas y nunca un atado.

Suerte y avisa.



Hacer un semáforo es algo simple, mi problema era otro, pero está resuelto, un sistema secuencial lo solucionó todo, y funciona :biggrin-91: ..............Al final boté el multisim y lo simulé en proteus, mucho mejor programa...Saludos!
 
Proteus es pura challa
Orcad, multisim, papiro pasaron de moda.

Hay mucho software libre muy bueno.

Que bueno que hayas llegado a una solución. Algo impracticable en la vida real.

Enviado desde mi LG-E612g mediante Tapatalk
 
Volver
Arriba