Цифровой таймер для засветки фоторезиста. Как я делаю печатные платы с фоторезистом

Недавно решил освоить технологию фоторезистивного изготовления плат и для этого мне понадобилась УФ лампа с таймером. Конечно, можно было бы найти готовый проект и спаять, но мне хотелось не просто сделать таймер, а получить целый багаж знаний и опыта. Критерии к таймеру были таковы: индикация времени, удобный интерфейс и простота. В качестве основы решил использовать микроконтроллер, а именно - Attiny 13. Список всех необходимых компонентов для создания таймера вы можете наблюдать в таблице под этой статьей. Так как у Attiny 13 всего 8 ножек из которых 5 портов ввода-вывода – было решено использовать микросхемы сдвига регистра (74HC595) для вывода времени на индикаторы. Ещё нужно подключить кнопки управления наиболее компактно и для решения этой задачи воспользуемся одним интересным решением – будем использовать АЦП микроконтроллера (суть решения описана ниже). В итоге на свет вырисовывается вот такая схема:

Вам может быть непонятно подключение кнопок, расскажу: с помощью делителей напряжения (резисторы R14...R16) при замыкании конкретной кнопки (S1, S2 или S3) на вход микроконтроллера подаётся определенный уровень напряжения, который распознается АЦП и в зависимости от его уровня микроконтроллер понимает какую кнопку мы нажали. R12 и C1 – RC фильтр помех, так как при нажатии кнопок - возникает дребезг контактов и микроконтроллер может ошибочно воспринять не одно, а больше нажатий. Резистор R13 нужен для подтяжки входа АЦП при отжатых кнопках, что бы МК не воспринимал помехи.

Теперь об индикаторе, который, кстати, с общим катодом. Как видите - микроконтроллер управляет микросхемами сдвига регистра. Он посылает последовательный код чисел по двум ножкам, а по третьей – частоту тактирования. Микросхема сдвига регистра U3 – отвечает за разряд индикатора, на который выводится цифра, а U2 – за ввод самих цифр в разряды. Выводятся цифры последовательно. То есть: определили микросхему U3 на вывод числа в 1-й разряд индикатора, а регистр U2 в это время подает на включенный разряд индикатора код самой цифры, после - микросхема U3 включает 2-й разряд индикатора, а микросхема U2 выводит следующую цифру в выводимом числе. Подобным образом выводятся цифры на остальные разряды. Так как частота перебора разрядов достаточно велика – в итоге мы увидим единое, будь то 4-х или, например, 2-х значное число.

Управлять УФ светодиодной матрицей будем с помощью полевого транзистора. Первый попавшийся мне под руку – IRF445H в корпусе SOIC8 выпаянный из платы старой видеокарты. Вы можете использовать любой другой транзистор, главное что бы он смог коммутировать чуть более 3-х ампер.

Поскольку светодиоды питаются напряжение около 3.3В, то нам понадобиться приспособить отдельный стабилизатор с током более 3А (так как у нас 100шт. светодиодов). В качестве такого стабилизатора я использовал DC-DC понижающий модуль MP1584 (обычные линейные стабилизаторы типа L7833 не подойдут в связи неспособностью обеспечить ток более 3А). Ввиду того, что наш модуль регулируемый, нужно выставить подстроечным резистором требуемый уровень напряжения и затем заменить этот резистор на аналогичный по сопротивлению постоянный. В моем случае я поставил два резистора соединённых последовательно: 5,1кОм и 22кОм:

Резистор R1 выполняет роль подтяжки вывода RESET иначе наша программа будет произвольно сбиваться при каждой помехе. Резисторы R4...R11 нужны для ограничения тока через светодиоды индикатора. Что ж остальное в схеме должно быть понятно.

Печатную плату и схему разводил в . Пришлось использовать 2-х сторонний текстолит с применением межслойных переходов (как их выполнить – покажу далее)

Что касается программного кода, то он просто набит комментариями, посему занимать время для пояснений не буду.

С теорией вроде всё.

Теперь переходим к практике:

Для начала зальем прошивку в наш микроконтроллер. Я воспользуюсь программой AVRDudeProg. Отмечу, что настройку фьюз-бит производить не нужно (просто установите их по умолчанию). Кстати, если вам интересно – я заливаю код с помощью дешёвого китайского программатора AVRASP в связке с самодельной отладочной платой:

После прошивки - изготовим основу нашего будущего устройства – печатную плату, а точнее платы, так как они будут размещаться друг над другом для экономии места.

Изготавливать буду по . Распечатаем-подготовим текстолит (я сниму окислы на меде с помощью канцелярского ластика) - что бы 2 слоя сошлись правильно – просверлим контрольные отверстия – утюжим – смачиваем - аккуратно стираем бумагу – проверяем на наличие обрывов или слипаний дорожек - если таковых не находим – начинаем травить плату (я буду травить в хлорном железе) – готово – опять же проверяем плату на дефекты – после, сверлим отверстия (замечу, что диаметр у некоторых отверстий разный – у отверстий для межслойных переходов – 0,4 мм, остальные отверстия – 0,6 и 1,0 мм) – отлично - если есть желание, плату можно залудить в сплаве розе - так она дольше прослужит. Теперь приступим к межслойным переходам. Изготавливать эти переходы мы будем следующим способом: Сначала сверлим отверстие, потом берём медную проволоку (провод) с диаметром равным диаметру просверленного отверстия и вставляем её туда так, чтобы из платы немного выделялись кончики проволоки:

По окончанию запрессовки всех межслойных перемычек желательно проверить мультиметром (прозвонкой), появилась ли связь между контактами двух слоев, а так же стоит проконтролировать, что бы нигде не оборвалась какая-нибудь дорожка и не образовались ненужные перемычки. Удобнее всего это делать под маломощным прожектором:

При желании места межслойных переходов можно укрепить залудивши контактные площадки с 2-х сторон платы. Я решил немного заморочиться и покрыть плату паяльной маской. Вышло не очень, но переделывать не особо хочется:)

Как я уже упоминал ранее - платы будут размещаться одна над другой. Закреплены они будут с помощью металлических стоек. Для электрического контакта между платами (питание для светодиодов) - подготовим соединительный провод с разъемом и соответствующим штекером для платы (Можно, конечно, просто припаять):

Наши платы готовы, поэтому перейдём непосредственно к запайке компонентов. Начинать советую с мелких и труднодоступных элементов. Микросхемы в SMD исполнении можно паять как паяльником, так и феном. Лично мне удобнее паяльником. В итоге получилось что-то вроде этого:

Как видно из последнего фото - несколько светодиодов решило не светится, но это не играет особую роль поскольку все светодиоды соединены паралельно. Кстати номинал ограничительных резисторов (их 100шт для каждого светодиода) - 100-200 Ом.

Ну и напоследок соберем наше устройство в корпус в качестве которого буду использовать пищевой бокс. Вот окончательная конструкция:

Как видите, я еще предусмотрел охлаждение УФ матрицы, так как засветка паяльной маски - процес длительный (занимает около часа, а то и больше) за который светодиоды неплохо так нагреваются.

Теперь о питании: запитывал блоком питания 12В 1А подключенным к разъему питания (диаметр 6мм) на плате. Так же есть возможность подключить питание к клеммнику справа от разъема.

После подключения питания устройство сразу начинает работать:

Вроде все объяснил. Если у вас возникнут какие-нибудь вопросы – пишите в комментариях

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
C1 Конденсатор 0.01 мкФ 1 SMD_0603 В блокнот
C2 Конденсатор 10 мкФ 1 SMD_1206 В блокнот
C3 Конденсатор 10 мкФ 1 SMD_1206 В блокнот
HG1 Светодиод FYQ-5641-AG 1 Семисегментный индидикатор с обшим катодом (0,56") В блокнот
Q1 Транзистор IRF445H 1 SOIC_8 В блокнот
R1, R3 Резистор

10 кОм

2 SMD_0603 В блокнот
R2 Резистор

3 кОм

1 SMD_0603 В блокнот
R4-R11 Резистор

100 Ом

8 SMD_0603 В блокнот
R12, R14, R15 Резистор

2 кОм

4 SMD_0603 В блокнот
R16 Резистор

Светит незнакомая звезда,
снова мы оторваны от дома,
травим мы «печатки» до утра…

Одна старая песня.



Сегодня я расскажу о своей реализации УФ светового прибора для работы с фоторезистом. Законченное устройство я решил сделать года полтора назад. До этого как таковой установки у меня не было, был светильник с УФ-лампой и стекло, извлекаемое из фоторамки на время изготовления ПП.

С карандашом в руках я хорошенько подумал над тем, какой должна быть моя установка, вырисовался примерный концепт. Затем я заказал ящик у знакомого в небольшой мебельной мастерской. Там раскроили и отторцевали ЛДСП по моему эскизу.

Ящик

Чертежей ящика нету, так как делалось всё по карандашному эскизу. Внешние габариты ящика 300×300х400. Стенки соединены между сбой мебельными стяжками (конфирматами). Крышка крепится к ящику обычными рояльными петлями.




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

По внутренним поверхностям с небольшим отступом сверху в ящике имеется 4 глухих отверстия 5 мм. В них устанавливаются мебельные полкодержатели с силиконовыми прокладками - специально для стекла.

Схема таймера для засветки фоторезиста

Функции таймера:
Цифровая индикация отсчёта и задание времени работы
Отключение нагрузки (УФ-ламп) по истечению времени
Звуковая сигнализация состояний: включение прибора, запуск, конец работы
Запуск таймера без включения нагрузки (УФ-ламп)


Индикацию я сделал на четырёхразрядном семисегментном LED-индикаторе, который попался под руку. В качестве органа управления использовал энкодер с кнопкой. Управляющий МК ATtiny2313.
Для звуковых оповещений стоит миниатюрный динамик (буззер) со встроенным генератором. Ну и реле для коммутации нагрузки с катушкой на 5 Вольт.
Для питания схемы взял готовый импульсный блок питания от ЗУ сотового телефона.

Работа таймера

При включении таймера в сеть, динамик издаёт звук, мол, я живой! На индикаторе отображается время работы таймера в минутах, заданное при последнем сеансе. Вращением ручки энкодера изменяется значение таймера в диапазоне 1-99 минут. Значение запоминается в EEPROM и считывается при следующем включении прибора.

Я предусмотрел два режима включения таймера: без включения ламп (короткое нажатие кнопки энкодера) и с включением ламп (длительное, порядка 2 с, нажатие кнопки энкодера). Без включения ламп таймер можно использовать для прочих нужд, по истечении времени будет обычный сигнал, а лампы зря гореть не будут.

Есть возможность выключить таймер в любой момент двойным нажатием кнопки энкодера.

За 10 секунд до истечения времени таймера, прибор начинает подавать прерывистый звуковой сигнал.

Update 12/08/2015
По просьбам трудящихся я реализовал в таймере дополнительный диапазон в секундах . Режим установки времени переключается двойным нажатием кнопки энкодера, когда таймер остановлен. При установке в минутах индикация значения с точкой. При установке в секундах - индикация без точки.
Режим установки времени также запоминается в EEPROM. Максимальное значение в секундах - 999, в минутах - 99, как и прежде. Остальное без изменений.

Печатная плата таймера



Чертежи в DipTrace берите в разделе файлов.

УФ-лампы и силовая часть


Я поставил 4 лампы Feron FLU10 T8 10W G13 Black. Лампы подключены к пуско-регулирующему аппарату (ПРА) ETL-418-A2, который рассчитан на четыре лампы типа Т8, до 18W каждая. Лампы подключаем по схеме указанной на крышке ПРА, а нам остаётся подключить ~220 В через контакты реле таймера.

Сборка установки


Установка ПП, вид снаружи


Вид изнутри

Кусок оргстекла мне досталось от разбомбленных электронных часов с автозаправки. Изнутри обклеено чёрной самоклейкой и сделаны вырезы для индикатора. Да, с царапинами стекло, ну и пусть - не на выставку же.


Не вошло по высоте реле, пришлось немного попортить экстерьер

Крепим два уголка с установленными держателями для УФ-ламп


Держатели трофейные, сняты со старых потолочных светильников «Армстронг».
С учётом держателей ламп и уголков, расстояние от ламп до стекла ~23 см. Большое расстояние от ламп до ПП необходимо для получения равномерной засветки.

Крепим поролон на крышку для прижатия ПП


Клеем полоски двухстороннего скотча



Отрываем защитную бумажку



Прижимаем крышкой - готово!!!

В качестве предметного стекла применил обычное оконное. Мощности ламп достаточно для надёжного и равномерного засвета, поэтому кварцевое стекло искать не стал (хотя его можно выкорчевать из старого сканера).

Видео установки в работе

Резюме

Установка получилась вполне симпатичная, функциональная и безопасная. Готовое устройство для домашней мастерской.

Фьюзы

Low: 0xE4; High: 0xDF; Extended: 0xFF;


Файлы

Проект в DipTrace (схема и печатка), прошивка для микроконтроллера.

12/08/2015 - Обновлена прошивка, добавлен диапазон секунд.
🕗 12/08/15 ⚖️ 2,25 Kb ⇣ 81 Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.

Хорош! Халява кончилась. Хочешь файлы и полезные статьи - помоги мне!

Особенность индикации данного устройства состоит в том, что используется отдельный регистр сдвига(74HC4094 ) для каждого семисегментного индикатора. Последовательный выход из первого регистра может быть подключен к входу второго, и так далее. Чтобы заполнить все индикаторы нужно послать особую комбинацию последовательных данных.

Преимущество такого подхода в том, что не требуется обновлять сегменты все время, на самом деле надо просто заполнить данные в регистрах и все. Это приводит к тому что дисплей начинает ярче светиться, устраняется эффект мерцания и освобождаются ресурсы микроконтроллера, которые могут быть доступны для другой, более важной работы. Кроме того, только три линии данных нужны чтобы контролировать этот дисплей, что очень полезно, если мы не имеем достаточно портов ввода/вывода. Обратная сторона такого подхода заключается в том, что сегменты потребляют больше тока, чем в мультиплексном режиме. На схеме вы также можете увидеть пьезозуммер, стабилизатор напряжения (220В -> 5В) и реле.

Сегменты связаны хаотично и это потому, что печатную плату проще таким образом развести. Вы можете подключить сегменты так, как вам нравится, но в "таблицу сегментов" в исходном коде должны быть внесены соответствующие изменения.

Управление устройством:
- Две кнопки используются для установки времени обратного отсчета с 10 секунд шагом;
- Третья кнопка (старт/стоп) для запуска и остановки;
- Когда отсчет завершается таймер выключает нагрузку и включает звуковой сигнал;
- Первый две кнопки отключены во время процедуры обратного отсчета;
- Последнее установленное время сохраняется в EEPROM. EEPROM будет хранить настройки после выключения питания и при включении питания таймер будет отображать ранее сохраненное время;
- Микроконтроллер будет уходит в режим сна после двух минут бездействия, а потребляемый ток снижается до менее чем 5 мА;
- Нажав на кнопку старт/стоп, он будет просыпаться.

Установка фьюз битов микроконтроллера

Архив для статьи "Таймер для засветки фоторезиста на Attiny2313"
Описание: Исходный код(Bascom), файл прошивки микроконтроллера, проект Proteus, печатные платы Eagle
Размер файла: 298.48 KB Количество загрузок: 1 068
Рассказать в:
Автор - Шабаров Андрей aka htscooter.Опубликовано 25.06.2009.Наглядевшись на просторах интернета печатных плат, изготовленных с помощью фоторезиста, я тоже надумал его попробовать. Естественно, сразу возникло несколько проблем. Ну такие проблемы, как отсутствие фоторезиста, УФ ламп, решались на рынке и в магазине. Конечно нужно тратить денюжку, ну а что поделаешь - если фоторезист еще можно сделать самому, то УФ лампу ну никак. Ну наконец, все есть, можно приступать. И вот тут стал вопрос подбора выдержек засветки. На этапе тестовых полосок с этим успешно справились часы с секундной стрелкой. Но для постоянного использования меня, очччень ленивого кота, это ну никак не устраивало. Было сформировано ТЗ и начался поиск и анализ существующих схем (ну я ж ленивый - самому придумывать). Поиск результатов не дал, я ж кот не только ленивый, но и придирчивый, пришлось все делать самому.

Техзадание довольно простое, но адаптированное под нужды фоторезистивной технологии:
- пределы выдержки 00м 05с -99м 55с;
- управление как лампами, так и компрессором для вакуумного прижима;
- световая и звуковая индикация режимов работы;
- простота управления;
- имеющиеся в наличии или недорогие комплектующие.

По мотивам ТЗ была нарисована примерная схема, и началась доводка устройства на макетке, окончательная схема которого на рисунке ниже:Собственно, все очень просто, ATMega8 или ATMega8L в качестве управляющего элемента, несколько кнопок, четырехразрядный индикатор в динамической индикации и горстка резисторов и транзисторов. В качестве силовых элементов я применил симисторы, включенные через оптосимисторы. Это, конечно вопрос сугубо личный, они у меня были, я их и поставил. Там можно применить и реле, в общем - что есть. Включение оптосимисторов по даташиту, никаких изысков. Единственное, при желании можно исключить RC-цепочку (39 Ом + 0,1мкФ), ее отсутствие не смертельно. Питание схемы тоже максимально простое, транс, диодный мост, электролиты, кренка на 5 вольт. Pullup на кнопки тоже по желанию, ноги порта к плюсу притянуты, на макетке я отлаживал без внешних резисторов. Ну что еще по схеме? Резисторы в базах - плюс-минус какие есть, токоограничивающие по сегментам - в зависимости от индикатора. Кому-то 510 Ом будет ярко, а у меня 150 Ом, так яркости не хватает, индикаторы старые, неяркие. Бузер со встроенным генератором, на 5 вольт. Транзисторы npn на ток порядка 100мА - ВС547, ВС847, КТ3102, КТ315. Питание - трансформатор ТП-112-18, диодный мост на 1А. Вот с симисторами я немножко поволновался - ВТ136 не выдержал пылесоса (1300W), пришлось менять на ВТ140. Для тех котов, кто тоже поставит симисторы и будет использовать пылесос, должен отметить, что радиатор надо ставить побольше, а не то можно обжечь лапы (шутка, лапами к этому радиатору лезть не стоит, с электричеством шутки плохи). Больше 10-ти минутной выдержки мой радиатор не потянет, но поскольку я планирую для этих целей использовать вентилятор, я не сильно переживаю.

Ну теперь по функционалу и работе. Управление выполняется пятью кнопками, из них три - это изменение/установка выдержек, две остальных - включение компрессора и запуск таймера. При запуске таймера включаются и компрессор и подсветка, но компрессор можно принудительно включить в режиме ожидания чтобы подготовить плату с шаблоном к засветке. Для этого и пришлось выводить отдельную кнопку "воздух" для управления компрессором. В режиме ожидания кнопками плюс/минус выбираются сохраненные установки (я сделал три, больше просто нет смысла). При нажатии кнопки "уст" начинают мигать минуты, кнопками плюс/минус меняется значение минут с шагом в 1 минуту (от 0 до 99); второе нажатие "уст" сохраняет значение минут и начинают мигать секунды, их значение меняется таким же образом, но с шагом 5 сек (от 0 до 55). Шаг в 5 секунд был выбран как наиболее оптимальный - при шаге в 1 сек и 10 сек уже не очень комфортно изменять значения. При шаге в 1 сек слишком медленно, а при шаге в 10 - слишком быстро меняются значения. Третье нажатие кнопки "уст" сохраняет значение секунд и таймер переходит в режим ожидания, показывая свежеизмененную выдержку. Запуск таймера происходит по нажатию кнопки "пуск". При этом включается компрессор и засветка, на индикаторе происходит обратный отчет и мигает децимальная точка между минутами и секундами. После окончания выдержки засветка и компрессор выключаются, на экране загорается надпись "OFF" и звучит прерывистый сигнал бузера до тех пор, пока повторно не нажмется кнопка "пуск", после чего таймер опять переходит в режим ожидания, показывая значение выбранной выдержки. Из недостатков работы таймера следует отметить погрешность в 1,5-2 секунды при выдержке в 10 минут. Но поскольку это не часы, то я не стал что-либо с этим делать, для меня такая погрешность некритична.

Печатные платы таймера делались "под себя" на двух односторонних платах - основная с контроллером, питанием и симисторами, и плата с индикатором, кнопками и светодиодами - на переднюю панель. Кстати, если светодиоды не нужны, вместо них нужно поставить резисторы номиналом 510-1000 Ом, иначе оптопары работать не будут. Платы соединяются плоским 20-ти пиновым шлейфом. Применены как SMD, так и DIP компоненты. Внимание! На плате ATMega8 в SMD корпусе, а в схеме распиновка для DIP корпуса! Не перепутайте! Все это я рассчитываю поставить в установку для засветки, корпус как таковой не планировался. Прошивки для индикаторов как с ОК, так и с ОА. При прошивке нужно установить фьюзы на внутренний генератор 8 MHz (впрочем можно и на внешний кварц такого номинала, соответствующие ножки контроллера я не трогал). Прошивки состоят из двух файлов - Flash и EEPROM. Если программа-прошивальшик шьет только одним файлом, это не смертельно, все будет работать и так, но при первом включении нужно будет каждую из предустановок вручную "погонять" для приведения в должный вид.И, естественно, фотки.
Платы в сборе:
Таймер в режиме ожидания:
И в работе (выдержка 2 мин, прошло 10 сек):
Файлы:
Печатная плата в формате SL5.0
Прошивки МКВсе вопросы - в Форум. Раздел:

Это схема простого таймера построенного на микроконтроллере PIC16F628A и индикаторе LCD 1602. Идея таймера позаимствована с одного португальского сайта по радиоэлектронике.

Микроконтроллер PIC16F628A в данной схеме тактируется от внутреннего генератора, который является достаточно точным для данного случая, но поскольку выводы 15 и 16 остаются незанятыми, то можно было бы использовать внешний кварцевый резонатор для большей точности.

Таймер на PIC16F628A. Описание работы

Как уже было сказано ранее, этот проект создан на основе уже существующего проекта, но на самом деле обе схемы отличаются друг от друга, и поэтому код был практически полностью переписан. В таймере для управления есть три кнопки: «START/STOP», «MIN» и «SEC»

  1. «START/STOP» — для запуска и приостановки таймера.
  2. «MIN» — для установки минут. Количество минут устанавливаются от 0 до 99, а затем все начинается снова с 0.
  3. «SEC» — для установки секунд. Секунду также устанавливаются от 0 до 59 и потом снова с 0.

Одновременное нажатие на «MIN» и «SEC» приводит к сбросу таймера во время работы.

Когда время на таймере достигает 00:00, раздается звуковой сигнал (3 коротких и 1 длинный звуковой сигнал) и светодиод HL1 загорается. В качестве звукоизлучателя применен зуммер электромагнитного типа. После этого, при нажатии одной из кнопок, происходит сброс таймера и выключение светодиода HL1.

Когда таймер производит обратный отсчет на выводе 13 (RB7) находится высокий уровень, а при остановке таймера появляется низкий логический уровень. Данный вывод можно использовать для управления внешними исполнительными устройствами. питание таймера осуществляется от cстабилизированного источника на .

Перемычка J1 предназначена для калибровки таймера. При ее замыкании таймер входит в режим настройки. С помощью кнопок «MIN» и «SEC» можно увеличить/уменьшить значение внутреннего параметра, который позволяет замедлять или ускорять работу таймера. Это значение сохраняется в EEPROM. Если находясь в этом режиме нажать кнопку «START/STOP», то этот параметр будет сброшен до значения по умолчанию.

Код написан и скомпилирован с mikroC PRO для PIC.

Параметры проекта:

  • Генератор: INTOSC
  • Частота генератора: 4 МГц
  • Сторожевой Таймер: отключен
  • Power-up таймер: включен
  • RA5/MCLR/VPP: отключен
  • Brown-out: включен

Фото готового таймера.