Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Многофункциональные наручные LED часы

Как видно из названия, главное предназначение данного устройства - узнавать текущее время и дату. Но оно имеет ещё множество других полезных функций. Идея его создания появилась после того, как мне на глаза попались полусломанные часы с относительно большим (для наручных) металлическим корпусом. Я подумал, что туда можно вставить самодельные часы, возможности которых ограничиваются только собственной фантазией и умением. В результате появилось устройство со следующими функциями:

1. Часы - календарь:

  • Отсчёт и вывод на индикатор часов, минут, секунд, дня недели, числа, месяца, года.

  • Наличие автоматической корректировки текущего времени, которая производится каждый час (максимальные значения +/-9999 ед., 1 ед. = 3,90625 мс.)

  • Вычисление дня недели по дате (для текущего столетия)

  • Автоматический переход на летнее и зимнее время (отключаемый)

  • Учитываются високосные годы

2. Два независимых будильника (при срабатывании звучит мелодия)
3. Таймер с дискретностью 1 сек. (Максимальное время отсчета 99ч 59м 59с)
4. Двухканальный секундомер с дискретностью счета 0,01 сек. (максимальное время счета 99ч 59м 59с)
5. Секундомер с дискретностью счета 1 сек. (максимальное время счета 99 суток)
6. Термометр в диапазоне от -5°С. до 55°С (ограничен температурным диапазоном нормальной работы устройства) с шагом 0,1°С.
7. Считыватель и эмулятор электронных ключей - таблеток типа DS1990 по протоколу Dallas 1-Wire (память на 50 штук, в которой уже имеется несколько универсальных ”ключей-вездеходов”) с возможностью побайтного просмотра кода ключа.
8. Дистанционный пульт управления на ИК лучах (реализована только команда "Сделать снимок") для цифровых фотокамер "Pentax", "Nikon", "Canon"
9. Светодиодный фонарик
10. 7 мелодий
11. Звуковой сигнал в начале каждого часа (отключаемый)
12. Звуковое подтверждение нажатия кнопок (отключаемое)
13. Контроль напряжения батареи питания с функцией калибровки
14. Цифровая регулировка яркости индикатора

Может такая функциональность и избыточна, но мне нравятся универсальные вещи, ну и плюс моральное удовлетворение от того, что данные часы будут сделаны своими руками.

Принципиальная схема часов

Схема часов

Устройство построено на микроконтроллере АТmega168PA-AU. Часы тикают по таймеру Т2, работающему в асинхронном режиме от часового кварца на 32768 Гц. Микроконтроллер почти всё время находится в спящем режиме (индикатор при этом выключен), просыпаясь раз в секунду, чтобы добавить эту самую секунду к текущему времени и снова засыпает. В активном режиме МК тактируется от внутреннего RC осциллятора на 8 МГц, но внутренний прескалер делит её на 2, в итоге ядро тактируется от 4 МГц. Для индикации используется четыре одноразрядных светодиодных цифровых семисегментных индикатора c общим анодом и децимальной точкой. Так же имеется 7 статусных светодиодов, назначение которых следующее:
D1- Признак отрицательного значения (минус)
D2- Признак работающего секундомера (мигает)
D3- Признак включенного первого будильника
D4- Признак включенного второго будильника
D5- Признак подачи звукового сигнала в начале каждого часа
D6- Признак работающего таймера (мигает)
D7- Признак низкого напряжения батареи питания

R1-R8 - токоограничительные резисторы сегментов цифровых индикаторов HG1-HG4 и светодиодов D1-D7. R12,R13 – делитель для контроля напряжения батареи. Поскольку напряжение питания часов 3V, а белому светодиоду D9 требуется около 3,4-3,8V при номинальном токе потребления, то он светится не в полную силу (но её хватает, чтобы не споткнуться в темноте) и поэтому подключен без токоограничительного резистора. Элементы R14, Q1, R10 предназначены для управления инфракрасным светодиодом D8 (реализация дистанционного управления для цифровых фотокамер). R19, R20, R21 служат для сопряжения при общении с устройствами, имеющими интерфейс 1-Wire. Управление осуществляется тремя кнопками, которые я условно назвал: MODE (режим), UP (вверх), DOWN (вниз). Первая из них также предназначена для пробуждения МК по внешнему прерыванию (при этом индикация включается), поэтому она подключена отдельно на вход PD3. Нажатия остальных кнопок определяется при помощи АЦП и резисторов R16,R18. Если кнопки не нажимаются в течении 16 сек, то МК засыпает и индикатор гаснет. При нахождении в режиме “Пульт ДУ для фотокамер” этот интервал составляет 32 сек., а при включенном фонарике - 1 минуту. Также МК можно усыпить вручную, используя кнопки управления. При запущенном секундомере с дискретностью счета 0,01 сек. устройство не переходит в спящий режим.

Печатная плата

Устройство собрано на двухсторонней печатной плате круглой формы по размеру внутреннего диаметра корпуса наручных часов. Но при изготовлении я использовал две односторонние платы толщиной 0,35 мм. Такую толщину опять же получил отслоив её от двухстороннего стеклотекстолита толщиной 1,5 мм. Платы затем склеил. Все это делалось потому что, у меня не было тонкого двухстороннего стеклотекстолита, а каждый сэкономленный миллиметр толщины в ограниченном внутреннем пространстве корпуса часов очень ценен, да и отпала надобность совмещения при изготовлении печатных проводников методом ЛУТ. Рисунок печатной платы и расположение деталей находятся в прилагаемых файлах. На одной стороне размещены индикаторы и токоограничительные резисторы R1-R8. На обратной - все остальные детали. Имеются два сквозных отверстия для белого и инфракрасного светодиодов.

Контакты кнопок и держатель батареи выполнены из гибкой пружинящей листовой стали толщиной 0,2…0,3мм. и залужены. Ниже приведены фото платы с двух сторон:

Сторона индикаторов и сторона микроконтроллера

Собранная со стороны индикаторов

Вид со стороны МК в корпусе

Конструкция, детали и их возможная замена

Микроконтроллер ATmega168PA-AU можно заменить на ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Цифровые индикаторы - 4 штуки KPSA02-105 суперяркие красного цвета свечения с высотой цифры 5,08мм. Mожно поставить из этой же серии KPSA02-xxx или KCSA02-xxx. (только не зеленые – они будут слабо светиться) Другие аналоги подобных размеров с достойной яркостью мне неизвестны. У HG1, HG3 соединение катодов сегментов отличается от HG2, HG4, потому что мне так было удобнее для разводки печатной платы. В связи с этим для них в программе применена различная таблица знакогенератора. Используемые резисторы и конденсаторы SMD для поверхностного монтажа типоразмеров 0805 и 1206, светодиоды D1-D7 типоразмера 0805. Белый и инфракрасный светодиоды диаметром 3мм. На плате имеется 13 сквозных отверстий, в которые необходимо установить перемычки. В качестве температурного датчика применён DS18B20 c интерфейсом 1-Wire. LS1 – обычная пьезоэлектрическая пищалка, вставляется в крышку. Одним контактом она соединяется с платой при помощи пружинки, установленной на ней, другим соединяется с корпусом часов самой крышкой. Кварцевый резонатор от наручных часов.

Программирование, прошивка, фьюзы

Для внутрисхемного программирования на плате имеются только 6 круглых контактных пятачка (J1), так как полноценный разъем не уместился по высоте. К программатору их подключал, используя контактное устройство, сделанное из штыревой вилки PLD2x3 и напаянных на них пружинками, прижимая их одной рукой к пятачкам. Ниже прилагается фото приспособления.

Контакты

Я использовал его, так как в процессе отладки приходилось много раз перепрошивать МК. При разовой прошивке проще подпаять к пятачкам тонкие провода, подключенные к программатору, а после снова отпаять. МК удобнее прошивать без батареи, но чтобы питание поступало либо от внешнего источника +3V, либо от программатора c таким же напряжением питания. Программа написана на ассемблере в среде VMLAB 3.15. Исходные коды, прошивки для FLASH и EEPROM в приложении.

FUSE-биты микроконтроллера DD1 должны быть запрограммированы следующим образом:
• CKSEL3...0 = 0010 — тактирование от внутреннего RC осциллятора 8 МГц;
• SUT1...0 =10 — Start-up time: 6 CK + 64 ms;
• CKDIV8 = 1 — делитель частоты на 8 отключён;
• CKOUT = 1 — Output Clock on CKOUT запрещен;
• BODLEVEL2…0 = 111 — контроль напряжения питания отключён;
• EESAVE = 0 — стирание EEPROM при программировании кристалла запрещено;
• WDTON = 1 — Нет постоянного включения Watchdog Timer;
Остальные FUSE – биты лучше не трогать. FUSE–бит запрограммирован, если установлен в “0”.

Прошивка EEPROM прилагаемым в архиве дампом обязательна.

В первых ячейках EEPROM размещается начальные параметры устройства. В приведённой ниже таблице описывается назначение некоторых из них, которые можно менять в разумных пределах.

№ пп

Адрес ячейки

EEPROM

Назначение

Параметр

Примечание

1

$0000-$0001

Величина напряжения батареи, при которой происходит сигнал о её низком уровне

260($104) (2,6V)

1 ед = 10mV

2

$0002-$0003

коэффициент для коррекции значения измеренного напряжения батареи

800…..1200

 

3

$0004

интервал времени на переход в режим сна

16($10)

1 ед. = 1 сек

4

$0005

интервал времени на переход в режим сна при включенном фонарике

60($3С)

1 ед. = 1 сек

5

$0006

интервал времени на переход в режим сна при нахождении в режиме ДУ для фотокамер

32($20)

1 ед. = 1 сек

6

$0030-$01BF

Здесь хранятся номера IButton ключей

 

50 штук

Небольшие пояснения по пунктам:

1 пункт. Здесь указывается величина напряжения на батарее, при которой загорится светодиод, сигнализирующий о её низком значении. Я поставил 2,6V (параметр - 260). Если нужно другое, например 2,4V, то надо записать 240($00F0). В ячейку по адресу $0000 заносится младший байт, соответственно в $0001 – старший.

2 пункт. Поскольку я не установил на плату переменный резистор для подстройки точности измерения напряжения батареи питания ввиду отсутствия места, то я ввел программную калибровку. Порядок калибровки для точного измерения следующий: изначально в данной ячейке EEPROM записан коэффициент 1024($400), необходимо перевести устройство в активный режим и посмотреть на индикаторе напряжение, и тут же замерить вольтметром реальное напряжение на батарее. Коэффициент коррекции (К), который необходимо выставить, вычисляется по формуле: K=Uр/Uи*1024 где Uр – реальное напряжение, измеренное вольтметром, Uи – напряжение которое, измерило само устройство. После подсчёта коэффициента ”K” его заносят в устройство (как это делается сказано в инструкции по эксплуатации). После калибровки у меня погрешность не превысила 3%.

3 пункт. Здесь задается параметр времени, через которое устройство перейдет в спящий режим, если кнопки не нажимаются. У меня стоит 16 сек. Если допустим надо, чтобы засыпало через 30 сек, то надо записать 30($26).

В 4 и 5 пунктах аналогично.

6 пункт. По адресу $0030 хранится код семейства нулевого ключа (dallas 1-Wire), затем его 48 битный номер и CRC. И так 50 ключей последовательно.

Настройка, особенности работы

Настройка устройства сводится к калибровке измерения напряжения батареи, как описано выше. Также необходимо засечь отклонение хода часов за 1 час, посчитать и внести соответствующее значение коррекции (процедура описана в инструкции по эксплуатации).

Устройство питается от литиевой батареи CR2032 (3V) и потребляет в режиме сна примерно 4 мкА, а в активном режиме 5…20 мА в зависимости от яркости индикатора. При ежедневном пятиминутном использовании активного режима батареи должно хватить примерно на 2….8 месяцев в зависимости от яркости. Корпус часов соединен с минусом батареи.

Считывание ключей проверялось на DS1990. Эмуляция проверена на домофонах ”МЕТАКОМ”. Под порядковыми номерами от 46 до 49(последние 4) прошиты (все ключи хранятся в EEPROM, их можно изменять перед прошивкой) универсальные ключи для домофонов. Ключ, прописанный под номером 49 открывал все домофоны ”МЕТАКОМ”, которые мне попадались, остальные универсальные ключи тестировать не довелось, их коды я взял из сети.

Дистанционное управление для фотокамер проверялось на моделях Pentax optio L20, Nikon D3000. Canon не удалось заполучить для проверки.

Инструкция пользователя занимает 13 страниц, поэтому я не стал её включать в статью, а вынес в приложение в формате PDF.

Вид часов сзади со снятой  крышкой

Внешний вид часов

Архив содержит:
Схема в Proteus 7.7SP2 и GIF;
Рисунок печатной платы и расположение элементов в формате SprintLayout 5;
Прошивка и исходники на ассемблере;

Баталов Алексей (alexperm72@mail.ru) Интернет страничка автора

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DD1 МК AVR 8-бит
ATmega168PA
1 PA-AUПоиск в магазине ОтронВ блокнот
U2 Датчик температуры
DS18B20
1 Поиск в магазине ОтронВ блокнот
Q1 MOSFET-транзистор
2N7002
1 Поиск в магазине ОтронВ блокнот
С1, С2 Конденсатор30 пФ2 Поиск в магазине ОтронВ блокнот
С3, С4 Конденсатор0.1 мкФ2 Поиск в магазине ОтронВ блокнот
С5 Электролитический конденсатор47 мкФ1 Поиск в магазине ОтронВ блокнот
R1-R8, R17 Резистор
100 Ом
9 Поиск в магазине ОтронВ блокнот
R9 Резистор
10 кОм
1 Поиск в магазине ОтронВ блокнот
R10 Резистор
8.2 Ом
1 Поиск в магазине ОтронВ блокнот
R11 Резистор
300 Ом
1 Поиск в магазине ОтронВ блокнот
R12 Резистор
2 МОм
1 Поиск в магазине ОтронВ блокнот
R13 Резистор
220 кОм
1 Поиск в магазине ОтронВ блокнот
R14 Резистор
30 кОм
1 Поиск в магазине ОтронВ блокнот
R15, R19 Резистор
4.7 кОм
2 Поиск в магазине ОтронВ блокнот
R16 Резистор
20 кОм
1 Поиск в магазине ОтронВ блокнот
R18 Резистор
100 кОм
1 Поиск в магазине ОтронВ блокнот
R20 Резистор
330 Ом
1 Поиск в магазине ОтронВ блокнот
Х1 Кварцевый резонатор32768 Гц1 Поиск в магазине ОтронВ блокнот
HG1-HG4 Светодиодный цифровой индикаторKPSA02-1054 Поиск в магазине ОтронВ блокнот
D1-D7 СветодиодКрасный7 Поиск в магазине ОтронВ блокнот
D8 СветодиодTSAL4400_инфракрасный1 Поиск в магазине ОтронВ блокнот
D9 СветодиодБелый1 Поиск в магазине ОтронВ блокнот
J1 Разьем для подключения программатора1 Поиск в магазине ОтронВ блокнот
Кнопка3 Поиск в магазине ОтронВ блокнот
Батарея питанияCR2032 3V1 Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Баталов Алексей Опубликована: 2011 г. 0 0
Я собрал 0 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.5 Проголосовало: 1 чел.

Комментарии (20) | Я собрал (0) | Подписаться

0
maygli #
Мужик, да у тебя талант! Давай еще!
Ответить
0
А.Попов #
А куда 1-Wire девать? Это вообще что такое?
Ответить
0
Валерий #
C5 в схеме что из себя представляет и где он фото собранной схемы? Спасибо. Блин третий раз собирать буду...
Ответить
0
Максим #
С5 это электролитический конденсатор примерно 2х3 мм размером и на фото его нет.
Ответить
0
Николай #
Давно присматривался к вашей схеме, но боялся повторить. В основном, сложность была в прошивке микроконтроллера, раньше работал только с PIC. Наконец решился. Упростил схему, убрав из нее инфракрасный диод, датчик открывания замков и термодатчик с соответствующей обвязкой. Переделка печатной платы заняла несколько дней, но освобожденное пространство позволило добавить разъем микроюсб и чип зарядки литиевых акб. Так же развел места под стандартные кнопки. Очень благодарен вам за ваши труды.
Прикрепленный файл: cloc.lay6
Ответить
0
Вячеслав #
Долго собирал компоненты устройства, особенно микроконтроллер (на заказ сначала пришел atmega44 в корпусе с обозначением atmega168, потом вообще atmega128, и только с третьей попытки..) В конце концов все сложилось. Устройство рабочее. Хорошо, что есть исходники, хочется попробовать вместо температуры прикрутить давление. Автору огромное спасибо!
Прикрепленный файл: IMG_20.jpg
Прикрепленный файл: IMG_21.jpg
Ответить
0
Николай #
Вячеслав тоже по ходу проблема с микроконтроллерами. Не могу прошить. Как определили что контроллеры не те?
Прикрепленный файл: IMG_20200723_160724_1.jpg
Ответить
0
Вячеслав #
В SinaProg можно посмотреть сигнатуру и по ней вычислить....(с atmega44 пришлось сначала прогонять через fusebit doctor...)
Ответить
0
Юрий #
Собирал данный девайс на алс314, все работает ок, правда пришлось уменьшить номиналы резисторов токоограничивающих 100 ом до 10 ом. Иначе алски тускло светят.
Кому надо могу сбросить лай-платы..
Ответить
0
Николай #
Юрий, кинте пожалуйста, буду признателен.
Ответить
0
Pepelatz70 #
Сбростье пожалуйста
Ответить
0
Юрий #
Кому интересно лай-платы, номиналы токоограничивающих резисторов 1-10 ом, в зависимости от яркости алс314.
Прикрепленный файл: ПЛАТА ЧАСЫ МФУ модернизир.lay6
Ответить
0
Андрей #
Юрий, скиньте платы пожалуйста, спасибо
Ответить
0
Юрий #
Здравствуйте Юрий, если не затруднит, скиньте платы и мне. Спасибо
Ответить
0
Юрий #
Выкладываю скорректированные платы для желающих повторить.
Прикрепленный файл: ПЛАТА ЧАСЫ МФУ модернизир.lay6
Ответить
0
Андрей #
Юрий, сижу смотрю на схему и созрел соотвествующий вопрос.
На схеме в индикаторах написано Н контакт, это я так понимаю DP?
Ответить
0
Юрий #
Да
Ответить
0
Юрий #
Плата зарядки ставится бутербродом за основной.
Прикрепленный файл: Плата зарядки.lay6
Ответить
0
Совке #
Здравствуйте!
Проект ещё жив? Я так понимаю писали на ассемблере. Есть пару вопросов..
Ответить
0
Николай #
Хочу прошить с помощью AVRDUDEPROG, вообще не пойму как расставить фьюзы. Я не силен в программировании.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Регулятор мощности 2 кВт DC-DC регулируемый преобразователь 1.5-37В 2А с индикатором
вверх