TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: OTSELECTRONICSEIRL en 11 de Julio de 2009, 01:59:23

Título: PROBLEMA CON TEMPORIZACION EN PIC16F84A-20/P
Publicado por: OTSELECTRONICSEIRL en 11 de Julio de 2009, 01:59:23
Buenas noches. Tengo problemas al medir tiempos con el osciloscopio. Por ejemplo temporizo para que un led prenda 1 seg, trabajando con cristal de 20MHz, en proteus OK pero cuando lo monto en protoboard o en esas plakitas perforadas la temporizacion resulta mas de 3 s. Estoy usando en los bits de configuracion HS. ¿Que puede estar pasando? en el manual del PIC16F84A señala que para cristal de 20MHz debe considerarse una Rs, pero no dice de que valor. ¿Alguien del foro tuvo algun problema similar?. Tambien estoy intentando en el Proteus visualizar la oscilacion del cristal poniendo el osciloscopio en el pin15 del PIC pero nada!. ¿Alguien del foro logro medir con un osciloscopio real en el laboratorio el pin 15 (CLKOUT)?, si es afirmativo, cual es el Vpp?
Gracias por sus respuestas de antemano.
Título: Re: PROBLEMA CON TEMPORIZACION EN PIC16F84A-20/P
Publicado por: Miquel_S en 11 de Julio de 2009, 05:27:13
Hola OTSELECTRONICEIRL, referente al problema con la medicion del osciloscopio no puedo ayudarte ya que no tengo ningun osciloscopio a mano,y con lo del programa deberias postearlo y veriamos donde estas fallando.
De todas formas si haces las temporizaciones con PicDel de dara el tiempo exacto:


 PDelay  movlw     .165      ; 1 set number of repetitions (C)
        movwf     PDel0     ; 1 |
PLoop0  movlw     .41       ; 1 set number of repetitions (B)
        movwf     PDel1     ; 1 |
PLoop1  movlw     .147      ; 1 set number of repetitions (A)
        movwf     PDel2     ; 1 |
PLoop2  clrwdt              ; 1 clear watchdog
        clrwdt              ; 1 cycle delay
        decfsz    PDel2, 1  ; 1 + (1) is the time over? (A)
        goto      PLoop2    ; 2 no, loop
        decfsz    PDel1,  1 ; 1 + (1) is the time over? (B)
        goto      PLoop1    ; 2 no, loop
        decfsz    PDel0,  1 ; 1 + (1) is the time over? (C)
        goto      PLoop0    ; 2 no, loop
        return              ; 2+2 Done

 Saludos.
Título: Re: PROBLEMA CON TEMPORIZACION EN PIC16F84A-20/P
Publicado por: OTSELECTRONICSEIRL en 11 de Julio de 2009, 05:53:03
Gracias Miguel_S, revisare el PicLoops:DelayLoopCalculatorV2.1 que he estado usando, pero como te digo lo raro es que en Proteus OK pero en el protoboard "real" es el doble de tiempo. Le revisare mas cuidadosamente, ¡gracias!.
Por otro lado, estoy detectando flancos de subida por RB0, es decir estoy inyectando pulsos por RB0 mediante dipswitch, y SURGE EL PROBLEMA DEL EFECTO REBOTE, pues bien se que por software se elimina el efecto rebote cuando el PIC detecta cambios de nivel, pero no veo que sea util usar software para eliminar el rebote cuando quiero detectar flancos de subida en RB0 para causar una interrupcion. Lo unico que me queda es eliminar el efecto rebote por hardware. No se si mi razonamiento esta equivocado.
Suponiendo que estoy en lo correcto y apuesto por eliminar el rebote por hardware, recuerdo haber leido que un condensador podria eliminarse, agradeceria me deen mayor informacion acerca de este condensador.
Muy agradecido por la atencion brindada.
Título: Re: PROBLEMA CON TEMPORIZACION EN PIC16F84A-20/P
Publicado por: Miquel_S en 11 de Julio de 2009, 06:39:17
Hola amigo OTSELECTRONICSEIRL, te dejo un poco de hardware para eliminar rebotes,espero que te sirva.
Título: Re: PROBLEMA CON TEMPORIZACION EN PIC16F84A-20/P
Publicado por: OTSELECTRONICSEIRL en 11 de Julio de 2009, 14:03:18
Gracias Miguel_S, por tomarte la molestia de buscar en tu biblioteca y escanear la parte que me interesa. Me parece una valiosa forma de eliminar los rebotes, jugare un poco con la constante de tiempo para optimizar resultados de acuerdo a las necesidades particulares.
Título: Re: PROBLEMA CON TEMPORIZACION EN PIC16F84A-20/P
Publicado por: migsantiago en 11 de Julio de 2009, 14:15:49
Acaba de suceder un problema similar aquí en los temas del foro, el usuario detectó que su pic estaba quemado por meterle más voltaje a MCLR y por ello los tiempos no eran los esperados.
Título: Re: PROBLEMA CON TEMPORIZACION EN PIC16F84A-20/P
Publicado por: OTSELECTRONICSEIRL en 11 de Julio de 2009, 15:44:31
 migsantiago Gracias por el dato. Es posible que mi PIC este defectuoso porque algunos retardos estan correctos, otros no. Hare mas pruebas para descartar. Gracias.