Давненько я не делился своими девайсами с общественностью, все как-то времени не было. А тут как раз карантин, две недели незапланированного отдыха и понеслось. Началось все с наведения порядка в закромах и "встрече" с коробкой различных индикаторных ламп, среди которых была вот такая красавица
Звать ее ИВ-18 и является она многоразрядным, люминесцентным семисегментным индикатором. По всем признакам зверек был живее всех живых, к тому же даже не паяный. Что и подтвердилось последующей проверкой. Сразу возникло желание применить данный индикатор. Тем более с таким типом индикаторов я еще не работал. Применить, так применить. Будут из него часы! Что ж, приступим. Для начала немного теории
Управление люминесцентным индикатором мало чем отличается от управления обычным, светодиодным семисегментником. Тот же общий анод, он же сетка, и те же 7 катодов, каждый из которых - сегмент цифры. Разница лишь в том, что требуется подать питание на накал, иначе "кина не будет". Ну и эмиссия электронов идет между катодом и накалом, а сетка как раз таки препятствует свечению. Т.е. для того, чтобы зажечь сегмент требуется подать высокий уровень и на сетку и на катод. Причем уровень этот находится в районе 40-60 В. А вот если соединить сетку с минусом питания, то знакоместо отключится.
С теорией немного разобрались, переходим к практике. По сути требуется управлять 9 сетками и 8 сегментами (элементы цифры+точка), что дает 17 каналов. Далее есть два пути. Первый - ставить 17 (а лучше 34) транзисторных ключа и какой-нибудь сдвиговый регистр, дабы ограничить число используемых выводов МК. Огромный минус такого подхода - целая горсть рассыпухи, которую надо где-то размещать. Второй путь - поставить спец микруху. Поиски на просторах сети показали, что такие микросхемы существуют и звать одну из них MAX6921. Представляет она собой как раз таки сдвиговый регистр с транзисторными ключами на выходе, а этих самых выходов аж 20 шт.
Причем чип может спокойно работать с напряжением до 76 В. Плюс нет абсолютно никаких особенностей работы с ним, что заслали по SPI, то и получили на выходе. Размерность регистра - 20 бит. Т.е. шлем 24 бита, просто данные смещаем с учетом того, что 4 бита в регистр не влезут, а потому и использоваться не будут. Если же есть желание собрать некий мега девайс на люминесцентниках, то микрухи можно еще и включать каскадом, после чего данные будут передаваться между ними по цепочке. Кроме этого, МАХ обзавелась очень полезным входом BLANK, который позволяет перекинуть все выходы в низкий уровень, не трогая при этом содержимое сдвигового регистра. Подаем на этот вход ШИМ и получаем управление яркостью без каких-либо затрат со стороны МК. Выпускаются микрухи как в корпусе побольше - WSOIC, так и в миниатюрном TSSOP. Т.к. TSSOP найти куда сложнее, чем WSOIC. я использовал WSOIC. Тут следует обратить внимание, что распиновка у всех типов корпусов совершенно РАЗНАЯ. Моя схема именно под WSOIC.
Пожалуй, с описательной частью закончим и перейдем к самому интересному - СХЕМАМ! Конструктивно часы состоят из двух отдельных плат, соответственно и схем тоже две. Первая выглядит вот так:
Тут собрано все питание в виде понижающего стабилизатора на 3,3 В (TPS73801) и повышающего на 60 В (MC34063). Драйвера лампы (MAX6921) и кнопок, работают которые с использованием АЦП МК. Сразу сделаю оговорку по поводу примененных элементов. Схема рисовалась с учетом того, что есть в запасе, поэтому часть компонентов будет далека от оптимальных по стоимости. Так TPS73801 спокойной заменяется на ту же LM1117-3.3, катушка в повышайке будет работать практически любая, лишь бы индуктивность совпадала и ток был хотя бы 1 А. Силовой транзистор тоже легко заменяется на MOSFET с напряжением открывания в районе 4 В и током 1-2 А. Выходные конденсаторы повышайки так же можно заменить на обычный электролит или керамику с емкостью 22-47 мкФ и рабочим напряжением от 70 В.
Как видно из схемы, накал питается постоянным током. В данной лампе от как раз рассчитан на напряжение 5 В. Хотя накал таких ламп желательно питать переменным током, во избежании появления градиента яркости между первым и последним разрядом в следствии большой дины нитей накала, эксперименты показали, что все разряды сохраняют абсолютно одинаковую яркость при питании накала постоянным током.
Схема второй платы не намного сложнее.
Тут расположились МК (STM32F303, опять же можно заменить на 103 серию, изменив прошивку), I2C EEPROM, RTC, датчики освещенности и температуры. В качестве датчика освещенности выбран фототранзистор SFH 3310, причем исключительно из-за формы корпуса. Плоская, прозрачная линза диаметром 3 мм практически не видна на стенке корпуса. Но фотрезистор будет работать тут ничуть не хуже. Датчик температуры применен аналоговый AD22100. По стоимости он не сильно превосходит тот же DS18b20, но вот работать с ним гораздо проще, просто оцифровываем напряжение на выходе и по формуле переводим в градусы. Главное обеспечить либо стабильное питание 5 В, либо измерение напряжения питания датчика (что мне и пришлось сделать, но об этом чуть позже). Кроме этого на плате присутствует выход для подключения адресных светодиодов, но в итоге я его не использовал, как и USB.
Все элементы размещаются на двухсторонних платах. Сами платы были заказаны в Китае, запаяны, и выглядят вот так:
Соединение между платами выполняется при помощи шлейфа. Контактов не так уж и много. Питание 5 В и 3,3 В, GND, BLANK и SPI. Питается девайс от 5 В, потребляя при этом около 400 мА. Что позволяет получать питание от обычного USB2.0 или самого дешевого ЗУ для телефона. НА МК заведены и линии данных USB, но я так и не придумал, что можно слать в часы с ПК, поэтому в прошивке USB не реализован. Если кто придумает что-то интересное - пишите в комментах к статье, реализую =)
Завелось все с первого же раза и почти сразу обнаружилась небольшая недоработка в части измерения температуры. Я совершенно забыл, что с разными кабелями и на разных USB разъемах будет разное напряжение, а значит и измерения будут плавать, т.к. датчик питается от 5 В. Выход - замерять напряжение питания по линии 5 В. Так совпало, что выход для возможного подключения WS2812 так же является входом АЦП. Чем я и воспользовался, выпаяв буфер D6 и установив вместо него делитель. В итоге температура измеряется совершенно нормально и плату перезаказывать не пришлось. Схематически это выглядит вот так:
Лампа ИВ-18 подразумевает применение динамической индикации. В проекте частота переключения знакомест выбрана равной 1000 Гц. В промежутках между выводом информации выполняется регулировка яркости текущего знакоместа путем подачи ШИМ на вход BLANK. Соответственно яркость каждого знакоместа может изменяться независимо. Алгоритм индикации довольно простой: послать данные по SPI и изменить значение ШИМ. Частота же выбрана из соображение отсутствия видимого мерцания. Т.к. обновлять необходимо 9 разрядов, частота обновления каждого разряда будет в 9 раз меньше частоты вывода информации, т.е. немногим больше 100 Гц.
Собранные платы, конечно, вещь хорошая, но вот пользоваться часами в таком виде совершенно неудобно. А значит нужен корпус, благо, нынче получить его не так уж и сложно. Открываем SolidWorks, или что-то аналогичное, и начинаем думать. На этом этапе проявляются плюсы разработки плат в профессиональном ПО, типа Altium и т.п.. В отличии от простецких программ оно позволяет выгрузить 3D модель собранной платы, что сильно помогает при проектировании корпуса. После пары вечеров раздумья родилась вот такая модель:
И еще пара вечеров ушла на отрисовку гравировки на боковых стенках. В качестве материалов были выбраны дерево и латунь. Далее все детали модели, кроме трубок, отправляются в мастерскую (я пользуюсь услугам вот такой), где при помощи черной и белой магии ЧПУ станков их вырезают из указанных материалов. Результатом работы становится горсть деталей:
Приступаем к сборке. Весь корпус собирается в единое целое при помощи трех резьбовых шпилек М4, которые проходят сквозь трубки и отверстия в деревянных боковинах, после чего фиксируются гайками. Через четвертую трубку проходит шлейф, соединяющий две платы между собой. Идеально подошел шлейф с шагом 0,5 мм. Сам платы устанавливаются в деревянных боковинах. Боковые крышки ничем не фиксируются и держатся лишь за счет силы трения. В собранном виде часы приобретают вполне юзабельный вид:
Снизу приклеиваются силиконовые ножки:
А вот так выглядит фотодатчик, если не присматриваться, сразу и не заметишь:
Функционал часов стандартный:
- Отображение времени.
- Отображение даты.
- Отображение температуры.
- Автоматическая регулировка яркости в зависимости от освещенности.
От каких-либо украшательств в виде подсветки и т.п. решил отказаться в пользу более строго внешнего вида.
Управление осуществляется при помощи 4 кнопок: ENTER, UP, DOWN, BACK; При нажатии кнопок UP и DOWN на экран выводятся, соответственно дата и температура на 2 с. Краткое нажатие ENTER переключает режимы отображения информации, которых в часах 4 шт:
- Время.
- Время + Дата.
- Время + Температура.
- Время + Дата + Температура.
Удержание ENTER более 2 с вызывает настройки времени и даты. Настройка выполняется в порядке: Часы, Минуты, День, Месяц, Год. Переход по настройкам осуществляется нажатием ENTER, настройка выбранного параметра кнопками UP и DOWN. Запись установленного времени осуществляется при переходе с настройки минут на настройку даты. Дата записывается при нажатии ENTER после установки года. Нажатие кнопки BACK приводит к выходу из меню настроек без сохранения установленных параметров.
Вот и весь функционал. Как по мне, для часов более чем достаточно. На этом у меня все. Видео работы, проекты Altium и Keil прилагаются.
P.S. Если появится желание повторить данный проект, но с применением более доступных элементов - пишите в комментах к статье, отредактирую плату под ваши элементы.
P.P.S Если кого-то заинтересовал процесс прорисовки корпуса в SolidWorks, аналогично, пишите в комментах. Могу написать небольшой цикл статей по работе с данным ПО.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот | |
---|---|---|---|---|---|---|---|
Плата с лампой | |||||||
C1 | Конденсатор | 1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C2, C3 | Конденсатор | 0,1 мкФ | 2 | 0603 | Поиск в магазине Отрон | ||
С4 | Конденсатор | 4,7 мкФ | 1 | 0805 | Поиск в магазине Отрон | ||
C5 | Конденсатор | 100 мкФ | 1 | Тантал тип D | Поиск в магазине Отрон | ||
C6, C7, C8, C9 | Конденсатор | 0.1 мкФ | 4 | 0603 | Поиск в магазине Отрон | ||
C10 | Конденсатор | 1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
С11 | Конденсатор | 10 мкФ | 1 | 1206 | Поиск в магазине Отрон | ||
С12 | Конденсатор | 0.1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
С13 | Конденсатор | 460 пФ | 1 | 0603 | Поиск в магазине Отрон | ||
C14, C15 | Конденсатор | 47 мкФ | 2 | EEEFP1V470AP | Поиск в магазине Отрон | ||
D1 | Драйвер индикатора | MAX6921 | 1 | WSOIC | Поиск в магазине Отрон | ||
D2 | Линейный регулятор | TPS73801 | 1 | Поиск в магазине Отрон | |||
D3 | DC/DC импульсный конвертер | MC34063A | 1 | SOIC | Поиск в магазине Отрон | ||
L1 | Катушка индуктивности | 33 МкГн | 1 | IHLP3232CZER330M11 | Поиск в магазине Отрон | ||
R1 | Резистор | 22 Ом | 1 | 0603 | Поиск в магазине Отрон | ||
R2 | Резистор | 10 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R3, R4 | Резистор | 4.7 кОм | 2 | 0603 | Поиск в магазине Отрон | ||
R5, R6 | Резистор | 1 Ом | 2 | 1206 | Поиск в магазине Отрон | ||
R7 | Резистор | 47 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R8 | Резистор | 1 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R9 | Резистор | 1 Ом | 1 | 1206 | Поиск в магазине Отрон | ||
R10 | Резистор | 4.7 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R11, R12, R13 | Резистор | 22 Ом | 3 | 0603 | Поиск в магазине Отрон | ||
R14 | Резистор | 4.7 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R15 | Резистор | 2.7 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R16, R17 | Резистор | 4.7 кОм | 2 | 0603 | Поиск в магазине Отрон | ||
R18 | Резистор | 1 Ом | 1 | 1206 | Поиск в магазине Отрон | ||
R19, R20 | Резистор | 330 Ом | 1 | 0603 | Поиск в магазине Отрон | ||
R21 | Резистор | 1 Ом | 1 | 1206 | Поиск в магазине Отрон | ||
R22 | Резистор | 560 Ом | 1 | 0603 | Поиск в магазине Отрон | ||
R23 | Резистор | 470 Ом | 1 | 0603 | Поиск в магазине Отрон | ||
R24 | Резистор | 10 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
S1, S2, S3, S4 | Кнопка | KLS7-TS6606-7.0-180 | 4 | Поиск в магазине Отрон | |||
VD1, VD1, VD3 | Светодиод | Зеленый | 3 | 0603 | Поиск в магазине Отрон | ||
VD4 | Диод Шоттки | B340A | 1 | Поиск в магазине Отрон | |||
TUBE | ИВ-18 | 1 | Поиск в магазине Отрон | ||||
X1 | Розетка | MiniUSB | 1 | Поиск в магазине Отрон | |||
X2 | Вилка | PLS-10. 2.54 | 1 | Поиск в магазине Отрон | |||
Плата с контроллером | |||||||
C1 | Конденсатор | 1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C2 | Конденсатор | 0.1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C3 | Конденсатор | 1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C4 | Конденсатор | 0.1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C5 | Конденсатор | 4.7 мкФ | 1 | 0805 | Поиск в магазине Отрон | ||
C6 | Конденсатор | 0.1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C7 | Конденсатор | 0.1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C8, C9 | Конденсатор | 1 мкФ | 2 | 0603 | Поиск в магазине Отрон | ||
C10, C11 | Конденсатор | 0.1 мкФ | 2 | 0603 | Поиск в магазине Отрон | ||
C12 | Конденсатор | 1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C13, C14 | Конденсатор | 22 пФ | 1 | 0603 | Поиск в магазине Отрон | ||
C15 | Конденсатор | 4.7 мкФ | 1 | 0805 | Поиск в магазине Отрон | ||
C16, C17, C18, C19 | Конденсатор | 0.1 мкФ | 4 | 0603 | Поиск в магазине Отрон | ||
C20 | Конденсатор | 10 мкФ | 1 | 1206 | Поиск в магазине Отрон | ||
C21 | Конденсатор | 1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C22 | Конденсатор | 0.1 мкФ | 1 | 0603 | Поиск в магазине Отрон | ||
C23, C24 | Конденсатор | 10 мкФ | 2 | 1206 | Поиск в магазине Отрон | ||
D1 | Датчик температуры | AD22100ST | 1 | Поиск в магазине Отрон | |||
D2 | EEPROM | 24LC128 | 1 | Поиск в магазине Отрон | |||
D3 | Часы реального времени (RTC) | DS3231 | 1 | Поиск в магазине Отрон | |||
D4 | Сборка защитных диодов | USBLC6-2SC6 | 1 | Поиск в магазине Отрон | |||
D5 | МК STM32 | STM32F303CB | 1 | Поиск в магазине Отрон | |||
D6 | ИС буфера, драйвера | SN74LVC1G17 | 1 | Поиск в магазине Отрон | |||
L1, L2 | фильтры подавления ЭМП | BLM21PG331SN1D | 2 | 0805 | Поиск в магазине Отрон | ||
R1 | Резистор | 20 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R2 | Резистор | 4.7 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R3 | Резистор | 2.2 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R4 | Резистор | 4.7 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R5 | Резистор | 2.2 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R6 | Резистор | 4.7 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R7, R8 | Резистор | 470 Ом | 2 | 0603 | Поиск в магазине Отрон | ||
R9 | Резистор | 1.5 кОм | 1 | 0603 | Поиск в магазине Отрон | ||
R10, R11 | Резистор | 10 кОм | 2 | 0603 | Поиск в магазине Отрон | ||
R12 | Резистор | 220 Ом | 1 | 0603 | Поиск в магазине Отрон | ||
VD1, VD2 | Светодиод | Зеленый | 2 | 0603 | Поиск в магазине Отрон | ||
X1, X2 | Вилка | PLS-3. 2.54 | 1 | Поиск в магазине Отрон | |||
X3 | Вилка | PLS-10. 2.54 | 1 | Поиск в магазине Отрон | |||
ZQ1 | Кварцевый резонатор | ABM8-12.000 МГц | 1 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- Lamp_Board.rar (2219 Кб)
- Main_Board.rar (2177 Кб)
- IV-18_Clock.rar (228 Кб)
Комментарии (43) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
Во-вторых, что мне помешает переделать всего одну плату и выдать переменку на накал? Сделать простейший полумост и затактировать его от МК вообще не проблема. Да и транс там мизерных размеров будет, а места на плате достаточно. Начнутся проблемы с яркостью - переделаю плату, это один вечер работы максимум. Тогда и добавлю в статью обновленную плату. Если вы не заметили, то я еще в начале статьи указал, что правильнее питать накал переменкой.
В-третьих, не нравится - сделайте как правильно и напишите статью. Критиковать оно ведь всегда проще, чем делать)
[Автор]
Великий Тесла перевернулся бы в гробу, если бы прочитал ваш параноидный бред! Ничего работоспособного в ваших часах НЕТ. Когда появятся проблемы с яркостью, переделывать плату будет уже поздно! Вам придётся не только добавлять трансформатор с переделкой платы, но и выбрасывать подсевший индикатор и покупать новый! Ошибок вы своих всё равно не признаёте, поэтому и разговаривать с вами бесполезно. А читатели сделают для себя выводы и найдут схемы часов с правильным питанием индикатора в другом месте.
[Автор]
В каком-то учебнике физики приводилась аналогия между движением электронов и течением воды в водопроводе. В обоих случаях первичным является толкающая сила - напряжение и давление, соответственно. Независимо от направления приложения этой "силы".
Да и достаточно воспользоваться осциллографом чтобы увидеть что такое переменное напряжение, а после добавить в эту схему шунт с нагрузкой и на второй канал вывести осциллограмму переменного тока.
[Автор]
Ну а измерение напряжение - это как раз таки измерение ТОКА на шунте. В данном случае шунт - это входной делитель вольтметра. Он замыкает цепь и через него течет ток, а зная сопротивление резистора делителя и ток - получаем напряжение. Нет делителя - шунтом станет вход АЦП или катушка магнитной системы индикатора.
На часы в доме приходится частенько смотреть, особенно если у них необычный и красивый корпус, такой же красивый как у ваших часов. Хорошо если такие часы подольше порадуют своих зрителей
[Автор]
Изделия электронной техники. Знакосинтезирующие индикаторы. Справочник
Автор: Ладик А.И., Сташкевич А.И.
Издательство: М.: Радио и связь
Год: 1994
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
VT1 - BC847
VT2 - BC857
VT3 - AUIRLR014N
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]