Серия простых часов Orbit: вкусно, как «Orbit-часы»
Автор: Aheir
Да, согласен, название странное, но легко объяснимое: сегодня у нас речь пойдет о линейке настольных часов-будильников, собранных в корпусах от сканеров штрих-кодов
Metrologic MS7120 Orbit – поэтому я статью так и назвал. Линейка, надо сказать, не супер большая, но три модели в себя включает. Назовем их… ну, скажем,
Orbit LED, Orbit Segment и Orbit Nixie. Да, точно, так и назовем.
Немного о конструкции. Сам сканер достаточно несложно разбирается на составные части: основание со съемным дном, на котором предусмотрено место для крепления печатной платы, и подвижный в одной плоскости сферический оптический блок, лицевая сторона которого представляет собой красный светофильтр, диаметром около 75мм. На «макушке» сферы имеется прозрачное съемное окно для установки светодиодов (думаю, все в супермаркетах обращали внимание, что при корректно считанном коде сканер обычно пищит и моргает лампочкой – вот это она и есть). Поэтому часы также было решено конструктивно разделить на составляющие: основная плата в нижней части и плата дисплея в оптическом блоке. Кроме того, в уже упоминавшееся окно для установки светодиодов, на их место, устанавливается маленькая платка с кнопкой управления и RGB-светодиодом для индикации режимов работы. С нее, пожалуй, и начнем, тем более что схема – проще некуда: кнопка, замыкающаяся на землю, и RGB-светодиод, катоды кристаллов объединены и соединены с землей, зажигаем его плюсом (ввиду простоты схема в электронном виде не разрабатывалась). Печатная плата ей под стать, из особенностей: светодиод NM5050RGB установлен в вырезе платы, чтобы сэкономить высоту; применена сверхнизкая SMD-кнопка от какого-то плеера – по тем же причинам: Разъем для экономии места не устанавливался, провода просто распаяны в плату. В съемном прозрачном окне корпуса сделано отверстие для толкателя кнопки, в качестве которого применен шток от обычной тактовой кнопки, подходящей длины: Основные платы для всех моделей часов идентичны и выполнены по схеме, представленной на рисунке: В качестве управляющего микроконтроллера применена Atmega8 в TQFP исполнении, так же на плате имеются микросхема часов реального времени DS1307, зуммер, отладочный светодиод, стабилизатор питания, блок высоковольтного питания, разъемы – и все. Наружу смотрит разъем 8P8C (коммуникационный, как на сетевых карточках, под RJ-45). На него выведено питание схемы, а также линии программирования и Rx/Tx микроконтроллера. Разъем программирования продублирован на плате гребенкой PLS-6, на такие же гребенки выведено подключение платы светодиода с кнопкой и платы дисплея. Кроме того, присутствует разъем подачи высокого напряжения – PLS-4. Естественно, для бесперебойной работы и сохранения времени микросхеме RTC требуется батарейка, применена CR2032 в стандартном держателе. Замечу, что на рисунке представлена фактическая схема, плата же, установленная в часах, разводилась по несколько более расширенной схеме, позволяющей использовать различные микросхемы RTC, по-разному осуществлять получение высокого напряжения и контроль над высоковольтным преобразователем со стороны МК.
«Расширенную» схему и соответствующую ей печатную плату (именно на ней собраны все часы) можно скачать в конце статьи, файлы имеют суффикс «v1» в названии, фактическая
схема - «v2».
Плата выполнена двухсторонней. На одной стороне разместились светодиоды с токоограничительными резисторами, на другой – регистры с блокировочными конденсаторами и разъем. Форма платы позволяет устанавливать ее в сферическую полость оптического блока корпуса сканера (я просто приклеил ее на термоклей к одной из половинок: на фото не именно эта плата, но принцип понятен):
В качестве эксперимента и из желания сэкономить себе времени, я эту плату развел автотрассировщиком: выглядит она, конечно, страшновато, но, как оказалось, вполне
работоспособна. Замечу, что в таком включении наблюдается некоторая перегрузка выводов регистров по току. Применяемые лично мной регистры я предварительно протестировал
в таком режиме, так что практически спокоен за них, но по-хорошему здесь стоило бы поставить дополнительные транзисторные ключи в линии-строки матрицы, по которым
осуществляется сканирование.
Orbit Segment
Помимо индикаторов используется также 60 SMD светодиодов для отображения секунд. Массив из светодиодов и индикаторов организован по принципу матрицы и управляется теми же сдвиговыми регистрами, однако здесь их количество уменьшилось:
Как и в предыдущем случае, монтаж высоковольтной части и стабилизатора питания не требуется. Плата экрана так же разведена автороутером, в часах установлена
плата предыдущей версии «v1» (отличается наличием резисторов в линиях столбцов массива SMD светодиодов – они не требуются и закорочены на плате (поставлены
резисторы 2,2Ома)), в конце статьи для скачивания доступны версии «v2» файлов проекта.
Orbit Nixie
Для питания индикаторов служит высоковольтный преобразователь на основной плате (наконец-то он нам пригодился!), данные загружаются в два регистра 74HC595 и преобразуются высоковольтными дешифраторами К155ИД1. Схема несколько запутанная, что связано с тем, что приоритетным было удобство разводки, схема корректировалась по разработанной плате.
За неимением панелек индикаторы впаяны напрямую в плату. Из-за ограничения габаритов применена нестандартная расстановка индикаторов, смотрится довольно интересно.
Десятичная точка отсутствует, при желании несложно добавить неоновую лампочку или светодиод.
Внешний вид:
Все управление и настройка всех часов осуществляются с помощью одной кнопки на «макушке» сферического блока, там же расположен светодиод для индикации состояния устройства. Доступны следующие воздействия:
Для входа в режимы по долгому нажатию необходимо нажать и удерживать кнопку до соответствующего (одиночного -> двойного -> тройного) звукового сигнала, после чего
отпустить ее. Поясню настройку времени (часов или будильника): после входа в соответствующий режим, нажимаем и удерживаем кнопку - происходит увеличение параметра,
отпускаем кнопку – параметр запоминается и звучит сигнал, нажав и удерживая кнопку во второй раз мы начнем изменять следующий параметр и т.д. Если не нажимать кнопку
в течение примерно 10с – часы вернутся в основной режим, какие либо изменения настроек при этом не сохраняются!
Исторически прошивки появлялись в том же порядке, в котором дано описание устройств в этой статье. Прошивка для Orbit LED наиболее сложная (вывод на матрицу
светодиодов, распределенное чтение данных из DS1307 по I2C), из нее достаточно просто получается прошивка для Orbit Segment, а уж для Nixie – вообще запросто
(но добавлены процедуры, отвечающие за генерацию высокого напряжения (используется ШИМ контроллера) и его стабилизацию на уровне 200В (АЦП)). Исходники доступны
для скачивания, при обнаружении глюков с багами будем разбираться совместно)
Update от 27.04.12
Доработки для Orbit LED
Исходники и прошивка доступны для скачивания
Файлы: Вопросы, как обычно, складываем тут.
|
|
|||||||||||||||||||||||||||||||||||||||
|
||||