Pregunta:
¿Cómo configurar un reloj en tiempo real MCP79410?
Fantilein1990
2017-02-07 18:59:34 UTC
view on stackexchange narkive permalink

Estaba intentando configurar un reloj en tiempo real (RTC) MCP79410 y tuve que buscar bastante hasta que encontré una manera de integrar la señal de tiempo del RTC en mi Raspbian Jessie:

Aparentemente, incluso allí, algunas cosas cambiaron durante las últimas actualizaciones de Raspbian y no parece haber una gran multitud que use este chip en particular (a diferencia de, por ejemplo, el DS1307).

Ya quería conectar específicamente un MCP79410 conectado a un cristal de cuarzo ABS07 y una batería HU2032-LF a mi Raspbbery Pi Modelo 3B con Raspbian Jessie 4.4.38-V7 + # 938.La implementación debería ser lo más fácil posible y simplemente proporcionarme la hora correcta del sistema incluso si el RPi está desconectado de Internet.

Dos respuestas:
Fantilein1990
2017-02-07 18:59:34 UTC
view on stackexchange narkive permalink

Para configurar un reloj en tiempo real MCP79410 (RTC, ver manual), es necesario comenzar conectándolo a su RPi y un cristal de cuarzo. Se supone que lo siguiente es un esbozo de cómo conectar los pines para apuntar uno en la dirección correcta; en la práctica, es posible que se necesiten capacitores para suavizar las señales o resistencias para activar la interfaz SCL y SDA, según, por ejemplo en la batería y el cristal de cuarzo utilizado.

  X1: Conecte a un cristal de cuarzo externo de 32,768 kHz X2: Conecte a un cristal de cuarzo externo de 32,768 kHz VBAT: Conecte a una batería externa VSS: Conecte a GND (por ejemplo, RPi-Pin 9) VCC: Conexión a RPi-Pin 1 (3.3V) MFP: -SCL: Conexión a RPi-Pin 5 (GPIO3_SCL1) SDA: Conexión a RPi-Pin 3 (GPIO3_SDA1)  

Después de conectar los componentes de hardware, es necesario configurar una interfaz de comunicación entre el MCP79410 y el RPi a través de I2C (se puede activar a través de sudo raspi-config y allí "7 opciones avanzadas" -> "A7 I2C" -> " Si" ). Para hacerlo, primero se debe verificar su disponibilidad:

i2cdetect -y 1 o, para RPis más antiguos, i2cdetect -y 0 debe devolver

  0 1 2 3 4 5 6 7 8 9 abcde f00: - - - - - - - - - - - - --10: - - - - - - - - - - - - - - - - --20: - - - - - - - - - - - - - - - - --30: - - - - - - - - - - - - - - --40 : - - - - - - - - - - - - - - --50: - - - - - - - 57 - - - - - - - --60: - - - - - - - - - - - - - - 6f70: - - - - - - - -  

Esto significa: En 0x57 y 0x6f, el MCP79410 está escuchando la comunicación I2C. 0x57 conduce a la EEPROM, un registro de estado y un registro de ID único, mientras que 0x6f es la dirección que conduce al propio RTC.

Para establecer una conexión, la línea rtc-mcp7941x debe agregarse a / etc / modules y la línea dtoverlay = i2c-rtc, mcp7941x a /boot/config.txt.

Después de un reinicio, el i2cdetect -comando de arriba debería regresar

  0 1 2 3 4 5 6 7 8 9 abcde f00: - - - - - - - - - - - - --10: - - - - - - - - - - - - - - - --20: - - - - - - - - - - - - - - - --30: - - - - - - - - - - - - - - - --40: - - - - - - - - - - - - - - - --50: - - - - - - - 57 - - - - - - - - --60: - - - - - - - - - - - - - - UU70: - - - - - - - - -  

Para utilizar la conexión recién establecida para proporcionar una señal de tiempo al RPi, es necesario comentar las líneas

  if [-e / run / systemd / system]; luego salga de 0fi  

de / lib / udev / hwclock-set .

Antes del siguiente paso, uno debe asegurarse de que su sistema la hora es precisa (por ejemplo, comparándola con un reloj controlado por radio cercano).

Ahora, uno envía la hora actual del sistema al RTC usando el comando

  hwclock -w 

De ahora en adelante, el RTC mantendrá la hora y resincronizará la hora del sistema del RPi automáticamente al inicio o manualmente ingresando

  hwclock -r  
SDsolar
2017-05-18 14:06:17 UTC
view on stackexchange narkive permalink

Veo estas instrucciones y la falta de ver su cableado ni el resultado de su consulta i2cdetect. Esto significa que tiene las instrucciones correctas para que funcione. Respuesta: Simplemente sígalos.

Permítanme señalar que este reloj debe ser configurado por el Pi en primer lugar. Eso implica que el Pi está conectado a Internet y obtiene periódicamente una configuración de fecha y hora basada en NTP.

Entonces debes hacer un trabajo extra para mantener este reloj sincronizado con la Pi.

Por lo tanto, no veo ningún caso de uso para usar este módulo en primer lugar.

Mi sugerencia es que deje que Pi mantenga su propio tiempo.

Bueno, sí, mis instrucciones funcionan, por eso las puse aquí. Para hacérselo más fácil a los demás ;-)
Con respecto al propósito del reloj: Mi Pi tenía una conexión a Internet muy poco confiable. Se reiniciaba de vez en cuando y lo necesitaba para mantener la hora con mucha precisión, incluso si no tenía conexión a Internet al reiniciar. En este caso, un Pi puede tener problemas para mantener el tiempo, así que agregué un RTC y una pequeña batería que alimentaba el RTC. Problema resuelto. ¿Es este un caso de uso aceptable? :-)


Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...