Таймер для ультрафиолетовой установки

Так как я решил перейти с ЛУТа на фоторезист, понадобился мне таймер для УФ установки.
Порылся в закромах, потанцевал пару дней с бубном над кодом. Во вложении получившийся архив с проектом для АВР Студии 4 и схемой в виде PDF.


Схема устройства:


Разводку не привожу, т.к. если кто будет повторять — то может заменить часть деталей на свои.

Собственно на что надо обратить внимание:
1. Разъем программирования не стандартный!!! так что обязательно учитывайте этот момент, иначе пожгете программатор или еще что.
2. Разъем Х9 предназначен для внешнего переменного резистора, для подстройки контраста ЖК дисплея. Если ставите внешний резистор, соответственно на плате резистор RP1 ставить не нужно.
3. ЖК дисплей стандартный 1602
4. Клавиатура используется 5-ти кнопочная (у меня завалялась пачка готовых пленочных клав с окошком для ЖКД). В общем приближении на ней присутствуют кнопки:
— «P» — старт таймера;
— «S» — останов таймера/ обнуление значения в текущей позиции;
— «C» — следующая позиция;
— «Up» — увеличить значение в текущей позиции;
— «Down» — уменьшить значение в текущей позиции;
Подключается клавиатура к разъему X2 (рядом с разъемом программирования на схеме). Схема ее простая: все пять кнопок замыкаются на общий провод параллельно.
5. Кварц используется на 7,3728 МГц. Рекомендуется использовать такой же, т.к. вся работа сводится к обработке прерываний таймера, которое происходит каждую сотую долю секунды.

Фоток готового устройства пока нет, потому опишу работу на пальцах:
При включении устройства программа переходит в режим установки времени и на индикаторе появляется следующее:

T00:00:00.00
I00:00:00.00

и мигает курсор на первом «0» после символа Т.
Т — это целевое время, на которое надо включать УФ лампу.
I — это время интервала, через которое подавать короткие звуковые сигналы.

Формат времени: часы: минуты: секунды.сотые

Редактирование производится нажатием клавиш «Up» и «Down» (циклически меняются значения в зависимости от редактируемого разряда), «S» обнуляет текущую позицию, «С» переключает курсор на следующий разряд (тоже циклически).
Если значение интервала равно 0, то он считается отключенным (короткие звуковые сигналы не подаются).

Нажатие «P» включает режим отсчета времени. При этом включается реле и на дисплее показывается в верхней строке обратный отсчет, а в нижней — заданная уставка интервала.
По истечении заданного времени реле выключается, подается длинный звуковой сигнал и программа переходит в режим установки времени. Курсор появляется в стартовой позиции.
Если в режиме отсчета времени нажать «S» — реле отключится программа перейдет в режим установки времени.

Надеюсь, кому-нибудь данная поделка может пригодится.
Критика и предложения приветствуются.

UPD.
Изменил архив проекта. Теперь сотые отделены точкой.
Для добавления пробела межлу первым символом и временем надо увеличить на 1 все значения в массиве positions[].
  • +2
  • 15 июля 2013, 10:52
  • Ultrin
  • 1
Файлы в топике: UV_clock.zip

Комментарии (21)

RSS свернуть / развернуть
Внешний резистор наверное для подстройки контраста, а не яркости.
0
да, Вы правы
0
Не являюсь пользователем фоторезиста, но выскажусь как пользователь прочих секундомеров/таймеров.
— «P» — старт таймера;
— «S» — останов таймера/ обнуление значения в текущей позиции;
— «C» — следующая позиция;
Из символов назначение не очевидное. Сейчас вы помните, а не будите пользоваться пол года и забудите. «S» — ближе к старту (Start/Stop даже), «C» — ближе к сбросу (Clear еще и на калькуляторах). «P» — можно притянуть к остановке (Pause потому что, но не особо). В прочем роль ещё играет расположение кномок, может из их геометрии можно сделать заключение.
Вообщем необходимы расширенные подписи для кнопок, или инструкция на приборе (листок на корпус приклеить куда-нибудь).

T00:00:00:00
I00:00:00:00
Отделять сотые доли от секунд следует точкой, а не двоеточием. Это ближе к гостам всяким и вообще общепринято. После первого запуска конечно всё выяснится, но если сразу, то будет поприятнее. Да и пробельчик между символом и временем не помешал бы, место для него вроде есть.
По поводу установки сотых долей могу только предположить. Может оно действительно критично, например, включить лампу ровно на полторы секунды, но та же энергосберегайка «разогревается» с секунду. Вообщем сомнительно.
+1
Про клавиатуру:
я использую такую

извиняюсь за качество фотки, пришлось рыться по форуму, т.к. помню что эти мои клавы мелькали в одном из первых мусоровозов, куда я их и клал.
Так что выбор маркировки кнопок в данном случае оптимален (ИМХО). Тот кто будет повторять — может обозвать все по своему или изменить алгоритм обработки.

Про точку — спасибо, чет я сразу не сообразил.
По поводу пробела: планируемый на этот таймер ЖК дисплей оказался мертвым, потому я временно воткнул туда 12-символьный. А в нем места впритык.
0
Да, про сотые. Пусть будут. Можно ведь не использовать, но возможность есть.
0
трансформаторный бп для извиняюсь, такой х.ни имхо перебор. там хватило либо обычного гасящего кондера либо той же зарядки от мобилы бушной
-1
не доверяю я решениям на конденсаторах. Очень легко в напряжение влезть.
Зарядку от мобилы — тоже не выход, т.к. в этом случае для подключения устройства требуется две розетки. А так я с клеммников вывел два стандартных комповых разъема и все вышло очень даже технологично.
Ну и еще один плюс в сторону транса — их у меня штук 5 в загашнике присутствует, а что-то другое надо покупать бежать.
+5
Зарядку от мобилы — тоже не выход, т.к. в этом случае для подключения устройства требуется две розетки.
Тогда потроха от зарядки от б/у мобилы :)
0
не доверяю я решениям на конденсаторах. Очень легко в напряжение влезть.
Да, особенно с твоей клавиатурой.
+2
Релюшка не нужна, ИП на 12 вольт тоже не нужен. Симмисторный ключ тут бы был гораздо уместней.
0
Можно и так, но опять же в загашнике таких деталек нету…
Про 12 вольт — я б на самом деле в промежуток еще и на 8 вольт кренку воткнул. Так приходится на 5 вольт радиатор ставить. Греется больно сильно.
0
Так он не нужен, если реле симистором заменить. Или реле на 5 вольт взять, тогда точно можно потрохами от зарядки обойтись. И греться ничего не будет.
0
Ключевой стабилизатор так и просится, IMHO. Из доступного и широко распространенного могу посоветовать ST1S10. В схему в топике стал бы идеально. Обвязки минимум (пара резисторов для задания выходного напряжения, да индуктивность на 3.3мкГн, ну и конденсаторы на входе и выходе, понятное дело).

P.S. MOC304x/306x/308x + симистор куда более удобно и практично, IMHO.
+1
А почему не 34063? Он дешевле и рапространеннее, а требований тут особых нет. Китайцы его любят в роутеры со свитчами ставить.
0
Устаревшее говно мамонта же.
0
Обвязки больше и индуктивность нужно большую. Мелкие индуктивности на бОльший ток в тех же размерах. Собственно, я назвал самый минималистичный вариант в плане обвязки. Если обвязка не столь критична, то список сильно расширяется.
0
Ну, на такие токи как тут дроссель-бочонок вполне доступен и недорог, достаточно легко и намотать самому при наличии ферритовой гантельки. Обвязки не так уж много и она копеечная (2-3 резистора, кондер, диод — не считая входного и выходного электролитов).
Если обвязка не столь критична, то список сильно расширяется.
Но врядли в нем есть другие микросхемы, столь же распространенные как 34063…
+1
Но врядли в нем есть другие микросхемы, столь же распространенные как 34063…
У нас — вероятно. Но у буржуев LM2574/76/etc врядли уступают ему по распространенности.
0
делал похожий на Ардуине (1сек..99час):
imageshack.us/f/812/74qx.png/
codetidy.com/6217/
0
Разъем программирования не стандартный!!!
А какая разница, если плату не выкладываете )))
Да и, я думаю, в сообществе конструкции один-в-один вообще никто не повторяет.
0
потому как кто-то может нарисовать не глядя. Типа разъем как разъем, программаторы у всех одинаковые…
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.