TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: gummie1000 en 01 de Agosto de 2014, 15:58:59
-
Buenas tardes a todos, llevo ya un tiempo programando pics en ccs y me tope con un problema que me ha dado dolores de cabeza, el problema es el siguiente:
El pic que ocupo es el 16f877a
El periodo lo mido con los modulos de captura CCP1 y CCP2
Y logicamente el timer1
Cuando mido las frecuencias hasta 13KHz sin ningun problema obtengo el resultado esperado, pero cuando aumento la frecuencia por ejemplo 22KHz la medicion me da la mitad de la misma es decir 11KHz.
El codigo lo envio lo baje de un foro de ucontrol, se los envio para ver si pueden ayudarme!!!
Saludos
-
cual es la frecuecia del crital que uilizas? en teoria con una oscilacion interna de 1Mhz (cristal a 4Mhz) deberias de poder medi hasta 50Khz sin ningun problema.
otro metodo que puedes usar es meter tu senal por la el contador del timer1 y con el timer 0 temporizar una segundo, durante ese segundo cuentas los pulsos de subido o bajada (dependiendo de la configuracion que elijas para el flanco en el timer 1), y la cantidad de pulsos que obtengas al final de el segundo sera tu frecuencia en Hertz. con un erre aproximado de 5%
-
Gracias!!
El cristal que ultilizo es de 4mhz, ya lo simule y lo arme en fisico y hace lo mismo :(
-
En teoria no deberias tener problema, aunque si quieres leer frecuencias mas altas que esas te recomendaria que usaras un cristal mas grande, yo nunca eh usado los modulos CCP del pic, asi que no sabria decirte que puedas tener mal, pero dale una buena revisada a la configuracion del timer, muchas veces ahi esta el problema
-
El problema lo puedes tener en el preescaler del timer
-
Muchas gracias, sigo con la duda que podra ser pero resolvi mi problema muestreando frecuencias y determinando a prueba y error los valores, solo requiero leer un valor fijo de 22khz, es decir existe o no existe el tono, y bueno la solución si fue un famoso "mexican curius".
Saludos a todos y gracias