Перейти к содержанию

Как подключить датчик 0–10 В к Arduino?

Обновлено Редакция GAW

Аналоговый вход Arduino UNO измеряет напряжение от 0 до опорного — по умолчанию до 5 В, а предел для вывода — VCC + 0,5 В (DS40002061B). Сигнал 0–10 В нужно уменьшить делителем напряжения.

Делитель (верхний / нижний)Коэффициент10 В на входе АЦПНасыщение приСопротивление для АЦП
10 кОм / 10 кОм0,5005,00 В10,0 В5,0 кОм
12 кОм / 10 кОм0,4554,55 В11,0 В5,5 кОм
15 кОм / 10 кОм0,4004,00 В12,5 В6,0 кОм

Расчёт в таблице наш: k = R2/(R1 + R2), сопротивление для АЦП — R1 ∥ R2. Microchip рекомендует подавать на АЦП сигнал с выходным сопротивлением около 10 кОм и меньше (разд. 24.6.1) — все три варианта проходят.

Схема

  1. Выход датчика — через резистор 12 кОм к входу A0. Делитель нагружает датчик сопротивлением 22 кОм; у многих выходов 0–10 В указано минимальное сопротивление нагрузки в единицы кОм — сверьтесь с даташитом датчика.
  2. От A0 к GND — резистор 10 кОм.
  3. Общий провод датчика — к GND Arduino.
  4. Код пересчитывают в напряжение датчика: U = N · Uоп/1024/k.

Наш расчёт. С делителем 12 и 10 кОм один отсчёт АЦП при опорном 5 В — 5 / 1024 / 0,455 ≈ 10,7 мВ на входе датчика, 10 В дают код около 931. Резисторы с допуском ±1 % (у Vishay D/CRCW e3 есть ±1 % и ±5 %) дают ошибку коэффициента до (1 − k) · 2 % ≈ 1,1 %. Её убирает калибровка по известному напряжению. Ещё одна ошибка — опорное напряжение: от USB оно может отличаться от 5 В на проценты.

Чем 0–10 В хуже токовой петли

Напряжение падает на проводах и ловит наводки: на длинной линии лучше датчик с выходом 4–20 мА. Как его подключить, рассказано в статье «Токовая петля 4–20 мА».

Подобрать резисторы под другой диапазон поможет калькулятор делителя, защита входа и влияние сопротивления источника разобраны в схеме делителя для АЦП, устройство АЦП — в статье «АЦП».

Похожие вопросы

Почему не делитель 10 кОм и 10 кОм ровно пополам?

Тогда 10 В дадут ровно 5 В — верх шкалы АЦП при опорном 5 В. Многие датчики 0–10 В могут выдать чуть больше 10 В, а опорное напряжение от USB бывает ниже 5 В; без запаса верх шкалы уйдёт в насыщение. Делитель 12 и 10 кОм оставляет запас до 11 В.

Можно ли подключить датчик 0–10 В к ESP32 или STM32 на 3,3 В?

Да, с другим делителем. Наш расчёт: 22 кОм и 6,8 кОм дают коэффициент 0,236 — 10 В превращаются в 2,36 В, а запас остаётся почти до 14 В при опорном 3,3 В. Выходное сопротивление такого делителя — около 5,2 кОм.

Как защитить вход, если на линию датчика попадут 24 В?

Делитель 12 и 10 кОм выдаст из 24 В около 10,9 В — больше допустимых VCC + 0,5 В. Ток через верхний резистор при этом ограничен примерно 1,5 мА — для защитного диода вывода это много, и даташит такой ток не нормирует, поэтому надёжнее добавить диод Шоттки от входа к +5 В или ограничитель напряжения; варианты разобраны в схеме делителя для АЦП.

Источники

  1. Microchip. ATmega48A/PA/88A/PA/168A/PA/328/P Data Sheet, DS40002061B — разд. 24.6.1 — АЦП рассчитан на источник сигнала с выходным сопротивлением около 10 кОм и меньше; табл. 29-15 — входное напряжение от 0 до VREF, входное сопротивление 100 МОм; предельные режимы — напряжение на выводе от −0,5 до VCC + 0,5 В
  2. Vishay. D/CRCW e3 Standard Thick Film Chip Resistors (doc. 20035) — допуски ±5 % и ±1 %, ТКС ±200 и ±100 ppm/K; ряды E24 и E96

Нашли ошибку?