Autor Tema: Calibrar el rtc por "smooth calibration"  (Leído 6365 veces)

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

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2901
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #15 en: 20 de Enero de 2020, 08:21:28 »
A ver, el servicio técnico me ha respondido con una solución que parece ser bastante buena para mi, ya que da una resolucion de 1ppm en menos de 1 segundo y no parece necesitar ningún sistema externo.

(lo he traducido)

Calibración suave, requiere un reloj preciso de 1s en producción y durante 2x 32s se realiza la calibración, lo que parece llevar mucho tiempo.

La opción similar de cómo lograr una precisión de medición de hasta 1 ppm es implementar un contador con un reloj interno de 32 MHz más preciso.
La señal de cuarzo del pin MCO se usa como entrada para el contador y se cuentan 976.5 ciclos internos durante un período LSE.
Entonces, después de al menos 1/32 segundos (1024 períodos LSE) también se obtiene la precisión de medición de 1 ppm.
Según la medición, se puede cargar el registro de calibración adecuado.
Con el uso, cualquier margen de tiempo para la observación y verificación de la medición del proceso de calibración se puede realizar en aproximadamente <1 segundo.

Necesito ayuda para implementarlo ya que hay algunas cosas que no me quedan del todo claras, a ver:

Primero, debo justar el pin MCO como salida del reloj LSE, eso es fácil:

 

* Sin título.jpg
(15.76 kB, 492x257 - visto 142 veces)


Ahora no entiendo muy bien que debo hacer, utilizar un timer con la fuente de reloj MCO? utilizar un timer en modo captura y unir fisicamente el pin MCO??


Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5612
    • Picuino
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #16 en: 20 de Enero de 2020, 13:18:32 »
La red eléctrica es muy exacta a largo plazo, pero a corto plazo (horas) no es nada exacta.
Puedes utilizarla de RTC, pero no para realizar calibraciones.


Ese frecuencímetro es bastante malo. Es mejor que te hagas uno tu mismo con un micro, o que compres uno profesional.

Si quieres te ayudo a hacer un frecuencímetro que mida con mucha precisión valores de frecuencia pequeños (32kHz ó 1Hz del pulso por segundo)
Lo primero que necesitas es dos contadores. Uno para contar pulsos de reloj y otro para contar pulsos de entrada.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5612
    • Picuino
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #17 en: 20 de Enero de 2020, 13:26:52 »
Lo que no entiendo es qué significa MCO o LSE. Ese micro no lo conozco.

Saludos.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2901
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #18 en: 20 de Enero de 2020, 15:11:35 »

Si quieres te ayudo a hacer un frecuencímetro que mida con mucha precisión valores de frecuencia pequeños (32kHz ó 1Hz del pulso por segundo)
Lo primero que necesitas es dos contadores. Uno para contar pulsos de reloj y otro para contar pulsos de entrada.

Estaria bien para las siguientes tiradas, pero para este primer pedido no tengo tiempo, deberé dejar preparado los sistemas para cuando tenga el frecuencímetro pero los primeros tengo que calibrarlos como pueda.

Lo que no entiendo es qué significa MCO o LSE. Ese micro no lo conozco.

Saludos.

MCO es Master clock output, es una salida que puedes configurar para que sea la del LSE, el LSI, el HSI etc, y estos son los distintos tipos de reloj del micro por ejemplo:

LSI es el reloj interno de baja frecuencia (32KHz)
LSE el reloj externo de baja freciencia, es decir donde pones el 32,768KHz
HSE el reloj externo de alta frecuencia.
etc.

si quieres echarle un ojo es el stm32g030:

https://www.st.com/resource/en/datasheet/stm32g030c8.pdf

https://www.st.com/content/ccc/resource/technical/document/reference_manual/group0/fd/a3/20/58/ac/b0/48/23/DM00463896/files/DM00463896.pdf/jcr:content/translations/en.DM00463896.pdf

 

* Sin título.jpg
(141.77 kB, 1401x965 - visto 128 veces)
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5612
    • Picuino
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #19 en: 21 de Enero de 2020, 10:19:26 »
Necesitas medir de alguna manera la señal de 32kHz con mucha precisión (1ppm)

Para eso necesitas un frecuencímetro con reciprocal counting, que muestre al menos dos decimales en el display cuando mida la frecuencia de 32kHz.

O te compras un buen frecuencímetro o haces un programa para medir la frecuencia con decimales. En el último caso también necesitarás un patrón de frecuencia bien calibrado, como el que te dan los GPS.

Un saludo.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5612
    • Picuino
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #20 en: 21 de Enero de 2020, 10:22:26 »
Otra forma un poco rústica es medir el RTC durante mucho tiempo (dos días por ejemplo) con un buen cronómetro y haces el ajuste a mano.

Saludos.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5612
    • Picuino
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #21 en: 21 de Enero de 2020, 11:15:39 »
Si al final decides medir la frecuencia con tu propio microcontrolador, necesitarás un cristal externo de cuarzo de alta frecuencia (HSE) para que te de la frecuencia principal (MCO).

Puedes utilizar por ejemplo un xtal de 10MHz para multiplicarla con el PLL y trabajar a 80MHz.

Luego tienes que contar pulsos de reloj y pulsos de la señal de 32kHz

Esperas más o menos un segundo y lees los contadores justo cuando la señal de 32kHz tenga un flanco de positivo a negativo (por ejemplo con una interrupción o por polling). Luego la frecuencia la calculas con facilidad en coma flotante:

   Frecuencia = (Pulsos de la señal de 32kHz * 80000000.0) / (Pulsos de reloj)

El valor lo mandas por UART al PC para ahorrarte el display. printf("%7.3f\n", Frecuencia);

Y ya tienes tu frecuencímetro barato pero con mucha resolución.

Para conseguir precisión, mides también una señal de 1PPS del GPS y corriges el error que midas.

Un saludo.
« Última modificación: 07 de Febrero de 2020, 13:01:03 por Picuino, Razón: Corregir polling »

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2901
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #22 en: 22 de Enero de 2020, 04:01:46 »
Si al final decides medir la frecuencia con tu propio microcontrolador, necesitarás un cristal externo de cuarzo de alta frecuencia (HSE) para que te de la frecuencia principal (MCO).

Puedes utilizar por ejemplo un xtal de 10MHz para multiplicarla con el PLL y trabajar a 80MHz.

Luego tienes que contar pulsos de reloj y pulsos de la señal de 32kHz

Esperas más o menos un segundo y lees los contadores justo cuando la señal de 32kHz tenga un flanco de positivo a negativo (por ejemplo con una interrupción o por pooling). Luego la frecuencia la calculas con facilidad en coma flotante:

   Frecuencia = (Pulsos de la señal de 32kHz * 80000000.0) / (Pulsos de reloj)

El valor lo mandas por UART al PC para ahorrarte el display. printf("%7.3f\n", Frecuencia);

Y ya tienes tu frecuencímetro barato pero con mucha resolución.

Para conseguir precisión, mides también una señal de 1PPS del GPS y corriges el error que midas.

Un saludo.

Creo que esto que me comentas es basicamente lo mismo que esto verdad?

Citar
Calibración suave, requiere un reloj preciso de 1s en producción y durante 2x 32s se realiza la calibración, lo que parece llevar mucho tiempo.

La opción similar de cómo lograr una precisión de medición de hasta 1 ppm es implementar un contador con un reloj interno de 32 MHz más preciso.
La señal de cuarzo del pin MCO se usa como entrada para el contador y se cuentan 976.5 ciclos internos durante un período LSE.
Entonces, después de al menos 1/32 segundos (1024 períodos LSE) también se obtiene la precisión de medición de 1 ppm.
Según la medición, se puede cargar el registro de calibración adecuado.
Con el uso, cualquier margen de tiempo para la observación y verificación de la medición del proceso de calibración se puede realizar en aproximadamente <1 segundo.

Entonces lo que necesitaría seria usar un HSE para tener mas precisión y poder medir el cristal de 32,768KHz es ¿asi?

Este micro solo llega a los 64Mhz, pero utilizo el cristal interno el HSI, supongo que este no puedo usarlo para esta tarea verdad?
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5612
    • Picuino
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #23 en: 22 de Enero de 2020, 06:41:34 »
Creo que es lo mismo.

Con que trabajes a 10MHz ya vas a tener suficiente velocidad.

El cristal de alta frecuencia te sirve para medir con muchos decimales de resolución, pero también tiene error en su precisión. Necesitas un GPS para corregir ese error.

Saludos.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2901
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #24 en: 22 de Enero de 2020, 07:46:24 »
Creo que es lo mismo.

Con que trabajes a 10MHz ya vas a tener suficiente velocidad.

El cristal de alta frecuencia te sirve para medir con muchos decimales de resolución, pero también tiene error en su precisión. Necesitas un GPS para corregir ese error.

Saludos.

Ok pues voy a intentar corregir ese error con los 64Mhz de funcionamiento del micro, a ver que precisión se puede corregir sin recurrir al gps, voy a modificar un poco el hardware para medir los relojes y lo posteo por aquí a ver que tal.

un saludo gracias.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5612
    • Picuino
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #25 en: 22 de Enero de 2020, 11:07:02 »
Sin GPS no corriges nada. Ten en cuenta que el cristal de alta frecuencia tiene un error semejante al del cristal de baja frecuencia.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2901
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #26 en: 23 de Enero de 2020, 04:43:50 »
Sin GPS no corriges nada. Ten en cuenta que el cristal de alta frecuencia tiene un error semejante al del cristal de baja frecuencia.

¿Entonces para hacer un despertador por ejemplo necesitas un GPS? no quiero que sea una precisión de reloj atómico, solo que no tenga un margen de error alto.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5612
    • Picuino
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #27 en: 23 de Enero de 2020, 05:52:24 »
Si. Lo necesitas para medir y corregir. Luego ya no hace falta que esté en el aparato final.
Es el GPS de 10€ o el frecuencímetro calibrado de 1500€. Tu eliges.

Saludos.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5612
    • Picuino
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #28 en: 23 de Enero de 2020, 09:16:50 »
¿Entonces para hacer un despertador por ejemplo necesitas un GPS? no quiero que sea una precisión de reloj atómico, solo que no tenga un margen de error alto.

Con smooth calibration puedes corregir el error hasta 1 parte por millón (1ppm). Necesitas un patrón con esa precisión y eso te lo da este sencillo aparato:

https://www.ebay.es/itm/GY-NEO6MV2-NEO-6M-GPS-Module-NEO6MV2-with-Small-Antenna-for-Arduino/183417647166?hash=item2ab48b303e:g:Q5MAAOSwlUhbj~XD



Si necesitas un patrón mejor o más independiente del GPS y con antena larga, puedes comprar esto:

https://www.ebay.es/itm/NEW-10MHz-Sinwave-PLL-GPSDO-GPS-DISCIPLINED-OSCILLATOR-adapter-GPS-ANT/262038924752?hash=item3d02bcadd0:g:ZmsAAOSwkvFafGgr


Un saludo.
« Última modificación: 23 de Enero de 2020, 09:21:25 por Picuino »

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2901
Re:Calibrar el rtc por "smooth calibration"
« Respuesta #29 en: 23 de Enero de 2020, 17:23:51 »
No encuentro casi nada de información del primer modulo barato que me has pasado, tiene algun pin de salida a 1pps como por ejemplo el EM406A??

veo algún vídeo de como usar la localizacion con el arduino con su uart pero poco mas, ami lo que me interesa es el herzio
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw