TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: aghor en 27 de Julio de 2006, 14:33:16

Título: Necesito decimas de segundo !!! como ???
Publicado por: aghor en 27 de Julio de 2006, 14:33:16
Hola amigos....

Les cuento que tengo un sistema de registro de eventos externos, se trata de a cada pulso externo, el uC envia via rs232 la cuenta del evento y mediante software agrego timbre de fecha y hora del S.O. o Bios ? correspondiente y asi funciona perfecto.  :mrgreen:

Ahora, como siempre cuando funcionan las cosas, aumenta la exigencia ahora me piden "decimas" de segundo... Mi S.O. no es capaz de informar las decimas(menos milesimas), y al unico reloj que puedo hechar mano es el ds1302 ...pero por lo que vi no ofrece decimas de segundo..

Y.... como le hago?????... supongo que existirá algun rtc que si ofrezca lo que necesito.

Lo otro es implementar una rutina de contador de décimas por firmware, y timbrar cada cuenta llevando la cuenta a HH:MM:SS.dd.... y eso se puede ???
y solo la fecha la agrego por S.O.

Gracias :)

Si alguien me pudiera ayudar de nuevo gracias !!!
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: maunix en 27 de Julio de 2006, 16:51:51
Lo otro es implementar una rutina de contador de décimas por firmware, y timbrar cada cuenta llevando la cuenta a HH:MM:SS.dd.... y eso se puede ???
y solo la fecha la agrego por S.O.

La forma más simple que se me ocurre es que cuentes décimas.  Con un contador incremental desde que por ejemplo, la pc le dice 'comienza'.  A partir de ahí estarían 'casi' sincronizados.  Ese casí, dependerá de la demora de la pc hasta enviar el paquete al pic (de eso depende el s.o. (windows o el que uses) y el tiempo de la transmisión por la usart).

Obviando este pequeño detalle, el pic podría entonces contar las decimas: 1.. 2.. 3..4 ... y asi con la precision que te haga falta.

Si necesitas medir eventos de horas, bueno serían 10 x 60 x 60 = 360000 décimas por hora.  Tu variable debiera ser de 24 bits.  Puedes hacerlo extensivo para todo el día.

Al producirse el evento, el pic enviará este número al PC.

Espero te haya servido la sugerencia
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: aghor en 03 de Agosto de 2006, 16:15:38
Ya implementé una solución a mi ex problema...

Si a alguien le interesa el tema... tan solo pidalo y copio el codigo....

gracias por vuestra ayuda  :lol: :mrgreen: :-/
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: maunix en 03 de Agosto de 2006, 17:35:05
Ya implementé una solución a mi ex problema...

Si a alguien le interesa el tema... tan solo pidalo y copio el codigo....

gracias por vuestra ayuda  :lol: :mrgreen: :-/

Si tu código y diseño te parece que le pueda interesar a otros, te sugiero lo subas en el subforo de Proyectos.  De seguro muchos estarán contentos con tu ofrecimiento.

Saludos
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: MichaelKnight en 04 de Agosto de 2006, 16:56:16
pues posiblemente para un proyecto que proximamente tengo intencion de realizar puede que deba recurrir a alguna artimaña para detectar un pulso bastante corto que habia pensado solucionar usando un 555 pero si tu tienes una posible solucion software seria interesante contemplarla. Si no te importa publicar el codigo en la seccion de proyectos seria de gran ayuda para todos. Gracias de antemano y saludos.
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: wqtrp en 04 de Agosto de 2006, 18:10:20
hola, si te interesa detectar pulsos muy pequeños te aconsejo q leas la AN566 de Microchip
es muy corta y se explica claramente como hacer el soft para q detecte pequeños pulsos.
Suerte.
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: MichaelKnight en 04 de Agosto de 2006, 18:52:10
hola, si te interesa detectar pulsos muy pequeños te aconsejo q leas la AN566 de Microchip
es muy corta y se explica claramente como hacer el soft para q detecte pequeños pulsos.
Suerte.


pero me temo que estas hablando de ASM y  yo lo que pretendo es hacerlo en C.
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: maunix en 05 de Agosto de 2006, 15:10:30
MichaelKnight a ver si te comprendi

Siempre estabas recibiendo pulsos pero tu solo informabas de la hora:min:seg:decimaseg en que habia ocurrido el evento.

Ahora bien, ahora dices que el pulso es más pequeño.  No comprendo en que te afecta que ahora el pulso tenga un tamaño menor si tu no lo estas midiendo? solo detectas que ocurrió?

Además, si la 'frecuencia' con la que ocurre el pulso es baja, podrás seguir con el mismo esquema que vienes trabajando
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: MichaelKnight en 06 de Agosto de 2006, 01:00:12
creo que no me has entendido, solo debia detectar cuando se producia eventualmente ese pulso de corta duracion, pero lo he probado sin hacer ningun metodo especial y me ha funcionado bien. Gracias no obstante por tu interes.
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: maunix en 08 de Agosto de 2006, 11:02:49
creo que no me has entendido, solo debia detectar cuando se producia eventualmente ese pulso de corta duracion, pero lo he probado sin hacer ningun metodo especial y me ha funcionado bien. Gracias no obstante por tu interes.

Si , osea, tu solo logueas el tiempo en que recibes el pulso pero no su ancho, ¿ es asi verdad?
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: MichaelKnight en 08 de Agosto de 2006, 11:05:57
asi es, pero ya he hecho pruebas y me lo detecta sin problema. Seguire probando. Gracias por vuestra atencion.
Título: Re: Necesito decimas de segundo !!! como ???
Publicado por: maunix en 08 de Agosto de 2006, 12:49:44
asi es, pero ya he hecho pruebas y me lo detecta sin problema. Seguire probando. Gracias por vuestra atencion.

Es que entonces, en ese caso, lo importante no es el ancho del pulso, sino con qué frecuencia vienen!

Si vienen lento por más que sea muy pequeño el pulso, lo podrás loguear sin problemas.

El software quedaría en un bucle solo contando tiempo hasta que llega el pulso, cuando llega el pulso armas la trama para la usart y la envías.  Es aquí donde entra en vigencia que si hay espacio entre pulso y pulso, podrás transmitir todo sin problemas y sin recurrir a engorrosos manejos de buffer de usart.

 :)