Почта

    Если Вы желаете поделится в этом блоге своим проектом или реализацией чужого, присылайте мне на почту.

воскресенье, 12 января 2014 г.

Симпатичные часы

Автор:


Лампа: ИН-1
Схема: есть
Плата:нет (монтажка)
Прошивка:есть
Исходник:есть
Описание: есть
Особенности: механический звонок.




Схема:
Файл схемы.

Наконец-то я доделал свой первый электротехнический проект: часы на газоразрядных индикаторах ИН-1 на базе Attiny x313 в около-стимпанковском стиле.

        Всё началось с того, что случайно нагуглил по запросу “стимпанк” схожий девайс, а затем нашлась замечательная страничка на Radiokot. Насмотревшись красивых фотографий, подумалось мне: а почему бы не завести такое милое, рукодельческое хобби? Раньше мне никогда не приходилось заниматься электротехникой, и самое сложное, что я делал с паяльником — это чинил разъемы для наушников. Но это меня не остановило, хотя и внесло корректирующие требования: сложность схемы и пайки должна была быть простой, а с программой под девайс разберёмся. Всё-таки как-никак три года опыта с элитными и сложнейшими микроконтроллерами и встроенными системами. Поэтому был выбран обычный DIP-монтаж и схема на одной микросхеме: Attiny2313-20PU - найденная тут(упс,источник сдох).

        Первоначально я хотел реализовать проект 1 в 1, чтобы не усложнять себе жизнь, не имея опыта в сабже. Но быстро выяснилось, что, во-первых надо немного, но пошевелить мозгами, чтобы найти аналоги перечисленных в исходном случае микросхем. Во-вторых, почти сразу же меня стало не устраивать две вещи: 12-часовые часы, а не 24-часовые и отсутствие блинкующих разделителей. И сразу за двумя третье — если у нас есть будильник, то он должен быть не бездушным биппером, а полноценным звонком, механическим по мере возможностей.

         Определив техническое задание, были закуплены необходимые компоненты (большие и рабочие газоразрядные индикаторы пришлось поискать, и из желаемых ИН-16 и ИН-1 нашлись только последние; и то в количестве 7 штук, одна из которых оказалась битой). А так же разобрано три дисковых телефона, чтобы достать электромеханический, железный и звонкий звонок. А так же позаимствован у умершего роутера 12-вольтовый блок питания. Вся схема была перерисована мною в DipTrace, который оказался очень удачным как в плане структурной схемы, так и разводки платы. А так же заказана латунная фурнитура для ламп у хорошего мастера слесарных дел.

       Всё необходимое можно найти в Чип и Дип'е за исключением газоразрядных индикаторов. Их можно найти под заказ в Кварце или на митинском радиорынке. Для монтажа мною была прикуплена паяльная станция и собственно макетная плата по грабительским расценкам. Впрочем, всё можно найти в разы дешевле, если задаться целью, а из Китая и вовсе в пару десятков вечнозелёных и убитых енотов. Я не буду приводить расписанную стоимость по каждой детали, отмечу только, что стоимость компонентов около 1т.р, ламп и платы — ещё 1,5т.р. и шкатулки (купленной на ярмарке в Измайловском кремле) с латунью — 1т.р. Итого 3-3,5 т.р. без паяльной станции и непредвиденных расходов.

        Непредвиденными оказались обстоятельства, что одна из оставшихся ламп треснула во время испытательного прогона, а две неоновых лампы, снятых с военной СТ-68 в своё время, сгорели из-за неправильно разведённой схемы — под них пришлось ставить 330кОм резисторы, при том, что дежурные индикаторы AM\PM, сделанные в Китае итак светят не столь ярко, как полагается неонкам. Совершенно неожиданным оказалось необходимость отказаться от варианта с лобзиком и напильником для работ по деревянной шкатулке, и приобрести сверло форестера, а так же удивительное ОТК СССР, которое пропускало все кривые и косые лампы с отклонениями по 1-2, а то и более миллиметров. Непредвиденным так же оказалось то, что электромеханический звонок не влез в шкатулку из-за чуть большего размера латунных втулок, из-за чего пришлось отложить вариант 12-вольтового питания с усиляющим конденсатором, и заменить его сложной системой звонка на основе виброзвонка и исходного купола звонка от телефона с возвратной пружиной. Впрочем, благодаря этому немного изменяя код, можно заставить будильник играть, к примеру, Чижика-Пыжика или симфониетту Янычека.

Во время замены треснувшей ИН-1 оказалось, что не все ИН-1 одинаковы, и у приобретённых в Митино ламп оказался шаг сетки меньше, чем у приобретённых в Кварце, что визуально бросалось в глаза. Поэтому пришлось лампы перезаказать ещё раз в Кварце. Так же оказалось, что код, позволяющий выводить дату, физически не помещается в 2Кб памяти. Поэтому было найдено решение использовать ту же разводку, но на базе Attiny4313 с 4Кб памяти. Код так же пришлось сильно оптимизировать и трюкачествовать, хотя всё ещё на си, допускающем и большие оптимизации, не говоря о компактности ассемблера. Но, проще взять схожую микросхему, чем биться за каждый байт. Впрочем, все усложнения кода привели к тому, что все мои действия не влезли в исходный фрейм 1мс и происходил overrun, выливающийся в подвисание кнопок и зависании будильника. Поэтому фрейм был сменён на 2мс, что никак визуально не повлияло на восприятие часов. Тем не менее, несмотря на все злоключения, AVR Studio мне очень сильно помогла и своим встроенным дебаггером (конечно с Dragon, наверное было бы удобнее, но, увы, на один раз я не готов покупать отладочную плату) и своими просто замечательными оптимизациями.

В-общем, на отладку, проверку всех не пропаянных частей с помощью мультиметра, осциллографа, доводку механического звонка, дебаг кода и всё это после работы по 2-3 часа в неделю ушло два месяца. Возможно много, но результат вы можете оценить на следующих видео.



Отдельно хочу сказать про техническую сторону дела. Монтаж я производил исключительно проводами\ножками, т.к. протравливать плату — ещё дополнительные расходы на реагенты, и для разового проекта неразумны. Лампы достаточно капризны в плане пайки и монтажа, поэтому к ним надо проявлять особо бережное отношение. Электрическая же схема очень хорошая, во-первых, не раз получая КЗ из-за выгоревших, а затем и треснувшей лампы, из-за замкнувшей ножки схемы и микросхемы отлично себя чувствовали несмотря ни на что. Отчасти благодаря грамотным транзисторным ключам, и отчасти силовой электроники. Поэтому особое внимание следует обратить на стабилизационный контур, а так же мощность элементов. Хотя в оригинале товарищ рекомендует использовать 250В конденсатор и 200мкГн элемент индуктивности, тем не менее, в моём случае 400В и 250мкГн работают только лучше. И отдельно хочу сказать про потребление и надёжность. Во-первых часы работают в импульсном режиме со скважностью 6. Поэтому и потребление, и выгорание ламп, и тепловыделение почти незаметное. Сам не измерял, но все элементы комнатной температуры, так что можно верить в то, что оно не больше 2-3Вт.

И, наконец, исходный код, бинарники и схему можно найти тут для 2313 и 4313.
Зеркало  2313 и 4313.
Первоисточник.

7 комментариев:

  1. хммм в таком копусе можно и без smd обойтись

    ОтветитьУдалить
  2. Здравствуйте, почему светятся сразу несколько катодов на индикаторе единиц секунд, а на остальных все нормально? Причем часы в общем работают как надо. Катоды не коротят между собой, неотмытого флюса нет .Прошивка для 2313. Спасибо.

    ОтветитьУдалить
    Ответы
    1. Если отбросить софтовую не доработку, то надо посмотреть не открыт ли все время анодный ключ на этот разряд.

      Удалить
    2. Менял ключи местами и лампы тоже,не помогает, на аноде 142 В, похоже дело в прошивке, Вы не могли бы исправить её? Спасибо.

      Удалить
  3. А с контроллером 4313, такой проблемы нет, работают нормально. RoboC Ua, подскажите, пожалуйста, как связаться с автором проекта. Спасибо.

    ОтветитьУдалить
    Ответы
    1. На коте он был 3 года назад. У меня нет его контактов.

      Удалить
    2. По АВР я вам вряд ли помогут с прошивками :(.

      Удалить