Arduino DS3231SN
тел. +7(499)347-04-82
Описание Arduino DS3231SN
Arduino DS3231SN — Высокоточный RTC модуль
Описание
DS3231SN — это высокоточные часы реального времени (RTC) с интегрированным термокомпенсированным кварцевым генератором (TCXO) и кварцевым резонатором в корпусе микросхемы. Микросхема производства Maxim Integrated (ныне Analog Devices) широко используется в проектах на Arduino, ESP32, STM32 и Raspberry Pi благодаря своей высокой точности (±2 ppm, что соответствует ±1 минуте в год) в диапазоне температур 0…+40 °C.
Модули на базе DS3231SN обычно поставляются на печатной плате с:
- Батарейным отсеком под CR2032 (резервное питание);
Технические характеристики
Основные параметры
| Параметр | Значение | |---|---| | Напряжение питания | 2.3 … 5.5 В | | Напряжение резервного питания | 2.3 … 5.5 В (CR2032) | | Интерфейс | I²C (до 400 кГц) | | I²C адрес | 0x68 (фиксированный) | | Точность | ±2 ppm (0…+40 °C) | | Точность (расширенная) | ±3.5 ppm (−40…+85 °C) | | Потребляемый ток (активный) | ~200 мкА | | Потребляемый ток (время/батарея) | ~0.84 мкА @ 3.63 В | | Диапазон дат | 2000–2099 гг. | | Формат времени | 12/24 ч, часы/минуты/секунды | | Формат даты | День/месяц/год + день недели | | Термометр | Встроенный, разрешение 0.25 °C, точность ±3 °C | | Будильники | 2 программируемых (Alarm 1, Alarm 2) | | Выход | Программируемый прямоугольный сигнал 1 Гц – 32.768 кГц | | Выход SQW/INT | Открытый сток (open-drain) | | Корпус | SO-16 (SN — суффикс SOIC, 300 mil) | | Рабочая температура | −40 … +85 °C |
Отличия от DS1307/DS3231 (базовая)
- DS3231SN — точный (TCXO), SO-16
- DS3231S — точный, SO-16 (несколько другой температурный профиль), ±3.5 ppm
- DS3231M — версия с MEMS-резонатором, корпус SO-16
- DS1307 — устаревшая, точность зависит от кварца, ±20 ppm и хуже
Парт-номера
Оригинальные (Analog Devices / Maxim)
| Парт-номер | Описание | |---|---| | DS3231SN# | Базовый корпус SO-16, температурный диапазон 0…+70 °C | | DS3231SN#T&R | То же в ленте/катушке (Tape & Reel) | | DS3231SN+ | Свинцовый вариант, SO-16 | | DS3231SN+T&R | Свинцовый, Tape & Reel | | DS3231S# | SO-16, расширенный температурный диапазон | | DS3231MZ+ | MEMS-версия, SO-16 | | DS3231M+ | MEMS, SO-16 (до 5.5 В) | | DS3231 (DIP-16) | Не встречается в этом суффиксе, выпускается как DS3231SN only | | DS3232 | Родственная ИК с 236 байтами SRAM | | DS3234 | Версия с SPI-интерфейсом |
Популярные модули (платы) для Arduino
- HW-084 / GY-3231 / ZS-042 — классический модуль с батарейкой CR2032, EEPROM AT24C32
- DS3231 RTC Module AT24C32 — с I²C EEPROM 32 Кбит
- DS3231 High Precision RTC Module — обобщённое название, обычно с ZS-042 схемой
- DS3231 for Raspberry Pi (совместим Pin-to-Pin)
Совместимые модели / платформы
- Arduino: Uno, Mega, Nano, Due, Micro, Leonardo, Pro Mini, Esplora
- ESP: ESP8266 (NodeMCU, Wemos D1 mini), ESP32, ESP32-S2/S3/C3
- STM32: все платы с шиной I²C (BluePill, BlackPill, Nucleo и др.)
- Raspberry Pi: все модели с I²C (3/4/5/Zero/Pico через I²C)
- Teensy: 3.x, 4.x
- Другие МК: большинство совместимых с I²C устройств
Подключение (типовой модуль GY-3231 / ZS-042)
Arduino DS3231
VCC → VCC (3.3–5 В)
GND → GND
SDA → SDA (A4 на Uno/Nano)
SCL → SCL (A5 на Uno/Nano)
5V/3V → VCC (питание)
Опционально вывод SQW/INT для прерываний от будильников можно подключить к пину INT на плате.
Пример кода Arduino (библиотека RTClib)
#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
void setup() {
Serial.begin(9600);
Wire.begin();
if (!rtc.begin()) {
Serial.println("RTC не найден");
while (1);
}
if (rtc.lostPower()) {
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
rtc.temperature(); // температура
}
void loop() {
DateTime now = rtc.now();
Serial.print(now.year()); Serial.print('/');
Serial.print(now.month()); Serial.print('/');
Serial.print(now.day()); Serial.print(' ');
Serial.print(now.hour()); Serial.print(':');
Serial.print(now.minute()); Serial.print(':');
Serial.print(now.second());
Serial.print(" T=");
Serial.print(rtc.temperature());
Serial.println(" C");
delay(1000);
}
Преимущества и применение
Плюсы:
- Очень высокая точность vs. DS1307
- Не требует калибровки пользователем
- Встроенный термометр
- Будильники и выход квадратной волны
- Приемлемая цена
Применение:
- Логирование данных со временем
- Часы на Arduino/ESP
- Умный дом (таймеры, расписания)
- Будильники и напоминания
- RTC для систем с отключённым сетевым питанием
Если нужно — подскажу, как настроить DS3231 для прерываний, как подключить к ESP32/RPi или сравню с PCF8563/DS1307.