Шахматные часы — атрибут любого турнира по этому виду спорта. Даже 4-й разряд играет партии на время, что уж говорить о первом разряде или КМС. В основном, в шахматных клубах используют старые добрые мехнические образцы шахматных часов, к примеру, «Янтарь». При всей простоте использования, механические часы, особенно «ветераны», которые проработали не один год или даже десятилетие, имеют существенный недостаток, а именно — различную скорость хода часовых механизмов. Это связано с износом деталей, а также различным усилием часовой пружины, которую в процессе эксплуатации «подводят».
С развитием электроники на смену механическим часам пришли электро-механические и электронные. Если первые все так-же подвержены износу и зависят от заряженности батарей, вторые более точны и универсальны. Электронные часы, как правило, имеют в своем составе генератор с кварцевой стабилизацией частоты, который используется для обеих «половинок» (имеются ввиду раздельные табло для каждого игрока). Когда-то давно ко мне в руки попали электронные шахматные часы «Электроника» (опытная серия). Построены они были на основе простой логики, и к сожалению, были ненадежными (впрочем, их изготовление пришлось на конец 1980-х годов, так что думаю, это простительно). С тех самых пор на дальнюю полочку в сознании было отложено желание собрать свои собственные шахматные часы.
Итак, хочу представить вашему вниманию электронные шахматные часы — сувенир. Если вы увидев слово «сувенир» думаете, что эти часы «бутафория», то вы ошибаетесь. Просто без привычки ими пользоваться не выйдет, слишком велик отвлекающий фактор.
Часы выполнены на микроконтроллере ATmega8 и символьном ЖК дисплее на контроллере HD47780. Но, так как в шахматных партиях на счету буквально каждая десятая секунды (особенно в блице или в конце партии, когда время «висит»), а механические часы такую точность обеспечить не могли, я решил свой прибор выгодно отличить от них. Для этой цели применены светодиоды. Это обусловлено тем, что обновление ЖК дисплея с такой частотой нежелательно, да и не удобно следить за мешаниной цифр на дисплее.
Получилось весьма ярко и необычно, но к сожалению, для использования в реальной игре эти часы малопригодны.
Принципиальная схема:
Я старался максимально упростить конструкцию. Результат вы видите на рисунке выше. Так как количество светодиодов явно превышало количество свободных пинов микроконтроллера, было решено использовать уже проверенные временем (к тому же дешевые) сдвиговые регистры 74HC595. Кроме этого, дабы уменьшить количество элементов на схеме и упростить разводку печатной платы, пришлось отказаться от статической индикации и применить динамическую. Транзисторы Q1 и Q2 попеременно коммутируют левую и правую шкалы светодиодов, а во время переключения обновляется содержимое сдвиговых регистров. Микроконтроллер работает на частоте 16МГц и тактируется от встроенного генератора с кварцевой стабилизацией. Высокую точность хода таким методом не получить, но для измерения временных отрезков продолжительностью до 2-х часов сгодится. Тем более, что нам в данном случае важна не абсолютная точность, а относительная, левой части и правой.
Для питания всего устройства используется li-ion аккумулятор от старого смартфона, преобразователь DC-DC, и модуль зарядки на TP4056. Эти детали вынесены за схему, так как не являются необходимыми частями конструкции.
Печатная плата:
Печатная плата изготовлена из двухстороннего фольгированного материала толщиной 1мм. Дорожки выполнены по технологии ЛУТ, исходники прилагаются. Изначально планировалось для дисплея вырезать в плате «окно», но в дальнейшем этот вариант был отвергнут. Размеры платы: 124х83 мм
Внешний вид модели печатной платы устройства:
Прошивка:
Прошивка была написана на С в AVR Studio, исходники прилагаются. Для заливки прошивки в микроконтроллер использовалась программа Khazama AVR Programmer и программатор USBasp.
Fuse-биты следует выставить в соответствии со скриншотом,
или следующим образом:
H-Fuse: 0xC8
L-Fuse: 0xEF
E-Fuse: 0x00
Lock: 0x3F
Аналоги и возможная замена. Транзисторы BC557 можно заменить на отечественный аналог КТ3107. Светодиоды D1 — D20 подойдут любые с малым током потребления, главное чтобы на плате уместились. D21, D22 могут быть диаметром 3 или 5 мм, ток потребления <20mA. Все резисторы для поверхностного монтажа использованы типоразмера 0805, остальные — МЛТ-0,125. Конденсаторы — дисковые керамические.
Разъем J1 , а также резисторы R25 — R28 можно не монтировать, так как они в текущей версии прошивки не используются. Резисторы R30, R31 можно заменить перемычками.
Правильно собранное и запрограммированное устройство в наладке не нуждается, и должно работать сразу после включения.
Фото и видео работы (к сожалению, фото изготовления платы забыл сделать):
Спасибо за внимание!
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот | |
---|---|---|---|---|---|---|---|
U1 | МК AVR 8-бит | ATmega8-16PU | 1 | ||||
U2, 3 | Сдвиговый регистр | SN74HC595 | 2 | ||||
Q1, 2 | Биполярный транзистор | BC557 | 2 | ||||
LCD1 | ЖК дисплей | HD44870 | 1 | ||||
D1-20 | Светодиод | Синий | 20 | 0805 | |||
D21, 22 | Светодиод | Синий | 2 | 3мм | |||
X1 | Кварцевый резонатор | 16MHz | 1 | Низкопрофильный | |||
C1, 2 | Конденсатор | 33p | 2 | ||||
R30, 31 | Резистор | 1 Ом | 2 | 0805 | |||
R1-R10, R13-R21, R24 | Резистор | 330 Ом | 20 | 0805 | |||
R22, 23 | Резистор | 330 Ом | 2 | МЛТ-0,125 | |||
R32 | Резистор | 560 Ом | 1 | 0805 | |||
R11, 12 | Резистор | 4.7 кОм | 2 | МЛТ-0,125 | |||
R25-R29 | Резистор | 10 кОм | 5 | 0805 | |||
RV1 | Подстроечный резистор | 1 кОм | 1 | ||||
J1-5 | Разъем | PLS-40 | 1 | ||||
SW3 | Кнопка | 1 | Без фиксации, мембранная | ||||
SW1, 2 | Кнопка | 2 | Без фиксации, чувствительная | ||||
Вне схемы | DC-DC преобразователь | MT3608 | 1 | ||||
Вне схемы | Модуль зарядки Li-Ion | 03962A | 1 | ||||
Вне схемы | Аккумулятор | Li-Ion 3.7В | 1 | ||||
Вне схемы | Пьезоэлектрический излучатель | 1 | |||||
Вне схемы | Переключатель | Выключатель питания | 1 | ||||