TODOPIC

Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: cucaracha en 18 de Septiembre de 2003, 11:14:00

Título: Bug Proteus
Publicado por: cucaracha en 18 de Septiembre de 2003, 11:14:00
Probando un circuito, he comprobado que los diodos zener no funcionan. Al menos eso creo. Me ocurrió hace algún tiempo otra vez. No se si aquella vez lo comenté en el foro.
En fin prueben y comprueben.
Un saludo.
Título: RE: Bug Proteus
Publicado por: Micom en 18 de Septiembre de 2003, 21:45:00
Hola cuca fijate que yo puse la simulacion de un circuito que hace ocilar 12 diodos pero yo ya lo habia hecho con un pic y me funcionaba de maravilla apesar que le habia dejado el porta,4 como salida pero al simularlo con el proteus no me funciono tuve que cambiar en le asm el porta,4 a entrada y entonces funciono ¿Crees que sera un bug?    saludos micom      
Título: RE: Bug Proteus
Publicado por: pocher en 19 de Septiembre de 2003, 01:02:00
Creo que Cucaracha se refiere a diodos Zener, no a diodos LED.

El PORTA4 como salida si no le pones una resistencia de carga no puede encender el LED ni en PROTEUS ni físicamente.

Un saludo
Título: RE: Bug Proteus
Publicado por: Elena2000 en 19 de Septiembre de 2003, 04:24:00
Exacto, esa salida del PIC está a alta impedancia....

Elena
Título: RE: Bug Proteus
Publicado por: cucaracha en 19 de Septiembre de 2003, 04:38:00
Bien,pues he estado intentando hacer funcionar el RA4 y no soy capaz. A ver quéen lo hace. Les dejo un ejemplo de parpadeo, para que sólo tengan que hacer los cambios para el RA4.
http://miarroba.com/foros/ver.php?temaid=548749&foroid=85505
Un saludo.
Título: RE: Bug Proteus
Publicado por: Elena2000 en 19 de Septiembre de 2003, 06:00:00
Pero Cuca, para hacer funcionar la patIta RA4 como salida no basta con cambiar la configuración de los puertos por software; necesariamente hay que poner una resistencia de pull-up a esa pata porque por dentro no tiene positivo, como el resto....

Saludetes
Elena
Título: RE: Bug Proteus
Publicado por: cucaracha en 19 de Septiembre de 2003, 06:31:00
Ya.
Prueba.
Título: RE: Bug Proteus
Publicado por: Elena2000 en 19 de Septiembre de 2003, 08:58:00
Vale, Cuca, yo aquí no lo puedo probar, pero mira...

El hardware: Se de sobra que conoces la peculiaridad de la famosa patita RA4, que tiene colector abierto a la salida en lugar de ser bipolar. Vale, asumo que has puesto una resistencia entre VCC y RA4, mínimo 4,7K, Bien.

Vamos con el software, he modificado el programa del parpadeo, pero sólo la configuración de los puertos y la rutina de parpadeo:


   ORG   00H   
   BSF   STATUS,RP0
   ;Instanciar el PIC a estado de control
   MOVLW   B"11100000"
   MOVWF   TRISA   
   ; El puerto A como SALIDA
   MOVLW   B"11111111"
   MOVWF   TRISB
   ;El puerto B como entrada.. no se usa..
   BCF   STATUS,RP0
   

INICIO

   BSF PORTA,4
   CALL DEMORA
   BCF PORTA,4
   CALL DEMORA
   GOTO INICIO

-----------------------------
Esto ya ves que es una chorrada, Cuca... de verdad que yo lo he hecho en casa, siempre colocando la resistencia, y me ha funcionado.....

Anda, prueba si quieres esto y dime qué tal...

Saludetes
Elena
Título: RE: Bug Proteus
Publicado por: cucaracha en 19 de Septiembre de 2003, 09:10:00
Esa es la cosa. Esto es exactamente lo que he hice. Pero no funciona. Bueno, si, pero poniendo una resistencia muy pequeña, de 100, cosa que en verdad es incorrecto.

Un saludo.
Título: RE: Bug Proteus
Publicado por: cucaracha en 19 de Septiembre de 2003, 09:18:00
Solucionado.
Para que funcione, no sirve con colocar una resistencia normal. Hay que colocar una "PULLUP" de la librería DSIMMDLS.
En fin...
Un saludo.
Título: RE: Bug Proteus
Publicado por: Elena2000 en 19 de Septiembre de 2003, 09:36:00
Ufffffffffffffffffff !!!!!!!!!

qué alivio.... empezaba a preocuparme.....

Besotes y buen fin de semana!
Elena
Título: RE: Bug Proteus
Publicado por: pocher en 19 de Septiembre de 2003, 10:02:00
Jolin como se ha complicado esto, vamos a complicarlo un poco más:

¡¡¡Con una resistencia normal también funciona!!!

Ahí va el fichero: http://miarroba.com/foros/ver.php?temaid=1053517&foroid=132071

Vamos a complicarlo todavía más:

He probado dos circuitos "chorras" con Zeners y sí que funcionan los Zeners. Ahí van los circuitos: http://miarroba.com/foros/ver.php?foroid=132071&temaid=1053529

Quizá haya que sacar como conclusión que dependiendo del circuito o del programa al que se apliquen determinados componentes estos funcionan o no.

¿Que os parece?

Título: RE: Bug Proteus
Publicado por: cucaracha en 19 de Septiembre de 2003, 10:40:00
Cierto, funciona con una resistencia normal de ese modo, pero no con un led. Por tanto depende de lo que le pongas como bien dices.
El otro, pues si, cierto, asi funciona. ????
En fin, nada como montar físicamente, el olor a zener quemado...
Aunque esto es más comodo.
Un saludo
Título: RE: Bug Proteus
Publicado por: Micom en 20 de Septiembre de 2003, 20:51:00
Ya vieron elcircuito que subi de 12 leds yo trate de hacerlo funcionar con trece leds pero nunca me funciono por eso ni simulado ni en el circuito real haver que solucion hay    
Título: RE: Bug Proteus
Publicado por: pocher en 21 de Septiembre de 2003, 02:20:00
He probado tu circuito Micom y tienes al igual que Cucaracha razón. Conclusión: ¡bug!  ¡bug!  ¡bug!

¡¡¡ El pin RA4 actuando como salida (y con su correspondiente resistencia de carga) no es capáz de activar a los diodos LED del PROTEUS !!!

SOLUCIÓN: cambiar el LED y su resistencia limitadora por una "LOGIC PROBE". Con este componente sí funciona RA4

Un saludo
Título: RE: Bug Proteus
Publicado por: cucaracha en 21 de Septiembre de 2003, 05:12:00
Micom, sustituye la resistencia por una de PULLUP, como expliqué más arriba y así tu ejemplo si funciona. Comprobado.
Un saludo.

Título: RE: Bug Proteus
Publicado por: MarquesSalsero en 21 de Septiembre de 2003, 06:13:00
Amo a ve"..... la salida es de colector abierto, por lo tanto nunca podremos usarla ( o nunca deberemos hacerlo ) poniendo una resistencia a positivo y entonces una resistencia desde dicha salida y un led a masa.

Por que? pues porque dicha salida jamas, insisto jamas va a funcionar como fuente de corriente, por lo tanto nunca va a suministrar corriente para encender el led. lo Unico que podriamos gacer en esa configuración es. poner una resistencia de muy bajo valor entre la salida y positivo y entonces como se ha mencionado una resistencia y un led entre la salida y masa. Pero... en este caso el led se enciende cuando la salida está en alta impedancia ( a nivel digamos 1 ) y cuando ponemos la salida a cero el LED se apaga, pero se apaga porque lo estamos cortocircuitando y sobrecargando el PIC.

La forma correcta de encender un led con esta salida es: resistencia de limitacion del led a positivo y catodo del LED a la salida, de esta manera se encenderá cuando pongamos la salida a cero ( es decir logica inversa )

Ya si funciona en Proteus o no, no lo se ya que no lo tengo y jamas lo he probado ( ni este ni ningun otro simulador de circuitos ) y el tema del soft, pues simplemente defines la linea como salida y a parpadear LEDs.

Si la salida la queremos usar como una salida normal para atacar otra puerta logica o lo que se nos ocurra pues ( como ya ha dicho creo que Elena ) resistencia de valor medio a positivo y ya tenemos una salida bastante estandard, solamante tener en cuenta que al poner la salida a cero el transistor nos va a poner la resistencia a masa y por un lado genera un consumo y por otro una disipación en el PIC, así que si el resto de nuestro circuito lo admite mejos 220k que 4k7.
Título: RE: Bug Proteus
Publicado por: marmatar en 21 de Septiembre de 2003, 11:04:00
Hola... de si en el Proteus hace algún problema en particular, no lo he probado... pero en Microchip hay material que explica la conexión a los puertos de leds, y displays de leds... e incluye el problema de la salida con colector abierto.
Por ejemplo en la appnote TB029: Complementary LED Drive en el apartado SPECIAL CONSIDERATIONS.
Lo pueden encontrar en http://www.microchip.com/download/appnote/devspec/16c5x/91029a.pdf

Para ver el material de Displays, conexión de llaves, etc... y distintas maneras de multiplexarlos... en la appnote AN234: Hardware Techniques for PICmicro Microcontrollers se puede encontrar en http://www.microchip.com/download/appnote/pic16/00234a.pdf

Un abrazo a tod@s
marmatar
Título: RE: Bug Proteus
Publicado por: pocher en 21 de Septiembre de 2003, 14:10:00
Como bien dice Marqués, cuidado con el valor de la resistencia de carga que se coloque entre VCC y RA4. Si colocamos una resistencia por ejemplo de 10k, este valor no será capaz de encender el diodo LED.

Metiendo una de 330 entre VCC y RA4 y el diodo LED entre RA4 y masa (sin resistencia) sí que funcionaría.

Cuando en RA4 hubiesen 0V haría de resistencia de carga para el transistor (SATURACION) y la corriente que absorvería el PIC sería de unos 25mA.

Cuando el transistor estuviese en CORTE la resistencia haría de resistencia limitadora del diodo LED y lo encendería.

Respecto a utilizar el LED con su resistencia limitadora como conjunto de carga del pin RA4 es correcto con la particularidad que para que se encienda hay que mandar un "0" a la salida del PIC (a diferencia del caso anterior en el que había que mandar un "1".

Espero que el desarrollo sea correcto, pensarlo a ver que os parece.

Un saludo


Título: RE: Bug Proteus
Publicado por: felipito1 en 23 de Septiembre de 2003, 05:56:00
A la salida de RA4 se coloca una resistencia de unos 3K3 con Vcc , tambièn en RA4 la base de un transistor npn (ejemplo 2n3904, 2n2222 ò similar) con emisor a tierra y en el colector puede conectar la corriente que le aguante el transistor en este caso 500 mA, ò un darlinton y pare de hablar....