Autor Tema: Pull-up en Proteus  (Leído 5574 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
Pull-up en Proteus
« en: 26 de Febrero de 2003, 12:25:00 »
Estoy haciendo un temporizador para una insoladora. Simulando en proteus no consigo que las resistencias de pull-up activadas en el 16f84 funcionen. Alguién sabe como. De momento sólo estoy haciendo pruebas, vamos que no tengo circuito definitivo.
Por cierto, como pongo una bombilla como las de casa y la alimentación de la red (220v). Como no sabía puse una lamp a 220v (8ohms) y un vsource a 220v, ya que lo que me interesa es ver si conmuta el relé.
Os pongo el programa, pero recordaz que es un prueba.
Por tanto lo que quiero ahora es que si pulso RB1 encienda y si pulso RB1 o RB2 apague. Todo con PULL-UP.
Otra cosa, como RB0 la voy a usar como interrupción, también se le afecta la entrada pull-up no?
Dejo el asm, el archivo de proteus y el hex.
Saludos desde Huelva (ESPAÑA)

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Pull-up en Proteus
« Respuesta #1 en: 27 de Febrero de 2003, 00:49:00 »
Hola cucaracha.

Las pull-up, si mal no recuerdo, no funcionan con PROTEUS. Es otro de los bugs. Ahora no puedo, pero te reviso el programa y circuito esta tarde.

Creo que sería interesante el hacer una lista con todos los bugs encontrados en PROTEUS para que otra gente no pierda tiempo y se coma el tarro como nos ha pasado a alguno de nosotros...

Un saludo.

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Pull-up en Proteus
« Respuesta #2 en: 27 de Febrero de 2003, 07:23:00 »
No se como ni por qué, pero de repente empezaron a funcionar las pull-up internas.
Ya tengo el programa casi listo, y luego a probar y solucionar errores. Que soy nuevo en esto de interrupciones con los pic, aunque las manejé en 8051.

Una duda, necesito un BIT (o más), para usarlos como flags, pero no se si el pic te permite accesar la ram a nivel de BIT, vamos los de propósito general (GPR). He pensado si no se puede, usar los bits 6 y 7 del STATUS, ya que en el 84 no se usan, pero en el datasheet recomienda que no se usen por incompatibilidades con futuras u otras versiones (y a mi que??).
Bueno que piensan.
En cuanto lo tenga listo lo cuelgo

Por cierto pocher, otro de los bugs del proteus es el predivisor contando pulsos externos. Simulé un frecuencimetro de esos con pic y además de que van lentiiiiiiiiisimo, no funciona o al menos a mi no me funcionó (notar que montándolo en placa de pruebas si funcionaba).
Saludos desde Huelva (ESPAÑA)

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Pull-up en Proteus
« Respuesta #3 en: 27 de Febrero de 2003, 08:22:00 »
No había caído, debe ser el los nervios por el puente. Haciendo un debug en MPLAB he comprobado que al menos bajo el programa si que se puede acceder a nivel de bits. Por lo menos si escribo en un bit de una variable este cambia al valor que le digo (0 ó 1). De todos modos habrá que verlo una vez montado o en el proteus si también va. Supongo que si, pero bueno...
Saludos desde Huelva (ESPAÑA)

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Pull-up en Proteus
« Respuesta #4 en: 27 de Febrero de 2003, 12:47:00 »
Hola cuca.

Conforme tienes la programación, en los pines del PORTB debieran de haber inicialmente un 1 (VCC + "resistencia" pull-up), pero no los reconoce y el programa va mal (sin activar el pulsador de marcha se activa el transistor y no debiera). Para que funcione bien debes hacer "a piñón" en la inicialización:

                     MOVLW "11111111"
                     MOVWF PORTB

De esa forma cuando lances 0"s al soltar el pulsador ya sí acepta el 1 de la pull-up y el programa va bien.

Si quieres simular rápido hazlo con LOGICPROBE para salidas y LOGICSTATE para entradas. Si de una forma real como lo has hecho.

Como fuente de a.c. yo usaría el ALTERNADOR en lugar del VSINE, es menos complicado.

Si en la fuente de a.c. pones 220V y 50Hz la luz no luce y sí debiera. Si la quieres ver luciendo disminuye la frecuencia a 5Hz.

Cuando tengas el programa totalmente acabado súbelo, a ver que pasa con esas  pull-ups que aparecen y desaparecen.

Un saludo.


 

anything