TODOPIC
Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: Rakamail en 14 de Diciembre de 2006, 19:05:10
-
y eso que el circuito ya está en prototipo y funciona de lujo!!!
El asunto es que estoy empezando con el proteus, y no consigo simular un simple pulsador de keyboard. Si veis el gráfico que adjunto, abajo a la izquierda hay un pulsador que a la derecha tiene un cero y a la izquierda un uno... ¿Como es posible?
-
¿Cuál puede ser la razón de esto? Ya habéis visto que se trata de una matriz simple de teclado, en la entrada al pic debiera de haber un 1 siempre que no se pulse ninguna tecla, y al pulsarla, como se va rotando las filas a cero se identifica bien cuál es la pulsada. Ya os digo que el prototipo que he construido funciona estupendamente (estoy "limpiando" el código para poder ponerlo en este foro de manera decente), así que no sé lo que estaré haciendo mal en el proteus. ¿Puede ser algo de la fuente de alimentación?
-
por más que lo veo no lo pillo... tiene que ser algo de la configuración de la fuente de alimentación, de las patillas del pic o de algo de magia, porque no llego a entender porque no se simula bien, cuando en la realidad funciona tal y como se le supone.
-
Estoy haciendo pruebas, y veo que el asunto está localizado en el 4556, el demultiplexador.
Las filas del teclado estan contínuamente siendo activadas en rotación, mediante este 4556, en funcionamiento normal. La simulación es correcta en cuanto que la salida del 4556 es correcta.
si sustituyo las salidas del 4556 por tomas a "1" o "0", funciona correctamente. Entiendo entonces que el 4556 no está bien preparado para simular.
-
Tendrás otro IC en las librerías que cumpla la misma función ?
Al menos que haga algo parecido y de esa forma sabrás si es un bug en la librería del 4556.
O bien reemplazar esa llave con un BUTTON común, a ver que pasa.
Exitos !
Mario
-
Veo que tu CPU load esta al 100%, eso es poruqé en tú programa, los tiempos de barrido de los pulsadores es muy pequeño (cosa normal) y ese tiempo tan pequeño, quizás, hace que el simulador Proteus se sature y no lea el último pin, baja el tiempo de simulación de Proteus a ver que tal va.
PD: Temas de simulaciones deben ir al subforo de simuladores de circuitos, para que el foro esté bien estructurado.
Suerte!!! :)
-
Uy, perdón, no me he dado cuenta y he puesto el hilo en el sitio equivocado. Si algún moderador lo quiere mover, se lo agradezco.
Gracias por las respuestas ¿Y como se hace eso de bajar el tiempo de barrido?
-
No tengo en este ordenador instalado el Proteus, así que te lo diré de memoria :shock: jeje, haber, por orden general, es decir, por defecto, el Proteus viene configurado para hacer barridos cada 50ms, esos e puede cambiar, creo recordar, pulsando sobre System en el menú de herramientas, se te abrirá un dialogo con algunas opciones, pues es en la que pone noseque simulated noseque, jeje, vamos donde ponga algo de simulacion pulsa ahí, y ya te saldra un cuadro de configuración, donde podras ver en una casilla un 50ms y en otra lo mismo 50ms, ahí es donde tienes que poner un dato menor que el 50ms, y verás que la CPU load ya no está al 100% (eso sí, tampoco trabajará en tiempo real)
PD: Si no lo encuentras (que lo entenderia, teniendo en cuenta como te lo he explicado :mrgreen: ), cuando esté delante de mi ordenador con el proteus instalado te digo los pasos exactos a seguir.
Feliz Navidad!!! ;)
-
Gracias por mover el hilo a su sitio
Para intentar aclararme cuál es el origen del problema, he simplificado el circuito tal y como adjunto. Si levanto el interruptor, el voltímetro marca unos perfectos 5V, pero si lo cierro, ya veis, marca 4,17V ?!?!?! y aunque no se ve, el uso de CPU es normal (4%)
-
Se trata de un bug del 4556, porque he encontrado un equivalente (74S139), y funciona correctamente. Muchas gracias por vuestra ayuda.
Y funciona, pero con el CPU a 100%, así que todavía tengo que ver como solucionar lo de los tiempos de simulación...
-
Te mando una imagen donde funciona bien el dispositivo.
Creo que el problema que te sucede en tu esquema es el siguiente. Tienes 5V y dos resistencias (Una la externa de 4k7 y otra la interna del del 4556) con lo que se genera un divisor de tensión, que es el que te está indicando con tu voltimétro.
Espero que te ayude.