Solución de problemas de cristal de 32,768 kHz

Estoy al final de mi ingenio tratando de hacer funcionar un cristal de diapasón de 32.768 kHz y no sé qué estoy haciendo mal.

Primero, algunos antecedentes: estoy usando un cristal de 16 MHz junto con un microcontrolador Atmega 328P-PU y funciona bien y estoy tratando de ejecutar un chip RTC en un cristal de 32.768 kHz, que es donde estoy irremediablemente atascado. Estoy usando capacitores de carga cerámicos de 10-20 pF y, por supuesto, estoy usando un osciloscopio para verificar todo.

Estoy tratando de ejecutar este chip RTC con este cristal económico . Sin embargo, no puedo hacer que funcione en absoluto, ya sea en mi PCB o en una placa de pruebas sin soldadura. He usado varios valores de límite de carga diferentes y mi cristal está conectado como lo especifica la hoja de datos de RTC. Reemplacé los chips, las tapas y los cristales, y eso no solucionó nada.

Incluso intenté conectar el cristal del diapasón a los pines XTAL del chip Atmega en lugar del cristal de 16MHz y eso tampoco ayudó.

¿Los cristales del diapasón necesitan un circuito especial para funcionar, o estoy dañando inadvertidamente cada uno de los que toco...? Incluso probé diferentes cristales de un diseño similar de diferentes fabricantes.

La ayuda es muy apreciada.


EDITAR: Resolví mi problema cambiando a un cristal de diapasón sin sintonización y obteniendo nuevos condensadores. Creo que la causa principal fue el uso de capacitores cerámicos de baja calidad que compré en un kit surtido en línea.

Tenga cuidado, un osciloscopio puede cambiar la capacidad de carga en una cantidad significativa, así que no confíe necesariamente en lo que ve allí.
Debes decir lo que te dice el alcance.
Mi alcance solo está leyendo una línea plana, sin oscilación alguna, a menos que me acerque mucho al rango de milivoltios y comience a ver una ondulación de 60 Hz desde (presumiblemente) la fuente de alimentación del alcance.
Podría intentar recrear un oscilador Pierce en la placa de prueba con 2 inversores de disparo Schmitt y el cuarzo. Si el cristal funciona, su circuito debería hacer lo mismo. El cuarzo no debe medirse con la sonda, es mejor utilizar un gatillo Schmitt conectado aguas abajo. Por lo tanto 2.

Respuestas (5)

En primer lugar, felicitaciones por lograr resolver este problema por su cuenta :)

Si desea aprender cómo evitar tales problemas en su proyecto futuro, puedo recomendar esta nota

La posible razón por la que salió mal con su primer número de parte - capacitancia de carga incorrecta. La razón es simple:

  1. Su CI:

ingrese la descripción de la imagen aquí

  1. Su oscilador:

ingrese la descripción de la imagen aquí

Si intenta usar el oscilador con CL = 12.5 pF (están más disponibles en comparación con los de 6 pF), el generador Pierce dentro del RTC no podrá controlar dicho oscilador, lo que producirá problemas aleatorios de "paradas después de algún tiempo" a "totalmente no oscila".

¿Qué está fallando exactamente? ¿Qué esperas que haga y qué está haciendo realmente? Supongo que el RTC IC no registrará y permanecerá en el tiempo 0:00, pero puede hablar con él a través de su interfaz en serie.

Eché un vistazo a la hoja de datos y en el registro de control, hay un bit de habilitación del oscilador externo, que está configurado en bajo de forma predeterminada (deshabilitar el oscilador externo). ¿Es posible que no hayas configurado ese bit?

De cualquier manera, no creo que sea el cristal el que esté causando el problema. Creo que (lo más probable) es que el RTC se configuró incorrectamente.

EDITAR: también, según la hoja de datos, el valor límite de carga recomendado es 6-9pF

Mi cristal no oscila en absoluto. Sólo una línea plana en mi alcance. Y cambiarlo por el cristal de 18 MHz en el chip Atmega (como prueba de cordura) tampoco ayudó. De alguna manera pude hacer que funcionara hace unas semanas en una placa de prueba, pero juro que no hice nada diferente en ese entonces y ahora. En otras palabras, mi circuito funcionaba: mi configuración de tiempo se guardaba mediante ciclos de encendido, por lo que no creo que el código sea el problema.
¿El Atmega estaba configurado en reloj externo cuando lo probó? Si probó un cristal diferente con los mismos resultados, significa que el cristal no está defectuoso, pero el circuito no lo está impulsando. El cristal no comenzará a oscilar por sí solo, necesita un controlador (que se encuentra dentro del RTC, pero no está habilitado a menos que configure la habilitación del oscilador pero en el registro de control del RTC.
De hecho, el reloj externo está habilitado en el Atmega. Pero quizás no sea un circuito válido con una oscilación tan lenta en comparación con los 16MHz. Me imagino que hay algún tipo de retroalimentación resistiva que está superando o submanejando el cristal de 32.768 kHz.
Supongo que podría ir al Plan B, que es construir un circuito que esté disponible abiertamente y que se sepa que funciona con un nuevo conjunto de componentes comprados.
Es posible que haya encontrado una respuesta: electronics.stackexchange.com/questions/368945/…

El circuito del oscilador es un amplificador, con su diapasón en el bucle. Un lado será de baja impedancia y conducción alta o baja (se supone que cambia de un lado a otro, por supuesto). El otro lado es la entrada del amplificador, de alta impedancia, y debe estar en el punto medio entre el suministro y la tierra. El ruido suele ser lo que activa el oscilador para comenzar. Si está sentado alto o bajo, el oscilador no se iniciará. Además de las consideraciones analógicas, las configuraciones incorrectas también pueden apagar esto.

Tienes un alcance, lo cual es una ventaja significativa.

Intenté poner una resistencia en un lado del cristal, pero creo que necesito probar diferentes valores. Gracias

Muchos cristales de 32 kHz no requieren límites de carga. Verifique dos veces la hoja de datos para el suyo. Y como se mencionó, la sonda o-scope podría detener fácilmente un cristal en funcionamiento con solo tocarlo. Tal vez su circuito ESTÁ funcionando y el problema está en otra parte ...

a veces es necesario habilitar el Chip (el oscilador) antes de que oscile, para ahorrar energía. Intente habilitarlo a través de I2C.

Página 11 de la hoja de datos que envió:

Nota 1: El bit ST debe establecerse para habilitar el circuito del oscilador de cristal.