Часы-таймер с экранчиком от Nokia 1112
 

Эта схема появилась как побочный продукт изучения работы дисплея от мобильного телефона Nokia 1112 и обладает следующими возможностями:
- часы;
- будильник;
- таймер.

Принципиальная схема здесь.
Питание (5 Вольт) подается на разъем J1. На выходе стабилизатора U2 напряжение 3,3В, которое через диод Шотки D1 идет на микроконтроллер U1. С помощью обычных кремниевых диодов D3 и D4 получаются напряжения +2,8 и +1.8В, которые необходимы для питания дисплея. Ионистор C5 является резервным источником питания и поддерживает ход часов при пропадании основного напряжения. Резистор R2 ограничивает ток заряда ионистора(~45mA) и не допускает перегрузки маломощного стабилизатора напряжения в момент включения. А т.к. резистор R2 имеет небольшое значение(всего 56 Ом), то на нем в режиме сна падает лишь незначительная часть напряжения(~1мВ).  Резистивный делитель R4-R5 подключается ко входу внутреннего аналогового компаратора микроконтроллера. Он рассчитан так, что при падении напряжения источника питания ниже 4,5В напряжение на входе компаратора станет ниже опорного напряжения(+1.1В) и микроконтроллер немедленно перейдет в малопотребляющий режим сна. Примерно через 3 секунды после восстановления питания схема просыпается и переходит в нормальный режим. Часы реального времени реализованы на асинхронном таймере TIM2 микроконтроллера. Они тактируются от кварца ZQ1. Нажатия на кнопки и другие события сопровождаются звуками, генерируемыми с помощью пьезоизлучателя LS1. Он подключен к выходам сравнения таймера TIM1. Пищалка включена в мостовом режиме чтобы увеличить громкость звуков. Реле RL1 в режиме таймера или в момент срабатывания будильника коммутирует нагрузку(разъем J2). Резистивные делители R6-R9 и R10-R13 обеспечивают согласование логических уровней микроконтроллера(+3В) с уровнями дисплея(+1.5...+1.8В).

В режиме сна ATMega88 потребляет 33-35мкА. Столь большой ток обясняется тем, что основным потребителем является схема BOD(сброс при провале питания) - 24мкА. Однако он исключает сбои в работе и обеспечивает надежный запуск контроллера при плавном включении - отключении питания(а в схеме есть большие емкости - ионистор к примеру).

Детали.
Ионистор 1Фарада, его хватает примерно на 10 часов сна. Можно поставить емкость больше - часы в резервном режиме будут идти дольше.
Реле RL1 - любое малопотребляющее реле на 5 вольт. Если функции таймера и включения нагрузки не нужны, то реле не ставим.
Пищалка LS1 - пьезокерамический излучатель на металлическом кружке. Можно выдернуть из дешевого калькулятора или старых наручных часов(поломать одни часы ради других:). Пьезопищалку желательно приклеить к корпусу устройства, так увеличится громкость звука.
ZQ1 - практически любой часовой кварц.
ATMega88 - любая. Можно и квадратную в корпусе TQFP, но у нее нумерация ног будет другая(см. даташит).
Резистор R14 определяет яркость подсветки дисплея. При значении 1к3 будет светиться несильно. Если надо прибавить яркости - поставьте 510 Ом.
С разъемом дисплея выходит следующее. Тут либо делать плату, искать и ставить на нее ответную часть, либо убрать нафиг этот разъем. Т.к. я делал все на макетке, то сдул феном разъем со шлейфа экранчика и вместо него припаял тоненькие проводочки.
D1 - диод Шотки(он имеет низкое падение напряжения). Однако, барьер Шотки имеет обратную сторону медали - большая токовая утечка в единицы микроампер, что при питании от резервного источника нехорошо. При сравнении имеющиеся в наличии экземпляры показали такую утечку:
1N5817 = 8 мкА
1N5819 = 1.7мкА.
Диод 1N5819 имеет меньше утечку, поэтому мы его сюда и поставим. Как померять токовую утечку? Очень просто. Для этого нам понадобится какой-нибудь блок питания на 3-5 вольт и мультиметр. Ставим мультиметр на измерение микроамперов, диод включаем в обратном направлении и меряем через него ток.

Очень важно при измерении диод включить в обратном направлении(т.е. чтобы на анод был подан минус, на катод - плюс) т.к. если диод включить в прямом направлении, то он откроется и через себя замкнет на блок питания. Что тогда будет? - Скорее всего мультиметр отправится на помойку.
*У импортных диодов катод помечается полосой.
Диоды D3, D4 - обычные и особенностей не имеют.

Режимы работы.
Управление осуществляется двумя кнопками: "МЕНЮ" и "ОК". Нажатие на кнопки сопровождается коротким звуком "бип", если продолжать удерживать нажатую кнопку то срабатывает автоповтор.

При подаче питания(или выходе из сна) схема переходит в режим часов. В режиме часов на экран выводится время и надпись "Буд" если был активирован будильник.
Будильник. Когда текущее время станет равным времени будильника, то срабатывает будильник. Появляется надпись "Буд+", часы начинают пикать "бип-бип-бип...", включается реле.
- Однократный будильник. Нажатие кнопок деактивирует будильник, реле отключается, надпись "Буд+" исчезает с экрана.
- Многократный будильник. Нажатие на одной из кнопок прерывает будильник, надпись сменяется на "Буд".
Если при работающем будильнике пропало и затем восстановилось питание, то будильник не продолжает свою работу(но он не деактивируется). Если был установлен однократный режим, то он сработает и отключится в следующий раз.

Нажмем кнопку "МЕНЮ", мы попадаем в меню устройства. Передвижение по пунктам - нажатие "МЕНЮ", вход в пункт - нажать "ОК". Пункты меню имеют таймаут 20 секунд. Т.е. если мы не нажимаем кнопки в меню в течении 20 сек, то схема сама возвращается в режим часов.

Таймер. Реле включается, таймер ведет обратный отсчет, по истечении установленного времени реле отключается.
Диалог "Уставка таймера". При установке нулевого значения таймер не запускается и мы сразу переходим в режим часов. Если было установлено ненулевое значение, и мы выбрали кнопку "ДА", то запускается режим таймера. Установленные значения запоминаются и автоматически подставляются в следующий раз. В моем случае таймер управляет ультрафиолетовой лампой для засветки фоторезиста.

Будильник.
Старт - время запуска будильника.
Длина - продолжительность работы будильника.
Однократный - флажок однократного режима означает, что когда будильник дотикал до конца, он деактивируется и больше не будет запускаться.

Настройка.
Диалог "Настройка часов" позволяет выставить текущее время ЧЧ:ММ:СС и значение коррекции +/-СС в секундах.
Коррекция времени срабатывает один раз в сутки, при переходе времени с 00:00:00 на 00:00:01. Если значение коррекции времени положительно, то оно сразу прибавляется к текущему времени. Например, была выставлена коррекция +10. Тогда после 00:00:00 сразу станет 00:00:10.
Если же коррекция времени отрицательна, то часы будут стоять на месте, пока не пройдет интервал коррекции.
Следует принимать во внимание эту особенность работы механизма коррекции часов при установке будильника в районе полуночи. Т.к. в одном случае будильник проработает дольше(если коррекция отрицательна), а в другом случае будильник может вообще не запуститься(если к примеру выставлено время старта 00:00:10, а значение коррекции +15 секунд).
Инверс - флажок инверсии, выставляет позитивную или негативную цветовую схему экрана. По умолчанию используется негативная схема.
Этот диалог не имеет таймаута, т.е. он будет отображаться постоянно, пока мы из него сами не выйдем.

Выход - выход из меню.
 
 

  
В инверсной цветовой схеме активная кнопка(или другой элемент) выделяется белым цветом.
 

Для тех, кто желает использовать эту графическую библиотеку в своих разработках я подготовил краткое описание программных функций и их параметров. Графические функции для работы требуют достаточно много памяти, поэтому бибилиотека может быть запущена на контроллерах с объемом памяти от 1КБ RAM.

Обобщая мой опыт работы с этим дисплеем, можно перечислить его преимущества и недостатки с точки зрения радиолюбителя.
Плюсы:
- очень дешевый и распространенный;
- простое управление(всего 4 проводника);
- яркая и равномерная подсветка белого цвета;
- малая толщина.
Минусы:
- нет каких-либо крепежных отверстий;
- для управления требует 9-битные посылки(не все контроллеры поддерживают такой режим шины SPI);
- сильно выраженный 6-часовой дисплей(6:00), при взгляде сверху(со стороны контроллера экрана) контрастность падает и изображение становится почти нечитаемым;
- медленный отклик жидких кристаллов, при быстрой смене изображения картинка двоится;
- мелкий и неудобный разъем.

    Скачать:

    Принципиальная схема.
 
    Прошивки и исходные коды.

    Описание функций графической библиотеки.
 

На главную
 

Hosted by uCoz