Каталог товаров
Клиенту
Тема сайта:
+38 (066) 305-77-25
Наш адрес
Харьков, времено - только доставка Новой Почтой, УкрПочтой, МистЕкспрес, ROZETKA Delivery
Телефоны:
Время работы
  • Пн-Пт: с 9 до 18
  • Сб.: с 10 до 17
  • Вс: с 11 до 16
E-mail
Мы в соцсетях
Перейти в контакты
0 0
Каталог
Главная
Закладки
0
Сравнить
0
Контакты

Безопасная пайка

Чи була корисною ця стаття?
Безопасная пайка

Безопасная пайка

Безопасная пайка - основное изображение

Введение

Начну с того, что: а вы знали, что есть техника безопасности при пайке паяльником? Она действительно существует, и написана не просто так. Помимо забавных строк вроде «не хвататься за жало, потому что оно горячее», есть и очень дельные, например: не следует паять более 1 часа без перерыва, нужна пауза. И нужно делать перерывы каждые час хотя бы на 5 минут.

Это полезно и для спины, и для глаз (на которые летит дым канифольного флюса), и даже для жала паяльника, например TS101, SH72 и так далее, всех модных новых паяльников, которые питаются от постоянного напряжения.

Так вот, все эти сменные жала имеют свой ресурс, и цена у них не очень маленькая. И еще, случалось ли у вас такое: когда вы паяете, вас позвали (или телефон зазвонил) срочно, прямо миссия №1, и вы все бросили и побежали куда-то, а то, что у вас паяльник работает, вы вспоминаете в лучшем случае через 2 часа? Уверен, было! А это еще и пожарная опасность.

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

Что нужно сделать?

  • Не работать более 1 часа без перерыва
  • Вытягивать дым при пайке (об этом будет следующая статья)
  • Беречь ресурс жала
  • Контролировать время работы паяльника и вытяжки

Необходимые материалы

1
Arduino Nano — код товара 1252
2
OLED-дисплей 0,91 (I2C) — код товара 1232
3
DC-DC понижающий — код товара 1618
4
Кнопка 2 шт., например — код товара 1450
5
Реле — код товара 1338

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

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

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

Поэтому у меня стоит высокотоковый блок питания на 24 В, и от него разъемы для подключения чего угодно. Так как я сделал себе вытяжку для пайки, нужно синхронизировать работу вытяжки и паяльника, поэтому сделал 2 выхода для подключения.

Это в случае, если ваш паяльник питается от постоянного напряжения. Если остались еще люди, которые паяют паяльниками от 220 В, то нужно немного переделать схему, вместо понижающего преобразователя поставить блок питания на 5 В, а вместо входа 24 В подавать 220 В.

Скетч

#include 
#include 
#include 

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
#define OLED_RESET    -1
#define SCREEN_ADDRESS 0x3C

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

#define RELAY_PIN 4      // Пин для реле
#define ADD_TIME_BTN 5   // Кнопка добавления времени
#define SUB_TIME_BTN 6   // Кнопка вычитания времени

#define MAX_TIMER_DURATION 3600000  // Максимальная длительность таймера (1 час)
#define addTime 600000              // Добавление времени (10 минут)
#define subtractTime 300000         // Вычитание времени (5 минут)

unsigned long timerDuration = 150000;  // Начальная длительность (2:30)
unsigned long startTime;
bool timerRunning = false;

void setup() {
  pinMode(RELAY_PIN, OUTPUT);
  pinMode(ADD_TIME_BTN, INPUT_PULLUP);
  pinMode(SUB_TIME_BTN, INPUT_PULLUP);
  
  digitalWrite(RELAY_PIN, HIGH);  // Изначально выключено
  
  Serial.begin(9600);
  
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Не продолжаем, если дисплей не инициализировался
  }
  
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println("Ready to solder!");
  display.display();
  
  delay(2000);
  
  startTimer();
}

void loop() {
  // Проверка кнопок
  if (digitalRead(ADD_TIME_BTN) == LOW) {
    if (timerDuration < MAX_TIMER_DURATION) {
      timerDuration += addTime;
      if (timerDuration > MAX_TIMER_DURATION) {
        timerDuration = MAX_TIMER_DURATION;
      }
    }
    delay(200); // Дебаунсинг
  }
  
  if (digitalRead(SUB_TIME_BTN) == LOW) {
    if (timerDuration > subtractTime) {
      timerDuration -= subtractTime;
    }
    delay(200); // Дебаунсинг
  }
  
  // Проверка таймера
  if (timerRunning) {
    unsigned long elapsedTime = millis() - startTime;
    
    if (elapsedTime >= timerDuration) {
      // Таймер закончился
      timerRunning = false;
      digitalWrite(RELAY_PIN, LOW);
      displayTimeUp();
    } else {
      // Обновление дисплея
      updateDisplay(timerDuration - elapsedTime);
    }
  }
}

void startTimer() {
  startTime = millis();
  timerRunning = true;
  digitalWrite(RELAY_PIN, HIGH);
}

void updateDisplay(unsigned long remainingTime) {
  display.clearDisplay();
  
  // Показать остаток времени
  int minutes = remainingTime / 60000;
  int seconds = (remainingTime % 60000) / 1000;
  
  display.setTextSize(1);
  display.setCursor(0, 0);
  display.print("Time left: ");
  display.print(minutes);
  display.print(":");
  if (seconds < 10) display.print("0");
  display.println(seconds);
  
  // Анимация паяльника
  static int frame = 0;
  frame = (frame + 1) % 4;
  
  display.setCursor(0, 16);
  display.print("Soldering");
  for (int i = 0; i < frame; i++) {
    display.print(".");
  }
  
  // Анимация вытяжки
  display.setCursor(70, 16);
  display.print("Fan: ON");
  
  display.display();
}

void displayTimeUp() {
  display.clearDisplay();
  display.setTextSize(2);
  display.setCursor(20, 8);
  display.println("TIME!");
  display.display();
}
        

В коде можно изменить начальное значение после включения, у меня это 2 минуты 30 секунд. Это настройка задается timerDuration. Кнопка на пине 5 добавляет 10 минут addTime.

Кнопка на пине 6 вычитает 5 минут subtractTime. Ну и максимально можно установить время 1 час MAX_TIMER_DURATION, потом перерыв, и можно снова запускать.

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

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

1

Подготовка компонентов — Убедитесь, что у вас есть все необходимые компоненты: Arduino Nano, OLED-дисплей 0.91" (I2C), понижающий DC-DC преобразователь, 2 кнопки и реле.

2

Подключение дисплея — Подключите OLED-дисплей к Arduino Nano:
• VCC дисплея → 5V Arduino
• GND дисплея → GND Arduino
• SCL дисплея → A5 Arduino
• SDA дисплея → A4 Arduino

3

Подключение кнопок — Подключите кнопки к Arduino:
• Одна ножка первой кнопки → пин 5
• Одна ножка второй кнопки → пин 6
• Другие ножки обеих кнопок → GND

В скетче кнопка на пине 5 добавляет 10 минут к таймеру, а кнопка на пине 6 вычитает 5 минут.
4

Подключение реле — Подключите реле к Arduino:
• VCC реле → 5V Arduino
• GND реле → GND Arduino
• IN реле → пин 4 Arduino

Силовые контакты реле подключите так: COM и NO в разрыв питания паяльника и вытяжки. В начальном положении реле должно быть активировано (НО = нормально открытое).
5

Подключение DC-DC преобразователя — Настройте DC-DC преобразователь:
• Вход: 24В от вашего блока питания
• Выход: настройте на 5В для питания Arduino
• Подсоедините выход преобразователя к Vin и GND Arduino

6

Установка библиотек — Установите необходимые библиотеки в Arduino IDE:
• Wire.h (стандартная библиотека)
• Adafruit_GFX.h (через менеджер библиотек)
• Adafruit_SSD1306.h (через менеджер библиотек)

7

Настройка скетча — Откройте скетч в Arduino IDE и настройте параметры:
• timerDuration = 150000; — начальное время работы (2:30)
• addTime = 600000; — добавляем 10 минут при нажатии кнопки
• subtractTime = 300000; — вычитаем 5 минут при нажатии кнопки
• MAX_TIMER_DURATION = 3600000; — максимальное время работы (1 час)

Все значения времени указаны в миллисекундах. Вы можете изменить их в соответствии с вашими потребностями.
8

Загрузка скетча — Загрузите скетч на Arduino Nano:
• Подключите Arduino к компьютеру
• Выберите правильную плату и порт в Arduino IDE
• Нажмите "Загрузить"

9

Тестирование — Проверьте работу устройства:
• После загрузки скетча и подачи питания на дисплее должно появиться приветствие "Ready to solder!"
• Через 2 секунды таймер начнет отсчет
• Проверьте работу кнопок добавления и вычитания времени
• Проверьте срабатывание реле после окончания отсчета

10

Финальная сборка — Закрепите компоненты в корпусе:
• Разместите все компоненты в корпусе (можно использовать коробку от любого устройства)
• Выведите дисплей и кнопки на переднюю панель
• Обеспечьте надежное соединение всех компонентов
• Зафиксируйте провода, чтобы предотвратить их случайное отсоединение

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

Логика работы устройства

Разберем основную логику работы таймера для безопасной пайки согласно скетчу:

  • Инициализация: При запуске Arduino происходит настройка пинов, инициализация дисплея и показ приветствия "Ready to solder!" на 2 секунды.
  • Запуск таймера: После инициализации автоматически запускается таймер с начальным значением timerDuration (2 минуты 30 секунд).
  • Управление реле: При запуске таймера реле активируется (HIGH), включая паяльник и вытяжку.
  • Отображение информации: На дисплее показывается остаток времени в формате "минуты:секунды", а также анимация работы паяльника и вытяжки.
  • Управление временем: Кнопкой на пине 5 можно добавить 10 минут к текущему отсчету, но не более MAX_TIMER_DURATION (1 час).
  • Уменьшение времени: Кнопкой на пине 6 можно уменьшить время на 5 минут, но не менее чем subtractTime.
  • Завершение отсчета: Когда время заканчивается, реле деактивируется (LOW), выключая паяльник и вытяжку, а на дисплее появляется надпись "TIME!".
  • Перезапуск: Для перезапуска таймера после его завершения необходимо перезагрузить Arduino (отключить и подключить питание).
В функции loop() постоянно проверяется состояние кнопок и оставшееся время. Если нажата кнопка, время добавляется или вычитается. Если время истекло, реле выключается.
Вы можете модифицировать скетч, чтобы добавить звуковое уведомление о завершении времени, подключив пищалку к одному из свободных пинов Arduino.

Практическая реализация

После того как скачали все библиотеки для дисплея, собрали все по схеме, на практике это выглядит так:

Практическая реализация

Это пока недоделанная версия, собрано на скорую руку для испытания. После сборки и успешной прошивки на дисплее должны увидеть следующее:

Дисплей устройства

А также на дисплее добавил анимацию, что паяльник греется, а вытяжка крутится. И время, которое осталось до отключения реле, если нужно добавить время, то зажимаем кнопку, и время добавляется, если другую кнопку, то вычитается время. Когда время закончится, реле выключается, и на дисплее будет написано TIME!.

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

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

Желаю и вам сделать безопасную пайку вместе с myproject.com.ua. А также следите в Telegram-канале за анонсами новых публикаций.

Автор: Ardu_miha

© 2025 Мій Проект. Автор: Ardu_miha. Использование материалов разрешено только с ссылкой на источник.

Рекомендуемые товары
Похожие статьи
Світлодіоди: Історія винаходу, що змінив світ
Світлодіоди: Історія винаходу, що змінив світ
Блог, Интересное и Полезное
29 ноября 2024
DIY POWER BANK 2025
DIY POWER BANK 2025
Блог, Интересное и Полезное
10 января
Приготування шашлика з Ардуіно та друзями
Приготування шашлика з Ардуіно та друзями
Блог, Интересное и Полезное
16 февраля
Операция "Неприступный Шкаф"
Операция "Неприступный Шкаф"
Блог, Инструкции Подключения и Обзоры, Интересное и Полезное
06 апреля