desktop

Problemas de simulación con Proteus

Eso que está pasando es un problema muy común al trabajar con I2C en Proteus.
Se soluciona estableciendo las resistencias pull-up del bus como digitales.

Como no está trabajando el chip DS3232, cuando termina el seteo el valor leído siempre será 0

Nota: Lo pudiste haber notado desde que inicia la simulación.
 
Saludos amigos, tal vez le haya sucedido a alguien que un programa en pic c funcione correctamente en el protoboard, pero no quiera simular en Proteus? Lo casi lógico es que funcione en el simulador pero muchas veces no en la realidad. Lo cierto es que el programa en cuestión funciona muy bien en el protobard, pero cuando lo ejecuto en el simulador, todo funciona hasta el seteo de la hora y fecha, pero cuando "culmino" el seteo, todo se vuelve a cero. Como si no se hubiese aceptado el seteo.

Proteus no se lleva bien mezclando elementos analógicos con digitales.

A las resistencias R1 y R2 o bien las cambiás por resistencias PULLUP o cambiás el atributo de las resistencias por DIGITAL
reloj.jpg
 
Eso que está pasando es un problema muy común al trabajar con I2C en Proteus.
Se soluciona estableciendo las resistencias pull-up del bus como digitales.

Como no está trabajando el chip DS3232, cuando termina el seteo el valor leído siempre será 0

Nota: Lo pudiste haber notado desde que inicia la simulación.
Muchas gracias amigo D@rkbytes por tu respuesta, la pondré en práctica y me aplicaré más.
Proteus no se lleva bien mezclando elementos analógicos con digitales.

A las resistencias R1 y R2 o bien las cambiás por resistencias PULLUP o cambiás el atributo de las resistencias por DIGITAL
Ver el archivo adjunto 276938
Gracias amigo Eduardo. Les comentaré.
Proteus no se lleva bien mezclando elementos analógicos con digitales.

A las resistencias R1 y R2 o bien las cambiás por resistencias PULLUP o cambiás el atributo de las resistencias por DIGITAL
Ver el archivo adjunto 276938
Funcionó correctamente!!! Muchas gracias. Aun no entiendo cómo puede afectar ese cambio de análogo a digital en Proteus (porque se trata de una simple resistencia), seguiré investigando.
 
Última edición:
Saludos.

La variable PORTA permanece con el mismo valor('\0') cuando deberia cambiar su valor de la misma manera que lo hicieron las demas variables(que se encuentran en rojo) como se aprecia en la imagen adjunta.

Gracias.
 

Adjuntos

  • falla proteus debug.JPG
    falla proteus debug.JPG
    144.7 KB · Visitas: 11
Saludos.

La variable PORTA permanece con el mismo valor('\0') cuando deberia cambiar su valor de la misma manera que lo hicieron las demas variables(que se encuentran en rojo) como se aprecia en la imagen adjunta.

Gracias.

Quizás porque si pones a 1 el Bit 0 del registro TRISA convierte ese pin en entrada y no salida.
 
Pon un "break" para que el programa pare en la rutina de la interrupción. Si entra en la misma es que todo anda bien, sino es que esta mal configurada las interrupciones. Por lo pronto parece que entra porque el puerto A esta en 0.

El problema es que lo único que hace la interrupción es poner el bit 0 del puerto A en "0" por lo que si paras el programa luego de eso no hay nada que lo ponga a "1" y la variable PORTA estará en 0. (Todo eso suponiendo que la instrucción "bit_set()" maneje el registro "LATA" -Latch- haciendo todo automático).

Prueba con hacer un XOR con "1" para que el valor del puerto cambie cada vez que entre en la interrupción.
 
Que tal amigos, le agradecería si pudieran apoyarme con este detalle al momento de simular en proteus, me aparece que DSIM falla al monto de conectar con el pin Vcc y GND,( todo esto paso poruqe cree de manera manual con un TIL14 un packing tool de la compuerta not ) ... Adjunto imagen para mayor comprensión.. Muchas gracias de antemano amigos.16791029364537738810332421307216.jpg
 
Sube tu archivo de simulacion y el paquete creado.

Pero ahí dice que no encuentra el pin GND y VCC del integrado U2.

Desconozco cómo lo creaste, pero si intentas simular, no va a funcionar dependiendo de cómo lo hayas hecho, tienes que crear un componente simulable, no es dibujar y listo...
 
Sube tu archivo de simulacion y el paquete creado.

Pero ahí dice que no encuentra el pin GND y VCC del integrado U2.

Desconozco cómo lo creaste, pero si intentas simular, no va a funcionar dependiendo de cómo lo hayas hecho, tienes que crear un componente simulable, no es dibujar y listo...
Le agradezco por haberme respondido, le comparto la simulación, la creación de este package tool fue porque quiero hacer un placa pcb y lo único que hice fue asignarle los número de pines...tal y como se puede apreciar en el package tool de la compuerta not
 

Adjuntos

  • RETARDO A LA CONEXION.rar
    20.8 KB · Visitas: 6
Le agradezco por haberme respondido, le comparto la simulación, la creación de este package tool fue porque quiero hacer un placa pcb y lo único que hice fue asignarle los número de pines...tal y como se puede apreciar en el package tool de la compuerta not
Hola.
Agregando a lo que dijo DJ T3 y D@rkbytes, proteus tiene dos grandes bloques de componentes, los que son específicos (tienen código y/o también simulan, ojo no todos) y los genéricos (de simulación ideal), entonces has usado un componente solo de simulación o ideal, te conviene buscar el nombre adecuado del componente como el CD40106 que si tiene package y pines identificados
 
Hola, tengo Proteus 8.16 y no me funcionan las herramientas de medición, o_sea el voltímetro , amperímetro, etc..
¿Cómo puedo solucionarlo?
G
racias.
 

Adjuntos

  • circuit.png
    circuit.png
    123.9 KB · Visitas: 24
Los duplicadores/multiplicadores funcionan con corriente alterna.
Proteus no es muy apto, por no decir inútil, para simular circuitos análogos.
Como quiera, con el diodo D2 se debería mostrar este valor de tensión:
Con diodo.jpg

Sin el diodo D2:
Sin diodo.jpg

Aunque el circuito no sea simulado con alterna, se deberían ver esos valores.
Si lo componentes no fueran simulables, Proteus mostraría un error.
Otra causa es que el programa es pirata y por eso no funciona.
 
mira lo que me sale ahora, no se esta multiplicando el voltaje, ese el mismo circuito del libro. esta hecho en el multisim 14.2 .
gracias
 

Adjuntos

  • circuitoo.png
    circuitoo.png
    84.2 KB · Visitas: 25
Atrás
Arriba