TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: WOOD_girl en 28 de Abril de 2011, 14:00:52

Título: medir tiempo transcurrido entre pulso y pulso a 1Hz
Publicado por: WOOD_girl en 28 de Abril de 2011, 14:00:52
hola amigos del foro, en este momento estoy "jugando" con el modulo CCP2 para detectar el tiempo transcurrido entre pulso y puslo (es decir el tiempo que se mantiene en cero la señal) mediante el  PIC16f877, pero resulta que 1kHz  hacia abajo, los calculos se tornan erroneos, debido obviamente, al desbordamiento del timer1, por lo cual tendria que recurrir a (lo que aprendi de la pagina  picmania del brillante REDRAVEN)  contar interrupciones por desbordamiento, pero no se como calcular el tiempo entre pulsos apartir de ahi, entiendo como generar una señal, pero no como medirla, cosa que para colmo necesito para dos señaesl a 1Hz, no c como hacerlo para la segunda, pues el modulo esta ocupado con la primera, agradezco mucho las ideas que puedan brindarme.

Título: Re: medir tiempo transcurrido entre pulso y pulso a 1Hz
Publicado por: Suky en 28 de Abril de 2011, 14:23:36
Para calcular cada cuento tiempo se desborda un timer haces, para timer1: 65536*pre-escaler*(4/Fosc).

Luego multiplicas ese tiempo por la cantidad de veces que hubo desborde del timer, más el adicional que marca el comparador.


Saludos!
Título: Re: medir tiempo transcurrido entre pulso y pulso a 1Hz
Publicado por: bmb en 28 de Abril de 2011, 14:56:46
Hola WOOD_girl, si trabajas con CCS, en la carpeta de ejemplos hay uno que se llama EX_CCPMP.C  que te puede dar alguna idea para lo que necesitas.

Saludos!
Título: Re: medir tiempo transcurrido entre pulso y pulso a 1Hz
Publicado por: WOOD_girl en 28 de Abril de 2011, 15:49:39
gracias por sus prontas respuestas, suky ya hice el calculo, ahora vere como lo implemento y BMB, yo ya tengo un programa que hace lo que hace el programa ke me indicas, lo unico es que a bajas frecuencias no funciona pues necesito medir ondas a una frecuencia muy baja, con lo cual el timer1 se desborda y me da calculos erroneos por tanto me toca en vez de mirar el timer cero, mirar cuantos desbordamientos se produjeron...
Título: Re: medir tiempo transcurrido entre pulso y pulso a 1Hz
Publicado por: bmb en 28 de Abril de 2011, 17:00:21
Hola WOOD_girl, que PIC estás usando? que valor tienes en #use delay(clock=            )?

Saludos!
Título: Re: medir tiempo transcurrido entre pulso y pulso a 1Hz
Publicado por: WOOD_girl en 28 de Abril de 2011, 23:52:58
hola!,  ya he logrado hacer la medicion a 1Hz, contando los overflow y utlizando la formula que suky me ha posteado, ahora la pregunta es, se puede manejar el modulo CCP1 con el timer2, o como puedo hacer para medir la otra señal?

gracias!!
Título: Re: medir tiempo transcurrido entre pulso y pulso a 1Hz
Publicado por: Suky en 29 de Abril de 2011, 09:34:06
hola!,  ya he logrado hacer la medicion a 1Hz, contando los overflow y utlizando la formula que suky me ha posteado, ahora la pregunta es, se puede manejar el modulo CCP1 con el timer2, o como puedo hacer para medir la otra señal?

gracias!!

Podrías tener dos contadores de overflow, uno para CCP1 y otro para CCP2. Y después la cuenta es la misma. Es mejor usar 2, he iniciar el conteo por separado porque seguramente jamás las señales van a estar sincronizadas.


Saludos!

Título: Re: medir tiempo transcurrido entre pulso y pulso a 1Hz
Publicado por: WOOD_girl en 03 de Mayo de 2011, 00:20:59
ummm que wena idea suky, yo tampoco creo k esten absoultamente sincronizadas, pero si se llegaran a medio solapar, afectaria el sistema no?