RTC модуль на DS1307 и Arduino
Хотя готовые часы реального времени (RTC модули) для микроконтроллеров имеются в каждом интернет-магазине, их можно собрать из нескольких компонентов лежащих вокруг.
Большинство схем на микроконтроллерах часто требуют текущее время и дату, чтобы хранить вместе с накопленными данными. Часы реального времени (RTC) на чипе DS1307 с подходящим резервной батареей можно использовать для подачи необходимой информации. Процесс программирования чипа RTC очень прост и поддерживается в большинстве сред программирования. Вот схема компактного модуля RTC, на основе популярной РТК СК DS1307. Адрес и данные передаются последовательно через двунаправленную шину I 2 C,. Имеет 24-часовой / 12-часовой формат времени / календарь и предоставляет секунды, минуты, часы, день недели, дату, месяц и год, в том числе информацию поправок на високосный год.
Список запчастей
- DS1307 RTC чип - 1
- 32,768 кГц (12,5 пФ) часовой кварц - 1
- 100nF керамический конденсатор - 1
- 10K резистор ¼ Вт - 2
- 12mm 3В литиевой (CR2032) - 1
- 12мм держатель - 1
- 5-контактный разъем - 1
- Печатная плата - 1
DS1307 имеет низкую стоимость, прост в обращении, в режиме реального времени работает в течении многих лет от 3V литиевой батареи. DS1307 имеет встроенный контроллер питания, который обнаруживает сбои питания и автоматически переключается на резервный источник. Работа DS1307 продолжается, пока идет энергия от резервного источника. Обратите внимание, что падение напряжения ниже -0.3V может привести к потере данных.
Принципиальная схема
Назначение выводов J1
1. Vcc (+ 5V)
2. GND (0 В)
3. SQW (прямоугольная волна / вывода драйвера) *
4. SCL (Serial Clock)
5. PDD (Serial Data)
* Прямоугольная волна / вывода драйвера: При включении SQWE бит установлен в 1, SQW / OUT контакт выводит одну из четырех прямоугольных частот (1 Гц, 4 кГц, 8 кГц, 32 кГц). SQW / OUT контакт с открытым стоком, требует внешнего подтягивающего резистора. SQW / OUT работает либо с VCC или VBAT. Напряжение может быть до 5,5V независимо от напряжения на VCC.
Любой 5V микроконтроллер с встроенным I 2 C вы можете легко использовать совместно с DS1307. Для RTC, вы можете использовать превосходную библиотеку RTC JeeLab в RTClib ( http://github.com/adafruit/RTClib ) - библиотека для получения и установки времени DS1307, применительно к Arduino ,
Вот очень простой учебник демонстрирует, как использовать его с Arduino: http://bildr.org/2011/03/ds1307-arduino/ .
Существенным преимуществом этого подхода является то, что аппаратное и программное обеспечение сведено к минимуму.