Паяльный фен на ардуино своими руками. Самодельная паяльная станция на Arduino

18.08.2023

В этой статье я хочу рассказать о своей версии паяльной станции выполненной на базе микросхемы ATmega328p, которая используется в arduino UNO. За основу был взят проект с сайта http://d-serviss.lv. В отличии от оригинала дисплей подключил по протоколу i 2 c: во-первых он у меня был, заказывал несколько штук на AliExpress для других проектов, во-вторых осталось больше свободных ножек МК, которые можно использовать для каких-либо других функций. Фото дисплея с переходником на протокол i 2 c ниже.

Температура паяльника, фена и обороты куллера регулируются энкодерами:

Включение и выключение паяльника и фена происходит нажатием на энкодер, причём после выключения в память МК сохраняются температура паяльника, фена и обороты куллера.

После выключения паяльника или фена в соответствующей строке отображаются температура, вплоть до остывания до 50 0 С. После выключения фена, кулер охлаждает его до 50 0 С на 10% оборотах, что делает его почти бесшумным в выключенном состоянии.

Для питания схемы на aliexpress был приобретён импульсный блок питания на 24в и 9А, как в последствии понял, слишком мощный. Стоит поискать с выходным током 2-3 А – этого более чем достаточно, он будет дешевле, да и места в корпусе будет занимать меньше.

Для питания схемы использовал DC-DC преобразователь на LM2596S, подключаем его к 24в и выставляем построечным резистором 5 вольт.

Паяльник и фен также приобрёл на aliexpress , ВАЖНО выбрать их на термопаре, а не на терморезисторе. Фен выбрал от станций 858, 858D, 878A, 878D и 878D, паяльник от станций 852D +, 853D, 878AD, 898D, 936B, 937D. Если брать на терморезисторе то схему и прошивку необходимо доработать. К паяльнику прикупил комплект из 5 жал. Паяльник попался бракованный, был перебит где-то внутри провод. Пришлось менять, хорошо подошел провод от USB удлинителя.

Так же понадобятся дополнительно разъёмы GX16-5 и GX16-8, для подключения паяльника и фена к корпусу прибора.

Теперь корпус: с проблемой выбора корпуса я провёл много времени, сначала использовал от компьютерного блока питания металлический, но в последствии отказался от него, т.к. были помехи от ИБП, из-за которых зависал МК и LCD. Пробовал экранировать БП, основную плату и дисплей. МК перестал зависать а вот дисплей так и показывал периодически непонятные иероглифы. Решил использовать корпус из пластмассы, все проблемы с помехами сразу прошли, ничего не экранировал. Корпус решил так же приобрести у китайцев. Немного погорячился с размерами и взял как оказался очень маленький (150 мм x 120 мм x 40 мм), туда я конечно всё уместил, сделал специально плату под него, но вот на лицевой панели всё оказалось слишком компактно, и регулировать особенно фен не очень удобно.

Доработанная схема и печатная плата ниже на картинке, от оригинала она отличается подключением дисплея, заменой переменных резисторов и кнопок включения на энкодеры. Так же на схеме я убрал стабилизатор на 12 вольт, т.к. фен у меня работает от 24в, и убрал стабилизатор на 5 вольт, заменив его DC-DC преобразователем.

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

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

Микроконтроллер прошивал через Arduino UNO, МК подключаем по классической схеме: 1 вывод МК к 10 выводу Arduino, 11 вывод МК к 11 выводу Arduino, 12 вывод МК к 12 выводу Arduino, 13 вывод МК к 13 выводу Arduino, 7 и 20 выводы к +5 вольтам, 8 и 22 к GND, к 9 и 10 подключаем кварц на 16 МГц. Схема подключения ниже.

Схема подключения

Осталось запрограммировать МК.

1) Заходим на сайт https://www.arduino.cc/en/main/software , выбрав свою ОС скачиваем программу ARDUINO IDE, после чего устанавливаем её.

2) После установки необходимо добавить библиотеки из архива, для этого в программе выбираем Скетч – Подключить библиотеку – Добавить.ZIP библиотеку. И подключаем по очереди все библиотеки.

3) Подключаем Arduino UNO и присоединённый к ней МК к компьютеру через USB, при первом включении установятся необходимые драйвера.

4) Заходим в программе Файл – Примеры – ArduinoISP – ArduinoISP, в пункте Инструменты выбираем нашу плату и виртуальный порт, к которому подключилась ардуино, затем нажимаем загрузить. Этими действиями мы превращаем нашу ардуино в полноценный программатор.

5) После загрузки скетча в ардуино открываем скетч из архива, выбираем пункт Инструменты – записать загрузчик. Сам загрузчик в МК нам конечно не нужен, но этимы действиями в МК прошьются фьюзы и наша микроконтроллер будет работать от внешнего кварца на частоте 16МГц.

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

Назначение устройства и органы управления

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

Главное отличие нашего паяльника (и фена) от обычного — это постоянный контроль температуры! Если я задал температуру в 300 градусов, то на жале паяльника будет поддерживаться именно эта температура с самыми небольшими отклонениями. Этот паяльник не нужно регулярно вынимать из розетки, как обычный, и не нужно снова вставлять в розетку когда он остыл. Той же функцией обладает и фен.

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

Кроме кнопок включения и экрана, на внешней панели станции есть ещё три ручки потенциометров. Ими можно задать температуру паяльника и фена, а также скорость вращения вентилятора фена. Температура измеряется в градусах цельсия, а скорость фена в процентах. При этом 0% — это не выключенный вентилятор, а просто минимальная скорость.

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

Устройство и принцип действия

Основой устройства я считаю печатную плату разработки и изготовления товарища Kamik. В центре этой платы расположилась колодка, в которую установлен контроллер Arduino Nano V3. Контроллер подаёт сигналы на три MOSFET-транзистора, которые плавно управляют тремя нагрузками: Нагревательные элементы паяльника и фена, а также вентилятор фена. Также на плате есть подстроечные резисторы для настройки термопар паяльника и фена, а также множество колодок и разьёмов для подключения фена и паяльника (через разьёмы GX-16), экран, кнопки включения фена и паяльника и потенциометров. Также прямо на плату приклеен понижающий модуль LM2596 для понижения напряжения с 24в до 5вольт с целью питания самой ардуины и ЖК-экрана. Вентилятор и нагреватель фена работают от напряжения 220в, паяльник — от 24в. Для питания паяльника присутствует отдельный блок питания 220в->24в, заказывался из китая. Пятивольтовые потребители питаются от понижайки LM2596.

Фен и паяльник присоединяются к паяльной станции при помощи разьёмов GX16 с восемью и пятью контактами соответственно. Для присоединения шнура питания 220в предусмотрено специальное гнездо со встроенным выключателем и предохранителем.

Список деталей, стоимость

Мы с товарищами решили собрать сразу несколько таких паяльных станций, поэтому на некоторых деталях из Китая нам удалось сэкономить за счёт мелкооптовых партий: мы специально искали лоты где нужные нам детали продаются по 5 штук а в некоторых случаях (например потенциометры) — и по 20шт. В результате, себестоимость одной станции (без корпуса) составила около 40$ .

Давно хотел себе термовоздушную паяльную станцию но все душила жаба и удручала портативность, потому как старый советский паяльник на 40 ват легко умещался в рюкзаке, да и паял я им вполне неплохо, последней каплей стало то что закончился припой и я купил в ближайшем ларьке катушку другого припоя, и он почему-то не стал плавится от слова вообще, просто отказался, я предявил претензию продавцу на что тот сказал "У меня все норм, это твой паяльник гавно", я конечно обиделся, как это 25 лет работал нормально а тут перестал, ну ладно паять то все равно нужно, купил в другом ларьке другой припой, и опять нифига, просто не плавится, подумал и пошел покупать новодельный паяльник, прямо в магазине включил и проверил, второй припой плавит аж капли летят, думаю за многие годы нагреватель в моем любимом паяльнике пришел в негодность, но что интересно припой что я купил в первом ларьке все равно не плавился, как потом я выяснил он начинает плавится при 300 градусах.
Но вылез другой момент жало новодельного паяльника обгорает за 10-15 минут, толи из за того что температура там выше толи жало из хренового метала, но суть в том что старый паяльник я залудил один раз и проблем при многочасовой работе не было, а тут пайка из приятного времяприпровождения превратилась в муку, постоянно приходилось чистить жало стальной губкой.

В общем пришло время искать нормальный паяльник, но опять же под натиском жабы, и раз уже начал выбирать паяльник то и фен было бы хорошо, ато выпаивать микросхемы сплавом розе не очень удобно, да и ремонт телефона даже хорошо заточеным жалом работа муторная и кропотливая.
Смотрел разные варианты но то слишком дорого, то не очень гибко, а потом я набрел на вот это видео - Паяльная станция на ардуино за 10$ (и тут мой внутренний еврей заликовал) хоть реальная стоимость получилась дороже 25$ на компоненты, это все еще дещшево и я получил кучу опыта по работе с arduino и микроэлектроникой.


Посмотрев пару видео на похожую тематику я понял что не все так страшно, схемы простые и подробные, есть готовый скетч для ардуино (от которого на данным момент осталось строчек 10) да и логика там не сложная.

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

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







Первым делом занялся платой усиления для термопары на LM358N




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

Далее в ускореном темпе усвоил принцыпы работы с семисегментными индикаторами, после чего понял что выводов у ардуины маловато еще пришлось освоить сдвиговые регистры.



Познав все тонкости работы с LED дисплеями (оказывается чтобы не было ghousting эффекта после каждого прогона все диоды нужно тушить) я осознал что мне нужно 2 дисплея, на паяльник и на фен, а выводы у ардуины уже на исходе, и тут или городить каскад из сдвиговых регистров или ставить их паралельно + 2 ноги ардуины, но я как подумал какую логику прийдется реализовать чтобы раздельно управляь двумя дисплеями посылая одну последовательность байтов... ну его нафиг в общем, решил подобрать готовый дисплейный модуль.


Из двух вариантов победила лень, графичесский интерфейс смотрится круче, можно шняжек всяких нарисовать, но вот морочится с этим дико лень, по тому простой как внешне так и в освоении 16X2 мне подошел больше.

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

А вот с диммером фена ситуация более интересная, есть много реализаций: , , , , , , , , , , , , , .
Я реализовал самую простую схему с детектором ноля.


Програмно управление димером основано на библиотеке CyberLib .
Для начала поэксперементировав на лампочке отловил некоторые косяки, потом и фен можно цеплять.


Схему собрал на такой же макетке (все элемены у меня на отдельных платах чтобы быть модульными) между высоковольтными дорожками срезал пятачки с макетки чтобы шанс пробоя был меньше.











Тирак от лампочки нагревался до 32 градусов, от фена до 70, по этому усадил его на радиатор от диодной сборки (донор лазерный принтер).
Для управления вентилятора просто продублировал схему управления паяльником (такого мощного транзистора там много, но разводить зоопарк было лень).




Хотел сделать активные элементы на кроватках но как на зло не было 6-ти пиновых, пришлось брать то что есть и заказывать про запас из китая.

Все нужные модули готовы, теперь пришла пора собрать их воедино, сердцем всего агрегата выступает клон Arduino Pro Mini V3, хорош он тем что на нем выведены 4 дополнительных пина (винов много не бывает).

Прикинул расположение на плате, чтобы все поместилось.

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


Минусом такого подхода является то что нормально отрабатывается только одна кнопка одновременно, ну а плюсом то что на огромное количество кнопок (в финальной версии 8 штук) задействован всего один вход ардуины.

Собрав все это дело на столе, понял что нужно думать корпус.

Первая версия собрана в картонную коробку, лишь бы не на столе.

И сразу пошел в строймаг за контейнерами.
То что получилось вырезать из пластика было ужастным...



Спустя одно падение треснул угол и тут пришлось делать более другой корпус.

Выбор пал на старый CD привод, привод старый, стенки толстые и крепкие.


Насверлил отверстий и прикрыл дно пластиком от упаковки.
Передняя панель из заглушки от того же корпуса, и побольше горячих соплей.


















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

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

Питание ардуины организовано на любимом мною DC-DC преобразователе (тот что помельче).

Он немного избыточен (может давать до 3-х ампер) но альтернатив ему небыло, пробовал ставить микро DC-DC но она очень грелась так как расчинана на 23 вольта максимум и работает на пределе, ну а линейный стабилизатор на 5 вольт бдет отдавать 19 вольт в тепло, что тоже многовато.

Что качается хардварной реализации пожалуй все, остальное дело прошивки, все свои наработки я залил на GitHub включая полную схему в eagle, ошибок в коде хватает, постараюсь выкроить время и привести код в более подобающий вид, но по крайней мере все на данном этапе работает, хоть и есть парочка не отловленых багов над которыми нужно поработать.

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

На этом пожалуй все, на момент написания статьи станция отработала часов 10 (в основном по мелочи) пока без особых нареканий.