15 votos

¿Cómo puedo conseguir un pequeño oscilador funcionando precisamente 31,891,269,116 µHz?

Estoy buscando construir un RTC módulo para Arduino que se ejecuta en tiempo en Marte. El factor de conversión es 1.0274912510 Tierra segundos a 1 de Marte segundo.

Mientras me las he arreglado para lograr esto de la programación con una <2 segundo de la resolución (que no es exactamente ideal, prefiero algo como 300 ms de precisión) el uso de punto fijo de matemáticas en un Arduino Uno conectado a un módulo RTC, me pregunto si sería posible tener algún tipo de bajo voltaje del oscilador ejecutando precisamente 31,891,269,116 µHz (31.891269116 kHz), que sería, más o menos, ser intercambiables con un estándar de 32 kHz cristal de reloj (sin embargo, Yo estaría abierto a otras ideas, siempre que no sean excesivamente caros.)

Alguna idea de cómo esto puede ser posible? Alternativamente, algún tipo de temporizador que apaga una vez cada 1.0274912510 segundos también sería aceptable.

43voto

Douglas Mayle Puntos 7216

Usted puede hacer mejor que Brian Drummond sugerencia. Aunque puede ser cierto que el oscilador es la mayor fuente de error en el sistema, no hay ninguna razón para agregar más sistemática de error cuando es fácil no lo suficiente.

Iniciar un contador a 0, y, cada segundo, se incrementan en 6754.

Si, después de incremento, el contador >= 8105, a continuación, reste 8105, y establecer el intervalo de tiempo para el siguiente segundo a 33669.

De lo contrario, deje el contador solo y establecer el intervalo de tiempo para el siguiente segundo a 33668.

Esto le dará a usted (suponiendo un perfecto cristal de 32.768 kHz) en un intervalo promedio de

(33668 + 6754 / 8105) / 32768 ~= 1.0274912510006

segundos (a menos de una parte por billón de error relativo a 1.0274912510), en lugar de 1.0274963378906 segundos (casi 5 partes por millón de error). Esto significa que en el largo plazo de la precisión de su reloj será realmente depende de la precisión del oscilador; el error debido a las matemáticas de contribuir sustancialmente a menos de una garrapata de error por año. Aunque la duración de cualquier solo segundo, va a tener un error relativo de hasta 25ppm, más largos y más largos intervalos de promedio que desaparezca el error.

Este es el algoritmo de Bresenham aplicados para control del tiempo, y la fracción 6754/8105 fue encontrado por la búsqueda de la continuación de la fracción approximants de 0.833312768, que es la parte fraccionaria de 32768 * 1.027491251. La exacta continuó fracción es
[0; 1, 4, 1, 1349, 1, 7] y soltando el último término da 6754/8105.

42voto

Brian Drummond Puntos 27798

El uso de un 32768kHz de cristal, como todos los demás, pero dividir por 33669 lugar, dando -5.08 ppm de error. (Usted puede quitar que por el recorte de la carga de la capacitancia si te gusta).

No es preciso , pero para Marte en el reloj va a ser tan bueno como el de cualquier Tierra de cuarzo reloj. Es decir, ignorando los problemas de compensación de la temperatura de Marte de la temperatura ambiente, la mayoría de los cristales de reloj sólo están disponibles de corte para el uso de la Tierra, a menos que usted puede encontrar Marciano proveedores...

Me gustaría utilizar el contador-temporizador de periféricos en un MSP430 para hacer la división, y, suponiendo que usted está conduciendo un estándar de cuarzo reloj mecánico de movimiento) generar bipolar 30ms pulsos en sus pines de salida de cada segundo, aproximadamente el original de los tiempos el cual se puede medir con un osciloscopio.

Arduino o similares para hacer el trabajo, pero el MSP puede ser puesto a dormir entre los pulsos, el consumo de bajo 1uA con el LF oscilador de ejecución. He aquí un ejemplo de diseño con el código fuente y el PCB para un reloj - sólo el tiempo de la Tierra hasta ahora, a pesar de que, probablemente, puede ser corregido por un cambio constante.

16voto

Mark0978 Puntos 495

Un oscilador funcionando precisamente 31,891,269,116 µhz o un temporizador con un período de segundos 1.0274912510 requeriría una precisión de por lo menos \ $10^{-10}\$. Su mejor apuesta es usar un reloj atómico que puede ser tan precisa como \ $10^{-14}\$.

15voto

Spehro Pefhany Puntos 90994

Se podría hacer con un rubidio u otro reloj atómico de referencia en 10MHz, tal vez un PLL para dar (dicen) a 100MHz y cuentan con un acumulador de fase de ~ 36 bits para dar resolución de 0,001 Hz. Este último podría hacerse con un FPGA pequeño.

Usted puede leer sobre los métodos de síntesis Digital directa (DDS). Hay chips que la DDS pero quizás no con tal una amplia anchura de bits.

Módulos de reloj de rubidio están disponibles en el mercado de excedentes, o de fabricantes como Microsemi.

7voto

WhatRoughBeast Puntos 20870

Usted no definen lo que es "caro", así que esto es algo de un disparo en la oscuridad.

Empezar con un comercial (incluyendo eBay) 10 MHz generador. El rubidio para la elección, pero lo que la precisión se puede obtener conjuntos de su rendimiento.

Ahora construir un progammable divisor de 28 bits de longitud. A las 10 MHz usted puede conseguir lejos con 74HC CMOS de la lógica, pero usted necesitará utilizar un rápido realizar la configuración. La salida también provoca una división por dos flip-flop que proporciona bits 29.

El divisor se puede ejecutar en una proporción de 10,274,912 o 10,274,913, dependiendo del estado de los bits 29. Para un perfecto 10 MHz entrada de la salida de efectivo período de bit 28 entonces será 1.02749125 segundos, que es de aproximadamente precisión de 1 ppb, o alrededor de 30 mseg/año. Menos exacta de la entrada, por supuesto, va a producir un menos exacta de la salida.

El uso de bog-estándar 74HC161s usted puede hacer esto con 8 ICs, y si usted tiene cuidado, usted podría ser capaz de utilizar un estándar de creación de prototipos de la tira de la junta, a pesar de que usted quiere ser muy cuidadoso acerca de reforzar el sistema de tierra. Perfboard sería más barato, más compacto y más duradero, pero el cableado sería menos conveniente, ya que iba a necesitar para la soldadura de las conexiones. Entonces, usted puede bote en algo como la electrónica-grado de RTV (NO la RTV se puede conseguir en la tienda de hardware), para un último módulo de tamaño en el rango de 2 x 2 x 1/2 pulgadas, sin contar el oscilador.

EDITAR

Tenga en cuenta que su estándar de desempeño, de estar vinculado a "regular" RTCs, es en realidad en el rango de 1 seg/día exactitud, que es 30 veces peor que este enfoque. Así, en primer lugar, puede acabar con el bit 29 de etapa o, alternativamente, se divide el 10 MHz a 5 MHz y usar una relación de 5,137,456. Esta frecuencia de reloj más baja en los mostradores permitirá de una forma más simple de llevar a la estructura, evitando el rápido de realizar que sean necesarios a 10 MHz. Su precisión es ahora en el orden de 60 mseg/año para un perfecto reloj.

EDITAR MÁS

Un rápido vistazo a eBay muestra un gran número de 10 MHz OCXOs por menos de 20 dólares. Estos normalmente tienen estabilidades de 1 ppb o mejor, con un 0,2 ppb bastante común espec. Conseguir uno de estos y usted debe estar en buena forma. Te gustaría tomar prestada una bastante alta resolución de frecuencia/periodo medidor para determinar la frecuencia de salida, a continuación, ajuste la relación de división para que coincida.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X