Если кто помнит, было когда-то в далёком 2016 году такое предложение от
suslogon'а:
viewtopic.php?p=2931916#p2931916 .
Меня оно тогда заинтересовало, попросил подробности. Оказалось, условия для получения панаплекса такие:
suslogon присылает мне панаплекс, я делаю на нём часики для себя и отправляю обратно комплект для сборки таких же часов. Панаплекс при этом остаётся у меня. Меня это вполне устраивало, тем более, что есть у меня
часы на ИВ-21, имеющие весь требуемый функционал и семь сегментов в индикаторе. Таким образом, требовалось лишь разработать аппаратную часть, а в программной нужна была лишь небольшая корректировка прошивки МК (например, добавление девятого разряда). Написание прошивок я терпеть не могу, а тут уже есть готовые наработки. В итоге, взялся за разработку часов.
Началось всё это в конце ноября, а 12 панаплекс был уже у меня на руках. К сожалению, начать что-то делать я смог только в январе. Примерно через две недели сделал второй комплект плат и отправил обратно.
После этого больше месяца (!) возился с корпусом для этих часов. Корпус я решил сделать из латуни толщиной 0,8 мм, соединённой пайкой. Раньше я такого никогда не делал, поэтому так долго и получилось - нужно было отрабатывать новую технологию.
Итак, теперь обо всём по-порядку.
Как уже говорилось, часы сделаны на основе проекта под ИВ-21. Аппаратная часть полностью изменена. Питание - линейный стабилизатор +5 В для питания цифровой части, преобразователь на MC34063 по схеме с полудрайвером для получения анодного напряжения. Индикатор управляется транзисторными ключами на MMBTA42 в катодах и на MMBTA42/92 в анодах. На каждый сегмент установлен свой токоограничительный резистор, причём номиналы этих резисторов разные - по
ДШ на индикатор разные токи сегментов. Точнее, тут я немного упростил себе жизнь - резисторы одинаковые для всех сегментов A-G, а для точки и запятой (которая не используется программно) - другие номиналы. Время считает RTC DS3231, а для измерения температуры применён классический термодатчик DS18b20 - это всё осталось без изменений по сравнению с проектом на ИВ-21.
Из-за некоторых изменений в схеме подключения кнопок и появления девятого разряда и девятого сегмента появилась нехватка выводов МК. Пришлось извращаться с подключением "пищалки". У DS3231 есть управляемый выход, на который можно вывести сигнал одной из нескольких фиксированных частот. При этом выставить там логический уровень, как у DS1307, невозможно. То есть, просто так повесить туда пищалку с генератором не получится. Частоту 1 Гц ещё можно использовать для генерации сигнала будильника в виде прерывистого "пи-пи-пи", но вот сделать короткий "пик" при нажатии кнопок уже не выйдет просто так.
Решение нашлось в виде транзисторного ключа с RC-цепью. При частоте 1 Гц эта цепь не оказывает никакого влияния, а вот при максимальной частоте 8192 Гц появляется возможность включить пищалку так, как будто выведен фиксированный лог. уровень. Вот так я включил пищалку:
Далее были разведены платы, тут тоже пришлось повозиться: была поставлена цель минимизировать размеры часов. Получилось такое (тут пищалка включена немного по-другому, это первая версия):
Теперь предстояло самое приятное: сделать платы (ЛУТом, а как же ещё?
) и распаять все детали. По ходу дела обнаруживались разные косяки в разводке, их я исправлял ножом и проволочками на плате, не забывая вносить изменения в файл ПП. С этим этапом я справился довольно быстро. Вот так выглядели спаянные платы до установки индикатора (ещё пока без некоторых доработок):
После этого за пару вечеров подправил программу, припаял индикатор и запустил часы.
Обнаружилась проблема в виде засветки:
Долго возился с этим, пробовал разные варианты подтяжки анодов и катодов, правил алгоритм индикации (задержки при переключении разрядов, порядок установки логических уровней). Дело осложнялось ещё тем, что для удобства разводки ПП три кнопки управления часами были включены между одним выводом МК и тремя другими, которые были выведены на нижнюю плату к разъёму программирования: MOSI, MISO, SCK. Так можно было не тянуть на нижнюю плату дополнительных проводников. Обычно, когда используется динамическая индикация, кнопки подключаются между каким-то выводом МК и выходами на разрядные ключи, а кнопки опрашиваются по-очереди, каждая при отображении какого-то одного разряда (того, к которому подключена эта кнопка). Тут же получилось, что кнопки подключены к выходам сегментов. Поэтому пришлось делать опрос кнопок отдельно в паузах между отображением разрядов, отдельно от динамической индикации.
Полностью засветку побороть за несколько дней не удалось, я наконец сдался. Она уменьшилась, но полностью не исчезла.
Далее был сделан второй комплект плат с учётом всех имевшихся доработок. Пока травились платы, я решил ещё раз попробовать справиться с засветкой. И это получилось! Решение нашлось в виде подтяжки всех катодов через резисторы 3,3 МОм к средней точке резисторного делителя 300 кОм + 300 кОм между анодным напряжением и общим проводом. Но платы уже травились, дороги назад не было. Придётся паять резисторы навесным монтажом. Жаль, конечно. Однако,
suslogon'a это не огорчило, за что ему огромное спасибо! На своём экземпляре я сделал эту доработку так (снизу под большими контактами резисторы и провод МГТФ):
Часы с установленным индикатором выглядят так:
Теперь нужно было делать корпус. Сначала я сделал 3D-модель, потом макет из бумаги:
По результатам примерки корпуса кое-что подкорректировал и начал делать уже сам корпус. Как было сказано выше, я использовал листовую латунь 0,8 мм, детали корпуса соединил пайкой.
Латунь была вся окислившаяся, поэтому её я зашкурил и отполировал. Вырезал все нужные детали, обработал торцы, на нескольких деталях пришлось делать фрезеровку торцов под углом. Дальше нужно было спаивать детали вместе. Тут возникла куча проблем. Латунь пришлось лудить при помощи ортофосфорной кислоты, при пайке прогревать корпус не только паяльником, но и строительным феном - масса большая, мощности паяльника не хватает. Сложнее всего было спаять первые несколько деталей, выдерживая прямые углы. После пары часов возни корпус наконец-то был готов. Я его ещё раз отполировал и припаял изнутри латунные стойки для крепления задней стенки.
Смотрел я на этот корпус, смотрел - и понял, что что-то не так. А именно, слишком уж блестящий он получился, слишком светлый. На его фоне индикатор потеряется совершенно. К тому же, латунь может покрыться отпечатками пальцев, окислится, неравномерно потемнеет. Может помочь лакировка, но по опыту предыдущего знакомства с этим материалом я знал, что лак на полированной поверхности очень плохо держится.
Наконец, решение было найдено: латунь можно патинировать, создав на поверхности тёмную плёнку, которая защитит металл от окисления и уберёт лишний блеск. После долгих поисков на просторах Интернета был найден рецепт раствора для патинирования, содержащий ингредиенты, которые можно купить в аптеке и магазине для садоводов. Сначала я приготовил небольшое количество раствора, проверил его действие и реакцию с припоем на небольшом латунном обрезке. Всё получилось отлично, припой остался в порядке.
Для патинирования корпуса нужен большой объём раствора, а он содержит нашатырный спирт, поэтому очень сильно воняет. Пришлось всё делать на лестничной площадке, надев респиратор. Получилось вот так:
Следующий этап - монтаж разъёмов, кнопок, разводка проводов и окончательная сборка. Вот несколько фотографий процесса:
А вот так выглядят уже собранные часы:
Уф, наконец-то закончил писать. Извините за "многабукафф".
Последний раз редактировалось
*Trigger* Чт фев 23, 2017 20:27:36, всего редактировалось 1 раз.