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

Как измерить ток: шунт, усилитель и датчик Холла

Ток измеряют тремя способами: по падению напряжения на шунте, по магнитному полю датчиком Холла и трансформатором тока. Здесь — как устроен каждый, где ставить шунт, чего ждать от усилителя и от ACS712 по точности и шуму и как выбрать способ под задачу.

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

Микроконтроллер измеряет напряжение, а не ток, поэтому ток сначала превращают в напряжение. Способов три: шунт — резистор малого сопротивления, на котором ток создаёт падение напряжения; датчик Холла — микросхема, которая чувствует магнитное поле проводника с током; трансформатор тока — для переменного тока. Они различаются точностью, потерями и тем, есть ли гальваническая развязка между силовой цепью и схемой измерения.

СпособТокРазвязкаПотери в силовой цепиНа что смотреть
Шунт и усилительпостоянный и переменныйнетI²R на шунтесмещение усилителя на малых токах, допуск и ТКС шунта
Датчик Холла (ACS712)постоянный и переменныйесть, 2,4 кВ1,2 мОм внутреннего проводникашум и смещение нуля, питание 5 В
Трансформатор токатолько переменныйестьмалыечастота, нагрузочный резистор

Шунт

Напряжение на шунте и мощность на нём — закон Ома:

Uш=I⋅Rш,P=I2RшU_ш = I \cdot R_ш, \qquad P = I^2 R_ш

Чем больше сопротивление, тем больше сигнал и меньше влияние смещения усилителя, но тем сильнее шунт греется и тем больше напряжения отнимает у нагрузки. Поэтому сопротивление сначала ограничивают по мощности: R ≤ Pmax / Imax² (DS13237, п. 6.4). Ток 4 А на шунте 10 мОм даёт 40 мВ и 0,16 Вт.

Где ставить. Шунт в минусе (low-side) соединён одним концом с землёй: его напряжение можно подать на обычный ОУ или прямо на АЦП. Но земля нагрузки при этом приподнята на падение на шунте, и ток утечки нагрузки на корпус в обход шунта не виден. Шунт в плюсе (high-side) видит весь ток, однако оба его вывода находятся под напряжением питания нагрузки — нужен усилитель, который выделяет десятки милливольт на фоне синфазного напряжения: у TSC213 оно допустимо от −0,3 до 26 В при любом своём питании, у TSC2010 — от −20 до 70 В (DS13237, DS13057).

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

Uвых=G⋅Rш⋅I+UrefU_{вых} = G \cdot R_ш \cdot I + U_{ref}

С Uref = 0 ток измеряется в одну сторону, с Uref в середине питания — в обе (DS13237, п. 6.3). Ошибки бывают двух видов: смещения — постоянные в вольтах (напряжение смещения усилителя, его дрейф, термо-ЭДС на выводах шунта, влияние синфазного напряжения), их доля растёт на малых токах; и усиления — постоянная доля показания (ошибка коэффициента усиления, допуск и ТКС шунта). В примере ST AN5849 (TSC213, 10 мОм, 2 А, 125 °C) наихудшая погрешность — 3,7 %, по корню из суммы квадратов — около 1,6 %, а на 100 мА наихудшая оценка превышает 20 %. Свой случай считает калькулятор токового шунта: мощность, выход усилителя, ток на код АЦП и каждую составляющую погрешности.

Датчик Холла ACS712

В ACS712 измеряемый ток проходит по медной дорожке внутри корпуса SOIC-8 (выводы 1–2 и 3–4), а рядом с ней на кристалле стоит датчик Холла: он превращает магнитное поле тока в напряжение. Силовая цепь изолирована от выводов 5–8 — питания и выхода — не менее чем на 2,4 кВ (действующее значение), а сопротивление дорожки — 1,2 мОм (даташит ACS712, Rev. 22).

Датчик питается от 5 В. При нулевом токе на выходе половина питания, VCC × 0,5, при прямом токе выход растёт, при обратном — падает:

ИсполнениеДиапазонЧувствительностьШум, размахШаг 10-битного АЦП на 5 В
ACS712ELCTR-05B±5 А185 мВ/А (180–190)21 мВ26 мА
ACS712ELCTR-20A±20 А100 мВ/А (96–104)11 мВ49 мА
ACS712ELCTR-30A±30 А66 мВ/А (63–69)7 мВ74 мА

Шум указан при 25 °C с конденсатором 47 нФ на выводе FILTER, то есть в полосе 2 кГц; суммарная погрешность на полном токе при 25 °C — ±1,5 %. Полоса самого датчика — 80 кГц; конденсатор на выводе FILTER сужает её и снижает шум (даташит, характеристики x05B, x20A, x30A).

Две практические особенности:

  • Шум около 0,1 А. В пересчёте на ток размах шума у всех трёх исполнений примерно одинаков: 21 / 185 ≈ 0,11 А, 11 / 100 ≈ 0,11 А, 7 / 66 ≈ 0,11 А. Токи меньше нескольких сотен миллиампер ACS712 измеряет грубо.
  • Логометрический выход. Ноль и чувствительность пропорциональны питанию. Если АЦП берёт опорное напряжение от того же питания 5 В, его колебания в основном сокращаются; с отдельным опорным источником их придётся учитывать.

Трансформатор тока

Для переменного тока — например, в сети 230 В — применяют трансформатор тока: провод с измеряемым током проходит через магнитопровод как первичная обмотка, а вторичная с N витками даёт ток в N раз меньше. Его превращают в напряжение нагрузочным резистором и подают на АЦП со смещением на середину шкалы. Трансформатор сам даёт гальваническую развязку, почти не вносит потерь, но постоянный ток не измеряет. Вторичную обмотку нельзя оставлять разомкнутой при токе в первичной: напряжение на ней становится опасно высоким — нагрузочный резистор должен быть подключён всегда.

Как выбрать

  1. Постоянный ток, нужна точность на малых токах, общая земля допустима — шунт с усилителем; в цепи питания выше нескольких вольт — high-side усилитель с подходящим синфазным диапазоном.
  2. Нужна развязка от силовой цепи, токи от ампера и выше — датчик Холла.
  3. Переменный ток сети — трансформатор тока или датчик Холла с изоляцией на нужное напряжение.

Шаг АЦП в пересчёте на ток всегда равен шагу напряжения, делённому на чувствительность всей цепочки (G · R для шунта с усилителем, мВ/А для датчика Холла); у АЦП ATmega328P с опорным 5 В шаг — 5 / 1024 ≈ 4,9 мВ (даташит ATmega328P, п. 24.7).

Частые вопросы

Как подключить ACS712 к Arduino?

Питание датчика — 5 В, выход — на аналоговый вход, измеряемый ток — через выводы 1–2 и 3–4. При нуле ампер на выходе половина питания, около 2,5 В, то есть примерно 512 по шкале 10-битного АЦП. Ток считают как (U − 2,5 В) / чувствительность: 0,185 В/А у ACS712-05B, 0,100 В/А у 20A, 0,066 В/А у 30A. Опорным напряжением АЦП лучше оставить питание 5 В: ноль и чувствительность ACS712 пропорциональны питанию, и колебания питания тогда в основном сокращаются.

Куда ставить шунт — в плюс или в минус?

В минус (low-side) проще: напряжение на шунте отсчитывается почти от земли, хватит обычного ОУ или АЦП. Зато «земля» нагрузки приподнимается на падение на шунте, а замыкание нагрузки на корпус шунт не увидит. В плюс (high-side) шунт видит весь ток, но стоит под напряжением питания, и нужен усилитель с широким синфазным диапазоном — например, TSC213 работает при синфазном напряжении от −0,3 до 26 В, TSC2010 — от −20 до 70 В.

Почему ACS712 плохо меряет малые токи?

Из-за шума. По даташиту размах шума на выходе — 21 мВ у исполнения на 5 А, 11 мВ на 20 А и 7 мВ на 30 А при полосе 2 кГц; в пересчёте на ток это около 0,1 А размаха у всех трёх. Шаг 10-битного АЦП на 5 В — 4,9 мВ, или 26 мА для ACS712-05B. Токи в десятки миллиампер такой датчик не различит; для них нужен шунт с усилителем.

Какую точность даёт шунт с усилителем?

Она складывается из ошибок усилителя и шунта. В примере ST AN5849 — усилитель TSC213, шунт 10 мОм с допуском 0,5 %, ток 2 А при 125 °C — наихудшая погрешность 3,7 %, а корень из суммы квадратов около 1,6 %. На малых токах растёт вклад смещения усилителя: при 100 мА наихудшая оценка превышает 20 %. Посчитать свой случай можно в калькуляторе токового шунта.

Источники

  1. STMicroelectronics. AN5849: Expected output error for a current sensing amplifier, Rev 1, 2022 — ошибки смещения и усиления, наихудший случай и RSS; пример: TSC213, шунт 10 мОм, 2 А, 125 °C
  2. STMicroelectronics. TSC210, TSC211, TSC212, TSC213, TSC214, TSC215 (DS13237), Rev 7, 2025 — синфазное напряжение −0,3…26 В, параметры усилителей, разд. 6.3 (однонаправленное и двунаправленное включение), 6.4 (выбор шунта по мощности)
  3. STMicroelectronics. TSC2010, TSC2011, TSC2012 (DS13057), Rev 8 — синфазное напряжение −20…70 В
  4. Allegro MicroSystems. ACS712: Fully Integrated, Hall-Effect-Based Linear Current Sensor IC (ACS712-DS, Rev. 22), 2024 — исполнения и чувствительность, электрические характеристики (VIOUT(Q) = VCC × 0,5, полоса 80 кГц, 1,2 мОм, изоляция 2,4 кВ), характеристики x05B, x20A, x30A (шум, суммарная погрешность), раздел о логометричности
  5. Microchip. ATmega48A/PA/88A/PA/168A/PA/328/P Data Sheet (DS40002061B), 2020 — п. 24.7 — код АЦП: 0x3FF соответствует опорному напряжению минус один младший разряд

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