Разработка
Когда я разрабатывал эту паяльную станцию, для меня были важны несколько ключевых свойств:
- переносимость – это достигается за счет использования импульсного источника питания, вместо обычного трансформатора и выпрямительного моста;
- простой дизайн – мне не нужны LCD дисплеи, лишние светодиоды и кнопки. Мне нужен был просто светодиодный семисегментный индикатор, чтобы показывать установленную и текущую температуру. Мне также нужна была простая ручка для выбора температуры (потенциометр) без потенциометра для точной подстройки, так как это легко сделать с помощью программного обеспечения;
- универсальность – я использовал стандартную 5-контактную штепсельную вилку (какой-то тип DIN), чтобы она была совместима с паяльниками Hakko и их аналогами.
Как это работает
[u(t)=K_p e(t) K_i int_0^t e(tau)dtau K_d {de(t) over dt}]
Ниже приведена принципиальная схема. Станция использует 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 дисплеем или использовать кнопки, вместо потенциометра, ведь это ваша паяльная станция. Я изложил свой вариант дизайна, но вы можете по-своему.
Калибровка
А нет, еще не всё. Теперь нам нужно откалибровать ее. Так как нагреватели и термопары в паяльниках могут различаться, особенно если вы используете неоригинальный паяльник Hakko, нам нужно откалибровать паяльную станцию.
[newValue = { {TempSet cdot ValueSet} over TempRead }]
где TempRead – это температура, которая отображается на вашем цифровом термометре, а TempSet – это температура, которую вы установили на паяльной станции. Это всего лишь приблизительная настройка, но ее должно хватить, ведь вам не нужна при пайке предельная точность. Я использовал градусы Цельсия, но вы можете изменить их в коде на Фаренгейты.