![]() |
![]() |
|||||||||||||||
Таймер для засветки фоторезиста.
Автор: mial Достались мне тут по случаю парочка МК STM32F100C4. Железяка для меня новая, абсолюно темная. Но лиха беда начало. Чего добру пропадать. Решил я как водится для начала помигать лампочками. Встал вопрос, чем эту железяку прошивать? Покурив форум, вычитал, что с прошивкой STM проблем то ни каких и нет. Можно шить имея только конвертер COM-TTL. Единственное условие, уровни сигналов должны не превышать напряжение 3.3 вольта. Хоть и я слышал, что некоторые коты программируют их 5 вольтовыми уровнями. Но я кот осторожный, по напрасну рисковать не стану. Сгонял я в местный магазинчик всякого электронного хлама, и прикупил там нужную для этого дела микросхемку MAX3232CPE. Это тоже самое, что и обычная MAX232CPE, только работает она с уровнями в 3.3 вольта. Тут же была сварганена вот такая железка. Схемка и плата в формате DipTrace есть во вложении, в конце статьи.
Сел и стал репу чесать, что бы сваять такое для пробы сил. А тут как раз заказ на работу надо было делать. Когда в очередной раз засвечивал маску на плате, подумал о том, что как мне надоело это дело контролировать. Решил я как то это процесс автоматизировать. А для автоматизации в первую очередь нужен таймер управляющий засветкой фоторезиста и паяльной маски. ТЗ для себя составил такое. Несколько уставок времени, звуковая сигнализация окончания работы, 2 канала для управления нагрузкой. Минимум кнопок, 7-сегментный индикатор на 4 разряда. Максимальная уставка 99 минут 59 секунд, минимальная 1 секунда. Под эти задачи была нарисована вот такая схема.
Контроллер STM32F100C4, LDO стабилизатор LD1117, индикатор с общим катодом, зеленого свечения CC56-12GWA. Кварц 8 МГц, зуммер с генератором на 5 вольт, транзисторы любые npn в корпусе sot23, либо полевики с логическим управлением из серии irlml. В схеме и на плате присутствует часовой ккварц на 32768 Гц. Он предназначен для будущего апгрейда, будет реализована функция часов. В текущей версии прошивки это пока не реализовано, так что его можно не ставить. На разъем выведены все сигналы для прошивки контроллера. Так же, через этот разъем подключается силовая плата с БП на 5 вольт.
Силовая часть собрана на МОС3062 и BT134. Схема полностью взята из даташита на МОС3062. В БП примененн трансформатор, честно говоря марку я его не знаю, безжалостно выдран из блока от стиральной машины индезит. Так получилось, что у меня накопилось приличное количество горелых плат от стиральных машин, надо же куда то применять этот хлам. В принципе подойдет любой транс подходящий по габбаритам. В качестве источника 5 вольтового напряжения поставлена МС34063. Микросхема конечно старая, но так как у меня их достаточно большое количество, то потихоньку ставлю в различные проекты. Да и сверх задач тут не стоит. Схема ее включения так же взята из даташита.
Светодиоды в цепи управления оптопары можно не ставить, заменив их смд перемычкой. Сопротивление токоограничивающих резисторов тогда будет в пределах 150-180 Ом. Если ставить другую оптопару из этой серии, МОС3061, или МОС3063, тогда сопротивление этих резисторов надо подобрать, для обеспечения надежного включения оптопары. В схеме присутствует ионистор, он также предназначен для апгрейда в качестве резервного источника для подпитки часов, его так же как и часовой кварц в схеме таймера, можно не ставить. В результате всех этих потуг, родилось вот такая железка.
![]() Тут еще платы с небольшими ошибками по компоновке, в окончательно варианте вроде все исправил.
Резистор R5 на схеме таймера не устанавливаем, но после программирования контроллера все же желательно его запаять. Для прошивки контроллера я использовал утилиту от STM Flash Loader Demo V2.6. Ее можно скачать с сайта STM. Если использовать мою плату конвертера com-TTL, то процедура прошивки выглядит так. Подключаем к площадке не запаянного резистора R5 питание через 1к резистор. Подключаем проводами TX таймера к TX конвертера (тут не ошибка, так вывода обозначены на плате ковертера), RX таймера к RX платы. Не забываем подключить общий и питание 3.3 вольта. Зажимаем левую клавишу и подаем питание на плату таймера. Запускаем утилиту для прошивки. Стартовое окно выглядит так.
![]() Нажимаем кнопку Next. Если вы сделали все правильно, то появится вот такое окно.
![]() Если выскочит сообщение об ошибке, попробуйте еще раз. Boot0 должне быть на +, Boot1 на GND. Включаем питание, или дергаем reset, он так же выведен на разъем.
Если все хорошо, и программа сообщила, что все нормально, кликаем Next. Появится окно с информацие по контроллеру.
![]() Кликаем Next и попадаем в окно выбора файла прошивки.
![]() Указываем путь где лежит hex нашей прошивки и кликаем Next. Утилита прошивает контроллер, последнее окно после успешной прошивки выглядит вот так.
![]() Логика управления таймера реализована так. Левая кнопка, вход в редактировании уставки и переключение разрядов. Центральная кнопка, старт пауза таймера, выход из режима редактирования. Правая кнопка, выбор уставки, останов и сброс во время работы. Все очень просто, и без лишних наворотов. В приложении схемы и платы в формате DipTrace. Во втором архиве hex для прошивки, и проект в keil с исходником. В исходнике старался более менее коментировать, там в общем то и сложного ничего нет. Все вопросы как обычно в форум.
Все вопросы в Форум.
|
|
|||||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |