
Интернет-магазин «Неглупый Дом»
В других проектах на сайте мощность модуля Пельтье регулируется через MOSFET-модуль (плавно) или обычное реле (только вкл/выкл). Здесь — промежуточный вариант для случая, когда под рукой нет готового MOSFET-модуля, но есть доступный биполярный транзистор TIP122: он способен и выдерживать нужный ток элемента Пельтье, и переключаться достаточно быстро для ШИМ-регулировки, в отличие от механического реле.
Принцип самого элемента Пельтье такой же, как и в других проектах — ток через термопары переносит тепло с одной стороны на другую. TIP122 — транзистор Дарлингтона, то есть пара транзисторов в одном корпусе, усиливающая слабый ток базы в гораздо больший ток коллектора — точно так же, как он уже использовался в проекте с драйвером электромагнитного реле на сайте, но здесь переключается не катушка реле, а сам силовой элемент, причём именно ШИМ-сигналом, а не просто HIGH/LOW.
В отличие от механического реле (которое физически не способно щёлкать тысячи раз в секунду, нужных для плавного ШИМ), транзистор — чисто электронный переключатель без движущихся частей, способный менять состояние с частотой, задаваемой `analogWrite()`, давая плавную регулировку мощности от 0 до 100%, как в проекте с MOSFET-модулем — просто на другом типе силового элемента.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему. TIP122 рассчитан на
// заметно меньший ток, чем специализированные MOSFET-модули для силовой
// электроники — проверьте реальный ток вашего элемента Пельтье против
// паспортного максимума TIP122 (обычно порядка 5А) с запасом.
const int TRANSISTOR_PIN = 9; // через резистор 1 кОм на базу TIP122
void setup() {
Serial.begin(9600);
pinMode(TRANSISTOR_PIN, OUTPUT);
}
void loop() {
for (int power = 0; power <= 255; power += 5) {
analogWrite(TRANSISTOR_PIN, power);
delay(200);
}
delay(5000);
for (int power = 255; power >= 0; power -= 5) {
analogWrite(TRANSISTOR_PIN, power);
delay(200);
}
delay(5000);
}
Дополнительных библиотек не требуется — только встроенный `analogWrite()`. Резистор между пином Arduino и базой TIP122 обязателен (ограничивает ток базы) — без него транзистор может выйти из строя или работать нестабильно.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 335 ₽ 302 ₽ (экономия 33 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.