🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


🧊 Проект: простое включение/выключение модуля Пельтье через реле без ШИМ

В другом проекте на сайте мощность модуля Пельтье плавно регулируется через ШИМ на MOSFET-модуле. Здесь — упрощённый подход: обычное реле полностью включает или полностью выключает модуль, без промежуточных уровней мощности, по показаниям датчика температуры — проще собрать, но грубее в управлении.

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

Принцип действия самого элемента Пельтье такой же, как и в проекте с ШИМ — ток через термопары переносит тепло с одной стороны на другую. Разница — в способе управления мощностью: вместо ШИМ-сигнала, который можно плавно менять от 0 до 100%, здесь реле — это просто механический выключатель на два положения, "вкл" или "выкл", без промежуточных значений. Это заметно проще по проводке и не требует MOSFET-модуля, но отдаёт на элемент либо полную мощность, либо вообще ничего.

Поэтому регулировка температуры здесь происходит не плавным изменением мощности (как это было бы с ШИМ), а циклами полного включения и полного выключения с гистерезисом — таким же приёмом, что и в термостате на LM75: включаем на полную мощность при превышении порога, выключаем полностью при достижении нижнего порога, и так по кругу.

Пошаговая сборка

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

  1. Элемент Пельтье обязательно установите на радиатор с горячей стороны (желателен обдув) — без отвода тепла элемент может выйти из строя.
  2. Модуль реле: сигнальный вход → D2, VCC → 5V, GND → GND.
  3. Силовую цепь элемента Пельтье подключайте через силовые контакты реле от отдельного источника питания достаточной мощности, не от самого Arduino.
  4. Датчик температуры (например, DS18B20 из другого проекта на сайте) разместите на охлаждаемой стороне для контроля реальной температуры объекта, а не самого элемента.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему. Пример ниже использует
// условное значение температуры вместо реального датчика — подключите
// свой датчик (например, DS18B20) и замените getTemperature() на реальное чтение.

const int RELAY_PIN = 2;

const float TEMP_ON = 10.0;  // включаем охлаждение выше этой температуры
const float TEMP_OFF = 5.0;  // выключаем ниже этой — гистерезис 5 градусов

bool peltierOn = false;

float getTemperature() {
  // ЗАМЕНИТЕ на реальное чтение вашего датчика температуры, например DS18B20
  return 8.0; // временная заглушка для примера
}

void setup() {
  Serial.begin(9600);
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, LOW);
}

void loop() {
  float temp = getTemperature();

  if (!peltierOn && temp > TEMP_ON) {
    peltierOn = true;
    digitalWrite(RELAY_PIN, HIGH);
    Serial.println("Пельтье включен (полная мощность)");
  } else if (peltierOn && temp < TEMP_OFF) {
    peltierOn = false;
    digitalWrite(RELAY_PIN, LOW);
    Serial.println("Пельтье выключен");
  }

  delay(2000);
}

Дополнительных библиотек не требуется для самой логики реле — только `digitalWrite()`. Подключите реальный датчик температуры по инструкции из соответствующего проекта на сайте и замените заглушку `getTemperature()` на настоящее чтение.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 📡 удалённый монитор климата теплицы на HTU21…🔊 парковочный сигнал с учащением сигнала на … →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 382 ₽ 344 ₽ (экономия 38 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA