DS3231 Board (Dallas DS3231 + Atmel 24C34 EEPROM)
Das Shield enthält eine batteriegepufferte Echtzeituhr inkl. Alarm-Funktion und Thermometer, sowie EEPROM. Beide ICs werden über das I2C-Protokoll angesprochen.
Technische Daten
- Board:
- Stromversorgung: Über „VCC“ Header-Pin (DS3231 zusätzlich über LIR2023 Akku oder CR2023 Lithium Batterie)
- Grösse: 37mm x 21mm
- SCL/SDA durchgeführt (für Kaskade)
DS3231- Hersteller: Dallas
- Protokoll: I2C
- Betriebsspannung: 3-5V
- Stromaufnahme:
AT24C32- Hersteller: Atmel
- Kapazität: 32 KBit (4 KByte)
- Protokoll: I2C
- Betriebsspannung: 3-5V
- Stromaufnahme:
Schaltplan
Hacks
Board mit CR2023 Lithium Batterie anstelle LIR2023 Akku betreiben
Hack: Pullup von SQW Pin entfernen für Sleep-Mode
Programmierung
Verwendung am ESP32-H2 mit ESP-IDF
- Library (Component) für ESP-IDF: https://components.espressif.com/components/esp-idf-lib/ds3231/
- Documentation: https://esp-idf-lib.github.io/ds3231/
- Git Repo: https://github.com/esp-idf-lib/ds3231
- I2C:
- SCL ⇒ GPIO 11
- SDA ⇒ GPIO 12
- Master Frequency ⇒ 100000 (100 kHz)
- DS3231-Module:
- DS3231 I2C-Address ⇒ 0x68
- EEPROM I2C-Address ⇒ 0x57
SQW
Der SQW Pin vom DS3231 Modul (direkt verbunden mit dem DS3231 Chip) ist ein „Open Drain“, d.H. im inaktiven Zustand „offen“ und im aktiven Zustand gegen GND geschaltet. Somit lassen sich nur über einen externen Pull-Up Widerstand HIGH/LOW Pegel erzeugen. Im nicht aktivierten Zustand ist der Pegel also HIGH und wenn SQW anschlägt wird er LOW. Als Pullup eignen sich auch die internen Pullups eines Mikrocontrollers.
Sobald ein ALARM ausgelöst wird (egal ob ALARM1 oder ALARM2) wird der SQW-Pin auf LOW gezogen. Um ihn zurück zu setzen müssen BEIDE Alarm-Flags gecleared werden.




