Цифровая паяльная станция своими руками (ATmega8, C). Термовоздушная паяльная станция "didav" Схема паяльная станция на atmega8 своими руками

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

Схема

Микроконтроллер работает как термостат: получает данные от термопреобразователя и управляет транзистором, который в свою очередь, включает нагреватель. Заданная и текущая температура паяльника отображаются на семисегментном индикаторе. Кнопки S1-S4 служат для задания температуры с шагом 100°С и 10°С, S5-S6 - для включения и отключения станции (ждущий режим), S7 - переключает режим индикации температуры: текущая температура либо заданная (в этом режиме её можно изменить). Работа нагревателя отображается светодиодом LED1. В случае отключения питания последняя заданная температура сохраняется в энергонезависимую память EEPROM и при последующем включении станция начинает нагрев до этой температуры.
Детали
В станции использован сетевой трансформатор на 18В 40Вт, диодный мост любой, способный выдержать ток 2А и обратное напряжение 30В, например КЦ410. Интегральный стабилизатор напряжения 7805 нужно прикрутить к радиатору размером не менее спичечного коробка. Фильтрующие конденсаторы С1 - электролитический на 100-500мкФ, С2 при большом желании, можно убрать. Индикатор - любой на три разряда с динамической индикацией и общим анодом, лучше его спрятать за светофильтром. Токоограничительные резисторы R8-R11 сопротивлением 330Ом-1кОм. Кнопки S1-S6 без фиксации, желательно тактовые, S7 - тумблер или кнопка, но с фиксацией. Резисторы R1-R7 - любые, сопротивлением 10кОм-100кОм. Транзистор Т1 - N-канальный MOSFET, управляемый логическим уровнем, допустимым напряжением сток-исток не менее 25В и током не менее 3А, например: IRL3103, IRL3713, IRF3708, IRF3709 и др. Микроконтроллер ATmega8 с любым суффиксом и корпусом(на схеме нумерация контактов для DIP-корпуса). Из фьюзов меняем лишь CKSEL: настраиваем на внутренний генератор 8МГц CKSEL3...0=0100, остальные не трогаем. Такая схема не требует ни какой настройки и работает сразу (если её правильно собрали).

Паяльник

В схеме предусмотрено использование паяльников используемых в серийно выпускаемых паяльных станциях, например Lukey или AOYUE. Такие паяльники продаются в качестве запасных частей и стоят чуть дороже ранее упомянутых паяльников для кастрюль. Основное отличие, которое нас волнует - это тип датчика температуры, он может быть терморезистором или термопарой. Нам нужен первый. Такой тип преобразователя подходит для паяльников внутри которых находится керамический нагревательный элемент HAKKO 003 (HAKKO A1321). Пример такого паяльника используется в паяльных станциях Lukey 868, 852D+, 936 и др. Такой паяльник стоит дороже, но считается более качественным.

В заключение

Паяльники Lukey имеют для подключения станции разъем PS/2, у AOYUE - похож на старый советский разъем для подключения магнитофона. В интернете можно найти их распиновку, а можно просто срезать разъем и припаяться прямо к плате. Чтобы узнать где какой провод, можно померить сопротивления: у нагревателя будет около 3 Ом, а у терморезистора примерно 50 Ом (при комнатной температуре).
Почти все современные паяльники для паяльных станций имеют возможность заземлить жало, воспользуйтесь ней для защиты паяемых деталей от статических разрядов.

А вот что получилось

Паялось все ЭПСНом с намотанной на жало медной проволокой. О миниатюризации тогда не думал.





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

Привет ВСЕМ! Пополняем свою лабораторию самодельным инструментом - на этот раз это будет самодельная цифровая паяльная станция DSS. До этого у меня ничего подобного не было, поэтому и не понимал, в чем ее плюсы. Пошарив по интернету, на форуме «Радиокота» нашел схему, в которой использовался паяльник от паяльной станции Solomon или Lukey.

До этого все время паял таким паяльником, с понижающим блоком, без регулятора и естественно без встроенного термо-датчика:

Для будущей своей паяльной станции, прикупил уже современный паяльник со встроенным термо-датчиком (термопарой) BAKU907 24V 50W. В принципе подойдёт любой паяльник, какой Вам нравится, с термо-датчиком и напряжением питания 24 вольта.

И пошла потихоньку работа. Распечатал печатку для ЛУТ на глянцевой бумаге, перенёс на плату, протравил.

Сделал также рисунок для обратной стороны платы, под расположение деталей. Так легче паять, ну и выглядит красиво.


Плату делал размером 145х50 мм, под покупной пластиковый корпус, который уже был приобретён ранее. Впаял пока детали, какие были на тот момент в наличии.

R1 = 10 кОм
R2 = 1,0 МОм
R3 = 10 кОм
R4 = 1,5 кОм (подбирается)
R5 = 47 кОм потенциометр
R6 =120 кОм
R7 = 680 Ом
R8 = 390 Ом
R9 = 390 Ом
R10 = 470 Ом
R11 = 39 Ом
R12 =1 кОм
R13 = 300 Ом (подбирается)
C1 = 100нФ полиэстр
C2 = 4,7 нф керамика, полиэстр
C3 = 10 нФ полиэстр
C4 = 22 пф керамика
C5 = 22 пф керамика
C6 = 100нФ полиэстр
C7 = 100uF/25V электролитический
C8 = 100uF/16V электролитический
C9 = 100нФ полиэстр
С10 = 100нФ полиэстр
С11 = 100нФ полиэстр
С12 = 100нФ полиэстр
Т1 = симистор ВТ139-600
IC1 = ATMega8L
IC2 = отпрон МОС3060
IC3 = стабилизатор на 5 v 7805
IC4 = LM358P опер. усилитель
Cr1 = кварц 4 мГц
BUZER = сигнализатор МСМ-1206А
D1 = светодиод красный
D2 = светодиод зелёный
Br1 = мост на 1 А.

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


Плата, как уже говорил, имеет размер по длине 145мм, под готовый пластиковый корпус. Но это на всякий случай, т.к пока ещё не было силового трансформатора и в основном от него зависело, каким будет окончательный вариант корпуса. Или это будет корпус БП от компьютера, если трансформатор не влезет в пластиковый корпус, или если влезет, то готовый пластиковый покупной. По этому поводу заказал через интернет трансформатор ТОР 50Вт 24В 2А (они мотают на заказ).


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


Как уже говорил, что когда разрабатывал плату, то в первую очередь, конечно, учитывал размеры пластикового корпуса, поэтому плата в него подошла без проблем, только пришлось подрезать немного углы.


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



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

Собираю все составные части паяльной станции в одно целое. Для паяльника поставил «Соломоновский» разъём (гнездо).

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

Пошёл в магазин за разъёмом. В магазинах у нас в городе ответной части не нашел. Поэтому в станции гнездо оставил, какое было, а на паяльнике разъём перепаял на наш советский от магнитофонов (СГ-5 вроде, или СР-5). Идеально подходит.

Теперь упаковываем всё в корпус, крепим окончательно трансформатор, переднюю панель, делаем все соединения.


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


Как работает станция, можно посмотреть это видео, которое я скинул на Ютюб.

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

P.S.
По наладке:

1. Определить где у паяльника нагреватель, а где термопара. Померить омметром сопротивление на выводах, там где сопротивление меньше, там и будет термопара (нагреватель обычно имеет сопротивление выше термопары, у термопары сопротивление единицы Ом). У термопары соблюсти полярность при подключении.
2. Если сопротивление у измеренных выводов практически не отличается (мощный керамический нагреватель), то определить термопару и её полярность,можно следующим способом;
- нагреть паяльник, отключить его и цифровым мультиметром на самом малом диапазоне (200 милливольт) замерить напряжение на выводах паяльника. На выводах термопары будет напряжение несколько милливольт, полярность подключения будет видна на мультиметре.
3. Если на всех выводах паяльника измеренное сопротивление (попарно) больше 5-10-ти Ом (и более) на двух парных выводах (нагреватель и искомая термопара), то возможно у паяльника вместо термопары стоит терморезистор. Определить его можно с помощью омметра, для этого измеряем сопротивления на выводах, запоминаем, затем нагреваем паяльник. Снова измеряем сопротивление. Там где величина показаний изменится (от запомненного), там и будет терморезистор.
Ниже на рисунке показана распиновка разъёма "Соломоновского" паяльника

4. Подобрать значение R4.

В прикреплённом архиве находятся все необходимые файлы.

Архив для статьи

Всем привет! Начну я с небольшой предыстории. Как-то ранее я работал над проектом «Автомат подачи звонка» для своего учебного заведения. В последний момент, когда работа шла к завершению, я проводил калибровку устройства и исправлял косяки. В конце концов один из косяков мне спалил микросхему на программаторе. Было конечно немного обидно, программатор у меня всего один был, а проект нужно было быстрее заканчивать.

В тот момент у меня была запаснаяSMD микросхема для программатора, но паяльником её фиг отпаяешь. И я начал задумываться над приобретением паяльной станции с термо-феном. Залез в интернет магазин, увидел цены на паяльные станции, и приофигел… Самая убогая и дешёвая станция на тот момент стоила около 2800грн(более 80-100$). А хорошие, фирменные - еще дороже! И с того момента я решил заняться следующим проектом о создании своей паяльной станции с полного «Нуля».

Для своего проекта за основу был взят микроконтроллер семейства AVRATMega8A. Почему чисто «Атмегу», а не Arduino? Сама «мега» очень дешёвая (1$), а ArduinoNanoи Uno значительно подороже будет, да и программирование на МК начинал с «Меги».

Ладно, довольно истории. Перейдём к делу!

Для создании паяльной станции мне первым делом нужен был сам Паяльник, Термофен, Корпус и так далее:

Паяльник я приобрёл самый простой YIHUA – 907A(6$) в котором есть керамический нагреватель и термопара для контроля температуры;

Паяльный фен той же фирмыYIHUA(17$)во встроенной турбиной;

Был приобретён «Корпус N11AWЧёрный»(2$);

ЖК дисплей WH1602 для отображения показателей температури статуса(2$);

МК ATMega8A(1$);

Пара микро тумблиров(0,43$);

Энкодер со встроенной тактовой кнопкой – от куда-то отковырял;

Операционный усилитель LM358N (0,2$);

Две оптопары: PC818 иMOC3063(0,21 + 0,47);

И остальная различная расыпуха, которая у меня завалялась.

И в сумме станция обошлась мне примерно 30$, что в разы дешевле.

Паяльник и фен имеют следующие характеристики:

*Паяльник: Напряжение питания 24В, мощность 50Вт;

*Паяльный Фен: Спираль 220В, Турбина 24В, Мощность 700Вт, Температура до 480℃;

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

Принципиальная схема Паяльной Станции

Источники питания станции

В качестве источника паяльника для паяльника был взят понижающий трансформатор (220В-22В) на 60Вт.

А для схемы управления был взят отдельный источник питания:-зарядное устройство от смартфона. Данный источник питания был немного доработан и теперь он выдаёт 9В. Далее, с помощью понижающего стабилизатора напряжения ЕН7805, мы понижаем напряжение до 5В и подаем его на схему управления.

Управление и контроль

Для управления температурой Паяльника и Фена нам в первую очередь нужно снимать данные с датчиков температур, и в этом нам поможет операционный усилитель LM 358 .Т.к. ЕДС у термопарыTCK очень мало (несколько милливольт), то операционныйусилитель снимает этуЕДС с термопары и увеличивает её в сотни раз для восприятия АЦП микроконтроллераATMega8.

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

Так как зависимость напряжения на оптопаре от температуры паяльника u=f(t)– примерно линейная, то калибровку можно осуществить очень просто: ставим жала паяльника на термопару мультиметра, выставляем мультиметр в режим «Измерение температуры», выставляем на станции температуру в 350℃, ждём пару минут пока паяльник нагреется, начинаем сравнивать температуру на мультиметре и установленную температуру и если показания температуры отличаются друг от друга – начинаем изменять коэффициент усиления на ОС (резистором R7 иR11) в большую или в меньшую сторону.

Паяльником мы будем управлять силовым полевым транзистором VT2 IRFZ 44 и оптопарой U3 PC 818 (для создания гальванической развязки). Питание на паяльник подаётся с трансформатора мощностью60Вт, через диодный мостVD1 на 4А и фильтрующий конденсатор наC4=1000мкФ иC5=100нФ.

Так как на фен подаётся переменное напряжение 220В то управлять Феном будем Симистором VS1 BT 138-600 и оптопарой U2 MO С3063 .

Обязательно нужно установить Снаббер!!! Состоящий из резистора R 20 220 Ом/2Вт и керамического конденсатора C 16 на 220нФ/250В. Снаббер предотвратит ложные открывания симистора BT 138-600.

В этой же цепи управления установлены светодиоды HL1 иHL2, сигнализирующие о работы Паяльника или Паяльного Фена. Когда светодиод постоянно горит, то происходит нагрев, а если они моргают, то происходит подержание заданной температуры.

Принцип стабилизации температуры

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

Суть регулирования такова: При включении паяльника будет подана максимальная мощность на паяльник, при приближении к заданной температуре мощность начинает пропорционально понижаться, и при минимальной разнице между текущей и заданной температурой – подаваемая мощность на паяльник или фен держится на минимуме. Таким образом мы удерживаем заданную температуру и устраняем инерцию перегрева.

Коэффициент пропорциональности можно задать в программном коде. По умолчанию установлено «#define K_TERM_SOLDER 20»

«#define K_TERM_FEN 25»

Разработка печаткой платы

и внешнего вида станция

Для Паяльной Станции была разработана небольшая печатная плата в программе Sprint-Layout и изготовлена технологией «ЛУТ».

К сожалению я не чего не лудил, боялся что дорожки перегреются и они отлепятся от текстолита

Первым делом пропаял перемычки и SMD-резисторы, а потом всё остальное. В конце концов получилось как-то так:

Я остался доволен результатом!!!

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

Следом на заднюю панель были установлены разъём для шнура, выключатель, предохранитель

В корпус разместил трансформатор для паяльника, сбоку от него источник питания для схемы управления и посередине радиатор с транзисторомVT1(КТ819), который управляет турбиной на фене. Радиатор желательно ставить побольше чем у меня!!! Ибо транзистор сильно греется из-за падения напряжения не нём.

Собрав всё в кучу, станция приобрела вот такой внутренний вид:

Из обрезка текстолита были изготовлены подставки для паяльника и фена.

Конечный Вид Станции

Всем доброго времени суток уважаемые радиолюбители! Предлагаю всем несложную схему паяльной станции с феном. Была давно затея сделать паяльную станцию, именно своими руками. Покупать в магазине для меня было не целеобразно, так как не устраивала ни цена, ни качество, ни управление, ни надёжность. После долгих поисков в интернете была найдена на мой взгляд лучшая и единственная в своем роде схема на микроконтроллере atmega8 и двухстрочном LCD дисплее WH1602, с управлением на энкодере. Проект новый и не является клоном одних и тех же "затёртых до дыр" схем, в общем не имеет аналогов.

Особенности устройства

Станция имеет такие преимущества как:

  1. Меню настроек.
  2. Две кнопки "памяти", то есть два предустановленных температурных режима для паяльника и фена.
  3. Таймер перехода в спящий режим, установить таймер можно в настройках.
  4. Цифровая калибровка паяльника, также находится в настройках.
  5. Построена на бюджетных комплектующих.
  6. Печатная плата разработана мной под корпус от БП ПК, так что с корпусом тоже не возникнет проблем.
  7. Для питания станции можно применить ту же плату от блока ПК, немного переделав под нужные 20-24v(зависит от трансформатора), благо размеры корпуса позволяют это сделать. Можно немного укоротить радиаторы, так как для питания нам нужно всего лишь 24v и 2-3 ампера и сильного нагрева силовых транзисторов и диодной сборки не будет.
  8. В прошивке заложен "Пи" алгоритм регулирования нагрева фена, что даёт равномерный нагрев спирали фена и отсекает ИК излучение в моменты включения фена. В общем при умелом пользовании фена ни одна деталька не "прижарится" раньше времени.

Принципиальная схема

Изначально, в авторском варианте, схема была выполнена полностью на SMD компонентах (в том числе и atmega8) и на двухсторонней плате. Повторить её для меня, и думаю большинства радиолюбителей, не представляется возможным. Поэтому перевел схему и разработал плату на DIP компонентах. Конструкция выполнена на двух печатных платах: высоковольтная часть сделана на отдельной платке во избежание наводок и помех. Паяльник применён с термопарой, на 24v 50w от станции "Baku".

Фен применен от этой же фирмы, c термопарой в качестве датчика температуры. Имеет нихромовый нагреватель с сопротивлением около 70 ом и "турбинку" на 24v. На экране отображается температура: заданная и фактическая для фена и паяльника, сила воздушного потока фена(отображается в виде горизонтальной шкалы в нижней строчке экранчика).

Для увеличения, уменьшения температуры и потока воздуха турбинки: переносится курсор кратковременным нажатием на энкодер, и поворачивая влево или вправо устанавливается нужное значение. Удерживая первую или вторую кнопку памяти можно запомнить удобную для вас температуру и при следующем использовании, нажав на память, сразу пойдет нагрев до установленных в памяти значений. Запуск фена осуществляется нажатием на кнопку "Fen ON", которая находится на лицевой панели, но можно вывести её на ручку фена, использовав проводки идущие на геркон, так как в данной станции он не используется. Для перехода фена в спящий режим: также нужно нажать на кнопку "Fen ON", при этом нагрев фена прекратится, а турбинка фена будет остужать его до заданной температуры(от 5 до 200 градусов), которую можно выставить в настройках.

Сборка станции

  1. Изготавливаем основную плату по народному рецепту " "
  2. Сверлим, лудим готовую платку.
  3. Впаиваем стабилизатор 7805, шунтирующие конденсаторы, перемычку под панелькой для МК и остальные перемычки, панельку и шунтирующие конденсаторы возле панельки.
  4. Подключаем питание 24v, проверяем напряжение после 7805 и на панельке МК. Убеждаемся что на 7 и 20 контакте присутствует +5V, а на 8 и 22 минус 5v, то есть GND.
  5. Припаиваем непосредственную обвязку МК и LCD 1602, необходимую для первого запуска схемы. А это: R1, R2, подстроечник (для регулировки контраста экрана, есть на печатной плате), энкодер с кнопками S1 и S2 (эти компоненты паяются со стороны дорожек).
  6. Припаиваем проводки к экранчику, всего 10 проводков. Контакты на самом экранчике: VSS, K, RW - необходимо соединить вместе, при помощи проводков.
  7. Прошиваем atmega8. Байты конфигурации: 0xE4 - LOW, 0xD9 - HIGH
  8. Подключаем питание, схема находится в спящем режиме. При кратковременном нажатии на энкодер - должна загорается подсветка и вылезти приветствие. Если этого не случилось: смотрим на 2 ноге МК после включения должно быть устойчивые +5в. Если не так - смотрим обвязку atmega8, фьюзы. Если есть +5v - распайку индикатора. Если есть подсветка, но нет символов - крутим подстроечник контраста экрана до появления их.
  9. После удачного пробного запуска: допаиваем всё кроме высоковольтной части на отдельной плате.
  10. Запускаем станцию с подключенным паяльником, любуемся результатом.
  11. Изготавливаем платку для высоковольтной части схемы. Впаиваем детали.

Запуск паяльной станции

Первый запуск с высоковольтной частью:

  1. Подключаем термопару фена и турбинку к основной плате.
  2. Подключаем лампу накаливания 220v, вместо нагревателя фена, к высоковольтной платке.
  3. Включаем станцию,запускаем фен кнопкой "Fen ON" - лампа должна засветится. Выключаем.
  4. Если не "бахнуло", и симистор не горячий (желательно закрепить на радиатор) - подсоединяем нагреватель фена.
  5. Запускаем станцию с феном. Любуемся работой фена. Если есть посторонний звук (писк, скрежет) в районе симистора - подбираем конденсатор C3 в снаббере симистора, от 10 до 100 нанофарад. Но буду честен, и скажу сразу - ставьте 100n.
  6. Если есть разница в показаниях температуры фена - можно подкорректировать резистором R14 в обвязке ОУ.

Замена деталей

Некоторые замены активных и не очень активных компонентов:

  • ОУ - Lm358, Lm2904, Ha17358.
  • Полевые транзисторы - Irfz44, Irfz46, Irfz48, Irf3205, Irf3713 и подобные, подходящие по напряжению и току.
  • Биполярный транзистор Т1 - С9014, С5551, BC546 и подобные.
  • Оптопара MOC3021 - MOC3023, MOC3052 без перехода через ноль (без zero kross по даташиту).
  • Оптопара PC817 - PC818, PC123
  • Стабилитрон ZD1 - любой на напряжение стабилизации от 4,3 - 5,1V.
  • Энкодер с кнопкой, я применял от автомагнитолы.
  • Конденсатор в снаббере симистора обязательно на 400v и 100n!
  • LCD WH1602 - смотреть внимательно расположение контактов при соединении с основной платой, от разных производителей может отличаться.
  • Для питания лучшим вариантом будет стабилизированный бп на 24V 2-4A, с одного большого восточного магазина или переделанный БП АТХ. Хотя я применял 24V 1,2A от принтера, немного греется при пользовании паяльника, но мне хватает. На худой конец трансформатор с диодным мостом, но не советую.

Корпус станции

У меня корпус от БП ПК. Панель из оргстекла, при покраске необходимо оставить окошко для экрана методом приклеивания малярного скотча с двух сторон. Корпус покрашен в один слой грунта и два слоя чёрной матовой краски из баллончика. Для паяльника применён советский пятиштырьковый штекер от магнитофона. Фен не отсоединяется, штырьками подсоединён непосредственно к основной плате. Гнездо паяльника, шнур фена и сетевой шнур расположены на задней стенке корпуса. На передней панели расположены только органы управления, экран, сетевой выключатель и индикатор работы фена. Первая моя конструкция была с панелью из текстолита, с вытравленными надписями, но к сожалению фото не осталось. В архиве прилагаются рисунки печатных плат, рисунок панели, схема в Splan и прошивка.

Видео

P.S. Станция имеет название "Didav " - это псевдоним человека создавшего схему и прошивку данного аппарата. Всем удачной пайки без "соплей". Дополнение по схеме и прошивкам . Специально для сайта - Akplex .

Обсудить статью ТЕРМОВОЗДУШНАЯ ПАЯЛЬНАЯ СТАНЦИЯ "DIDAV"

Что является одним из самых важных инструментов в наборе инженера, работа которого связана с электроникой. Это то, что вы, вероятно, любите и ненавидите, - паяльник. Вам необязательно быть инженером, чтобы он вам вдруг понадобился: достаточно быть просто умельцем, которые ремонтирует что-либо у себя дома.

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

В данной статье мы рассмотрим, как можно собрать собственную паяльную станцию.

Разработка

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

  • переносимость - это достигается за счет использования импульсного источника питания, вместо обычного трансформатора и выпрямительного моста;
  • простой дизайн - мне не нужны LCD дисплеи, лишние светодиоды и кнопки. Мне нужен был просто светодиодный семисегментный индикатор, чтобы показывать установленную и текущую температуру. Мне также нужна была простая ручка для выбора температуры (потенциометр) без потенциометра для точной подстройки, так как это легко сделать с помощью программного обеспечения;
  • универсальность - я использовал стандартную 5-контактную штепсельную вилку (какой-то тип DIN), чтобы она была совместима с паяльниками Hakko и их аналогами.

Как это работает

Прежде всего, давайте поговорим о ПИД (пропорционально-интегрально-дифференцирующих, PID) регуляторах. Чтобы прояснить всё сразу, давайте рассмотрим наш частный случай с паяльной станцией. Система постоянно отслеживает ошибку, которая является разницей между заданной точкой (в нашем случае, необходимой нам температурой) и нашей текущей температурой. Он подстраивает выход микроконтроллера, который управляет нагревателем с помощью ШИМ, исходя из следующей формулы:

Как можно увидеть, есть три параметра K p , K i и K d . Параметр K p пропорционален ошибке в настоящее время. Параметр K i учитывает ошибки, которые накопились с течением времени. Параметр K d является предсказанием будущей ошибки. В нашем случае мы для адаптивной настройки мы используем PID библиотеку Бретта Борегарда (Brett Beauregard), которая имеет два набора параметров: агрессивный и консервативный. Когда текущая температура далека от заданного значения, контроллер использует агрессивные параметры; в противном случае, он использует консервативные параметры. Это позволяет нам получить малое время нагрева, сохраняя при этом точность.

Ниже приведена принципиальная схема. Станция использует 8-битный микроконтроллер ATmega8 в DIP корпусе (вы можете использовать ATmega168-328, если они есть у вас под рукой), который очень распространен, а вариант 328 содержится в Arduino Uno. Я выбрал его, потому что его легко прошить, используя Arduino IDE, в котором также есть готовые к использованию библиотеки.

Температура считывается с помощью термопары, встроенной в паяльник. Мы усиливаем напряжение, создаваемое термопарой, примерно в 120 раз с помощью операционного усилителя. Выход операционного усилителя подключается к выводу ADC0 микроконтроллера, который превращает напряжение в значения от 0 до 1023.

Заданное значение устанавливается с помощью потенциометра, который используется в качестве делителя напряжения. Он подключен к выводу ADC1 контроллера ATmega8. Диапазон 0-5 вольт (выход потенциометра) преобразуется в значения 0-1023 с помощью АЦП, а затем в значения 0-350 градусов Цельсия с помощью функции " map ".

Список комплектующих

Обозначение Номинал Количество
IC1 ATMEGA8-P 1
U1 LM358 1
Q1 IRF540N 1
R4 120 кОм 1
R6, R3 1 кОм 2
R5, R1 10 кОм 2
C3, C4, C7 100 нФ 3
Y1 16 МГц 1
C1, C2 22 пФ 2
R2 100 Ом 1
U2 LM7805 1
C5, C6 100 мкФ (можно и меньше) 2
R7, R8, R9, R10, R11, R12, R13, R14 150 Ом 8

Это список компонентов, экспортированный из KiCad. Кроме того, вам понадобятся:

  • клон паяльника Hakko, самого популярного в китайских онлайн магазинах (с термопарой, а не с термистором);
  • источник питания 24 В, 2 А (я рекомендую использовать импульсный, но вы можете использовать трансформатор с выпрямительным мостом);
  • потенциометр 10 кОм;
  • электрическая штепсельная вилка авиационного типа с 5 контактами;
  • электрический разъем, устанавливаемый на заднюю панель для подачи питания 220 В;
  • печатная плата;
  • выключатель питания;
  • штырьковые разъемы 2,54 мм;
  • много проводов;
  • разъемы Dupont;
  • корпус (я напечатал его на 3D принтере);
  • один тройной семисегментный светодиодный индикатор;
  • программатор AVR ISP (для этого вы можете использовать Arduino).

Конечно, вы можете легко заменить светодиодный индикатор LCD дисплеем или использовать кнопки, вместо потенциометра, ведь это ваша паяльная станция. Я изложил свой вариант дизайна, но вы можете по-своему.

Инструкции по сборке

Во-первых, вы должны изготовить печатную плату. Используйте тот способ, который предпочитаете; я рекомендую перенос рисунка платы тонером лазерного принтера, поскольку это самый простой способ. Кроме того, печатная плата у меня удлинена, потому что я хотел, чтобы она совпадала по размеру с источником питания, и я мог бы установить ее на него. Не стесняйтесь изменять плату, вы можете скачать файлы проекта и отредактировать их с помощью KiCad. После того, как изготовите печатную плату, припаяйте к ней все компоненты.

Обязательно установите выключатель между источником питания и разъемом питания. Используйте относительно толстые провода для соединений источника питания с печатной платой и выходного разъема со стоком MOSFET транзистора (точка H на плате) и земли на печатной плате. Для подключения потенциометра подключите 1-ый контакт к линии +5В, 2-ой - к точке POT, и 3-ий - к земле. Обратите внимание, что я использую светодиодный индикатор с общим анодом, что может отличаться от того, что у вас. Вам придется немного изменить код, но все инструкции в коде программы прокомментированы. Подключите выводы E1-E3 к общим анодам/катодам, а выводы a-dp к соответствующим выводам вашего индикатора. Для более подробной информации смотрите техническое описание на него. И наконец, установите выходной разъем паяльной станции и припаяйте к нему все соединения. Вам должна помочь картинка, приведенная выше, со схемой и цоколевкой разъема.

Теперь начинается интересное, загрузка кода. Для этого вам понадобится PID библиотека (ссылка на GitHub).

#include // Этот массив содержит сегменты, которые необходимо зажечь для отображения на индикаторе цифр 0-9 byte const digits = { B00111111, B00000110, B01011011, B01001111, B01100110, B01101101, B01111101, B00000111, B01111111, B01101111 }; int digit_common_pins = {A3, A4, A5}; // Общие выводы для тройного 7-сегментного светодиодного индикатора int max_digits = 3; int current_digit = max_digits - 1; unsigned long updaterate = 500; // Изменяет, как часто обновляется индикатор. Не ниже 500 unsigned long lastupdate; int temperature = 0; // Определяет переменные, к которым мы подключаемся double Setpoint, Input, Output; // Определяет агрессивные и консервативные параметры настройки double aggKp = 4, aggKi = 0.2, aggKd = 1; double consKp = 1, consKi = 0.05, consKd = 0.25; // Задать ссылки и начальные параметры настройки PID myPID(&Input, &Output, &Setpoint, consKp, consKi, consKd, DIRECT); void setup() { DDRD = B11111111; // установить выводы Arduino с 0 по 7 как выходы for (int y = 0; y < max_digits; y++) { pinMode(digit_common_pins[y], OUTPUT); } // Мы не хотим разогревать паяльник на 100%, т.к. это может сжечь его, поэтому устанавливаем максимум на 85% (220/255) myPID.SetOutputLimits(0, 220); myPID.SetMode(AUTOMATIC); lastupdate = millis(); Setpoint = 0; } void loop() { // Прочитать температуру Input = analogRead(0); // Преобразовать 10-битное число в градусы Цельсия Input = map(Input, 0, 450, 25, 350); // Отобразить температуру if (millis() - lastupdate > updaterate) { lastupdate = millis(); temperature = Input; } // Прочитать установленное значение и преобразовать его в градусы Цельсия (минимум 150, максимум 350) double newSetpoint = analogRead(1); newSetpoint = map(newSetpoint, 0, 1023, 150, 350); // Отобразить установленное значение if (abs(newSetpoint - Setpoint) > 3) { Setpoint = newSetpoint; temperature = newSetpoint; lastupdate = millis(); } double gap = abs(Setpoint - Input); // Расстояние от установленного значения if (gap < 10) { // мы близко к установленному значению, используем консервативные параметры настройки myPID.SetTunings(consKp, consKi, consKd); } else { // мы далеко от установленного значения, используем агрессивные параметры настройки myPID.SetTunings(aggKp, aggKi, aggKd); } myPID.Compute(); // Управлять выходом analogWrite(11, Output); // Отобразить температуру show(temperature); } void show(int value) { int digits_array = {}; boolean empty_most_significant = true; for (int z = max_digits - 1; z >= 0; z--) // Цикл по всем цифрам { digits_array[z] = value / pow(10, z); // Теперь берем каждую цифру из числа if (digits_array[z] != 0) empty_most_significant = false; // Не отображать впереди стоящие нули value = value - digits_array[z] * pow(10, z); if (z == current_digit) { if (!empty_most_significant || z == 0) // Проверить, что это у нас не ведущий ноль, и отобразить текущую цифру { PORTD = ~digits]; // Удалить ~ для общего катода } else { PORTD = B11111111; } digitalWrite(digit_common_pins[z], HIGH);// Изменить на LOW для общего катода } else { digitalWrite(digit_common_pins[z], LOW); // Изменить на HIGH для общего катода } } current_digit--; if (current_digit < 0) { current_digit = max_digits; // Начать сначала } }

Если у вас есть программатор AVR ISP, вы знаете, что нужно делать. Подключите контакты +5V, GND, MISO, MOSI, SCK и RESET, скачайте скетч Arduino, откройте его (вам понадобится установленная на компьютере Arduino IDE) и нажмите «Загрузить».

Если у вас нет программатора, то можете использовать Arduino. Подключите свою плату Arduino (Uno/Nano) к компьютеру, перейдите в меню Файл → Примеры → ArduioISP и загрузите его. Затем перейдите в Инструменты → Программатор → Arduino as ISP . Подключите свою плату к плате Arduino, скачайте скетч, а затем выберите Скетч → Загрузить через программатор.

Вот и всё. Теперь вы можете наслаждаться работой паяльной станцией, собранной собственными руками.

Калибровка

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

Во-первых, нам нужен цифровой мультиметр с термопарой для измерения температуры жала паяльника. После того, как вы измерили температуру, вам необходимо изменить значение по умолчанию " 510 " в строке кода map(Input, 0, 510, 25, 350) , используя следующую формулу:

где TempRead - это температура, которая отображается на вашем цифровом термометре, а TempSet - это температура, которую вы установили на паяльной станции. Это всего лишь приблизительная настройка, но ее должно хватить, ведь вам не нужна при пайке предельная точность. Я использовал градусы Цельсия, но вы можете изменить их в коде на Фаренгейты.

Печать корпуса на 3D принтере (необязательно)

Я разработал и напечатал корпус, в который можно было бы установить импульсный источник питания и печатную плату, чтобы всё выглядело аккуратно. К сожалению, для использования этого корпуса вам необходимо будет найти точно такой же тип источника питания. Если у вас есть подходящий источник, и вы хотите напечатать корпус, или если вы хотите изменить его под свои требования, то можете скачать приложенные файлы. Я печатал с заполнением 20% и толщиной слоя 0,3. Вы можете использовать более высокий уровень заполнения и меньшую высоту слоя, если у вас есть время и терпение.

Заключение

Вот и всё! Надеюсь статья оказалась полезной. Ниже приведены все необходимые материалы.