Захист входів та аналогових сигналів: як не спалити Arduino та ESP32 і отримати стабільні вимірювання

Якщо GPIO найчастіше виходять з ладу через перевищення струму, то аналогові входи страждають від перенапруги, імпульсних викидів та перешкод.

У цій статті розберемо прості та ефективні способи захисту аналогових входів Arduino та ESP32, які підходять як для початківців, так і для реальних інженерних проєктів.

Мета: щоб вхід не згорів при помилці підключення, а вимірювання були стабільними та точними.


Чому виходять з ладу аналогові входи?

  • Переполюсування
  • Подача 12V/24V на вхід 3.3V або 5V
  • Індуктивні викиди від реле та двигунів
  • Статична електрика (ESD)
  • Довгі дроти без захисту
  • Відсутність правильної землі (GND)

Найчастіше проблема — це короткочасний імпульс або помилка підключення, яка перевищує допустимий рівень напруги.


Базовий принцип захисту

Є три головні інструменти захисту:

  • Обмеження струму (послідовний резистор)
  • Обмеження напруги (діоди або TVS)
  • Фільтрація перешкод (RC-фільтр)

У 80% випадків цього достатньо, щоб вхід працював роками без проблем.


1 Послідовний резистор — найпростіший захист

Резистор 1–10 кОм перед входом:

  • Обмежує струм при помилці
  • Захищає внутрішні діоди мікроконтролера
  • Зменшує імпульсні викиди

Формула:

I ≈ (Vin − Vclamp) / R

Чим більший R — тим менший струм у аварійному режимі.


2 Захист діодами

Защита входа микроконтроллера диодами к питанию и земле

Класична схема: два діоди від входу до живлення та до землі.

  • Якщо напруга перевищує Vcc — спрацьовує верхній діод
  • Якщо напруга нижча за GND — спрацьовує нижній діод

Обов’язково разом із послідовним резистором.


3 TVS-діод — для довгих проводів і вулиці

TVS-діод швидко «гасить» імпульсні викиди та статичну електрику.

Особливо рекомендується для:

  • Датчиків на довгих кабелях
  • Вуличних пристроїв
  • Промислових середовищ

4 RC-фільтр — стабільні вимірювання

RC фільтр для захисту аналогового входу Arduino

Схема: резистор послідовно + конденсатор на землю.

Частота зрізу:

fc ≈ 1 / (2πRC)

Приклад:

  • R = 4.7 кОм
  • C = 0.1 мкФ

Це значно зменшує «тремтіння» сигналу.


5 Дільник напруги (0–10V → 3.3V або 5V)

Дільник напруги для підключення 0-10V до Arduino або ESP32

Формула:

Vout = Vin × R2 / (R1 + R2)

Для ESP32 (3.3V) обов’язково зменшити 10V до безпечного рівня.

Рекомендація: додати конденсатор на нижній резистор для фільтрації.


6 Вимірювання 4–20 мА

Токовий сигнал перетворюється у напругу через шунт:

V = I × R

Наприклад, 120 Ом → 2.4V при 20 мА.

Обов’язково використовуйте:

  • Послідовний резистор
  • TVS або діоди
  • Фільтр

Практичний мінімальний рецепт захисту

  • Rseries = 1–4.7 кОм
  • C = 10–100 нФ
  • TVS або діоди зажиму

Це простий набір, який реально рятує плати.


Чек-лист перед увімкненням

  • Яка максимальна можлива напруга?
  • Чи обмежений струм?
  • Чи є захист від імпульсів?
  • Чи є фільтрація?
  • Чи правильна земля?

Висновок

Захист входів — це нормальна інженерна практика. Мінімальна схема захисту коштує копійки, але може врятувати мікроконтролер і весь проєкт.

Якщо ви створюєте пристрій для реальної експлуатації — закладайте захист на етапі схеми.

Я займаюся розробкою та проєктуванням плат з урахуванням захисту, стабільності та довготривалої роботи. Якщо вам потрібне надійне рішення — краще зробити це правильно одразу.


FAQ

Чи потрібен послідовний резистор на аналоговому вході?

Так. Він обмежує струм при аварії та зменшує імпульсні перешкоди.

Чи можна підключати 0–10V безпосередньо до ESP32?

Ні. Потрібен дільник напруги до 3.3V та бажано захист.

Що краще для довгих проводів — діоди чи TVS?

TVS краще захищає від імпульсів та статичної електрики.

Навіщо потрібен конденсатор на вході?

Для стабілізації сигналу та зменшення шуму.

Як вимірювати 4–20 мА?

Через шунтовий резистор та із захистом входу.

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Шилд 2 реле для Arduino NANO

Шилд 2 реле для Arduino NANO

Шилд для проектів з двома електромеханічними реле під контролер Arduino NANO. Полегшує монтаж та заб..

257.82грн.

Arduino SIM800 вихідний дзвінок ATD

Arduino SIM800 вихідний дзвінок ATD

Привіт друзі! Це продовження серії відео про роботу з SIM800. Усіх їх можна знайти на цьому каналі. ..

Цифровий датчик температури DS18B20

Цифровий датчик температури DS18B20

Напруга живлення 3 ... 5,5 ВРобоча температура -55 ... +125 °CТочність ±0,5 °C забезп..

25.83грн.

Модуль розширення входів-виходів 4 реле та 4 DI I2C

Модуль розширення входів-виходів 4 реле та 4 DI I2C

Цікавий модуль розширення 4-х входів та 4 релейних виходів з комунікацією I2C на основі мікросхеми M..

475.88грн.

Муфта на кроковий двигун 5x5x25мм

Муфта на кроковий двигун 5x5x25мм

Ця муфта слугує перехідником між валами 5 мм та 5 мм. Тобто містить з обох боків отвір діаметром 5 м..

60.04грн.