TODOPIC

Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: pandarojo en 17 de Mayo de 2007, 08:31:09

Título: error al simular en isis
Publicado por: pandarojo en 17 de Mayo de 2007, 08:31:09
Hola a todos, pues estoy intentando probar un código basic hecho con microcode studio y me sale el siguiente log en el isis:

SIMULATION LOG
==============

Compiling source files...
Build completed OK.
Compiling netlist...
Linking netlist...
Partition analysis...

Simulating partition 1 [4568DF5F]...
PROSPICE Release 6.9 SP4 (C) Labcenter Electronics 1993-2006.
SPICE Kernel Version 3f5. (C) Berkeley University ERL.

Reading netlist...
Reading SPICE models...
Loaded SPICE model '2N3904' from library 'FAIRCHLD'
Building circuit...
Instantiating SPICE models...
[U1] PIC16 model release 6.9 SP0 simulating PIC16876 device.
[U1] Loaded 256 bytes of persistent EEPROM data.
[U1] Loading HEX file 'contador 3 digitos.hex'.
[U1] Read total of 770 bytes from file 'contador 3 digitos.hex'.
[U1] Loaded 383 program words and 0 data bytes.
[SPICE] DELMIN increased to 8.88178e-16 due to lack of time precision
[SPICE] transient GMIN stepping at time=4.68062
[SPICE] transient GMIN stepping at time=26.2888
[SPICE] transient GMIN stepping at time=29.136
[SPICE] transient GMIN stepping at time=29.1867
[SPICE] transient GMIN stepping at time=29.2886
[SPICE] DELMIN increased to 3.55271e-15 due to lack of time precision
[SPICE] transient GMIN stepping at time=29.2886
[SPICE] Error 106 - TRAN:  Timestep too small; time = 29.2886, timestep = 4.44089e-16: trouble with node "#00025"
.
Totaliters=272112, Totalsteps=68726, Goodsteps=58267, Badsteps=10459


Real Time Simulation FAILED.

¿que puede estar pasando?, soy novato en estos temas, pero con vuestra ayuda seguro que podré avanzar.


el codigo sería este:



define OSC 4


ADCON1 = 7    'PORTA entradas digitales
TRISB = %00000000
TRISC = %00000000 
clear
 

cont var word
i    var byte
unid var byte
dece var byte
cent var byte
auxconteo var bit

detector var porta.0
reset var porta.5
motorbaja var porta.1
motorsube var porta.2

cont = 1000
auxconteo = 0


principal:

gosub contar

gosub visualizar

gosub error

goto principal


contar:
     
      if detector = 0 then auxconteo = 0

   if detector = 0 or auxconteo = 1 then return
          
    gosub visualizar 'aprovechamos para usar el ciclo de visu para antirrebote
      
    if motorsube = 0 and motorbaja = 1 then cont = cont + 1
    if motorbaja = 0 and motorsube = 1 then cont = cont - 1
   
    if cont < 1000 then cont = 1000
   
    auxconteo = 1
 
     
   
   return


visualizar:

        unid = cont dig 0   
        PORTB = unid + 16
        PAUSE 50  ' valor de 50 para visualizar bien en proteus
        dece = cont dig 1
        PORTB = dece + 32
        PAUSE 50
        cent = cont dig 2
        PORTB = cent + 64
        PAUSE 50
       
    RETURN


error:
   
   if motorsube + motorbaja < 2 then return

   visuerror:

        PORTB = 8 + 16
        PAUSE 50
        PORTB = 8 + 32
        PAUSE 50
        PORTB = 8 + 64
        PAUSE 50

   if reset=0 then goto visuerror

   cont=1000

   goto principal

end

el circuito sería este, si tiene errores las sugerencias son bienvenidas:

(http://img516.imageshack.us/img516/5623/contcadenagf0.th.jpg) (http://img516.imageshack.us/my.php?image=contcadenagf0.jpg)


Saludos.
Título: Re: error al simular en isis
Publicado por: vszener en 19 de Mayo de 2007, 15:25:38
Entre activación de un diaplay a otro de 7-SEG deja un tiempo de espera, el ojo humano no percive el parpadeo entorno a las esperas de 10-20ms.


Suerte!!! ;)
Título: Re: error al simular en isis
Publicado por: BrunoF en 20 de Mayo de 2007, 02:11:44
Hola.

A mi ese error me ha sucedido muchas veces. Algunas veces por algo mal en el circuito o bien completamente al azar. Tal vez si cambias de version de Proteus por una mas nueva, se solucione.

Saludos.
Título: Re: error al simular en isis
Publicado por: lord_micro en 20 de Mayo de 2007, 20:07:20
hola q tal pandarojo, de que manera has conectado los display 7 segmentos?
Título: Re: error al simular en isis
Publicado por: pandarojo en 26 de Mayo de 2007, 05:09:19
Gracias por las respuestas. Ya lo he solucionado. Entiendo que era un fallo del Isis, el circuito funciona ok en la realidad.

Entre activación de un diaplay a otro de 7-SEG deja un tiempo de espera, el ojo humano no percive el parpadeo entorno a las esperas de 10-20ms.


Suerte!!! ;)

Si miras el comentario del programa, verás que le había puesto 50 ms de retardo para que se visualice bien en la simulación con mi pc, en el circuito real lo he dejado en 5ms, y va OK



hola q tal pandarojo, de que manera has conectado los display 7 segmentos?


Pues los he conectado sacando lo que quiero visualizar en bcd por el portB y a traves de un 4511 (conversor bcd a 7 segm) a los displays y unos bc547 para activar cada dígito con los pines portb4, 5 y 6. No sé si te referías a esto.


Ahora me propongo activar 6 dígitos con un 4511 y seleccionar cada uno con un 74ls42 (conversor de bcd a decimal), a ver si va ok.


Saludos.
Título: Re: error al simular en isis
Publicado por: PalitroqueZ en 26 de Mayo de 2007, 15:42:52
si a mi también me sucede ese fallo con mucha frecuencia, y si puedo concluir que cuando salen errores de este tipo:

[SPICE] transient GMIN stepping at time=4.68062
[SPICE] transient GMIN stepping at time=26.2888
[SPICE] transient GMIN stepping at time=29.136
[SPICE] transient GMIN stepping at time=29.1867
[SPICE] transient GMIN stepping at time=29.2886
[SPICE] DELMIN increased to 3.55271e-15 due to lack of time precision
[SPICE] transient GMIN stepping at time=29.2886
[SPICE] Error 106 - TRAN:  Timestep too small; time = 29.2886, timestep = 4.44089e-16: trouble with node "#00025"

es seguro que el circuito está muy sobrecargado, o no se le da tiempo suficiente para ejecutar la simulación, este error me ha salido con poner por ejemplo un operacional adicional alimentado con otra fuente, le quito el I.C. y salva el error.