Методы измерения тока в электронных схемах


В современной схемотехнике задача измерения тока является фундаментальной для обеспечения корректного функционирования многих систем, включая схемы управления электропитанием, мониторинга состояния аккумуляторных батарей, а также, например, цепей защиты электронных узлов от перегрузок. Выбор конкретной методики измерения определяется совокупностью факторов: требуемым диапазоном измеряемых величин, допустимыми потерями мощности, необходимой точностью, а также стоимостью и сложностью реализации.

В качестве базовых методов разберём использование низкоомных шунтирующих резисторов, использование специализированных микросхем, таких как ACS712.



Метод измерения тока с помощью шунтирующего резистора

Метод измерения тока с помощью шунтирующего резистора (шунта) основывается на прямом применении закона Ома. При протекании электрического тока через резистор с известным номиналом возникает падение напряжения, которое прямо пропорционально величине тока. Несмотря на кажущуюся простоту, реализация высокоточного измерительного узла требует учета множества паразитных факторов и тепловых эффектов.

Физические основы и расчетные параметры

Основная концепция заключается в последовательном включении прецизионного низкоомного резистора в разрыв измеряемой цепи. Падение напряжения снимается с выводов резистора и подается на вход измерительного усилителя или аналого-цифрового преобразователя (АЦП).

Выбор номинала шунта представляет собой инженерную оптимизацию: увеличение сопротивления повышает полезный сигнал и помехоустойчивость системы, однако ведет к квадратичному росту рассеиваемой тепловой мощности и падению напряжения на нагрузке. Для минимизации влияния на эффективность системы в высокотоковых приложениях используются шунты с номиналами в диапазоне от единиц микроом до сотен миллиом.

При использовании резисторов с крайне малым сопротивлением (менее 10 мОм) существенное влияние на точность начинают оказывать сопротивления контактов, паяных соединений и дорожек печатной платы. Для исключения этих погрешностей применяется схема Кельвина (четырехточечное подключение), при которой силовые электроды, проводящие основной ток, отделены от измерительных электродов, по которым сигнал передается на вольтметр или усилитель.

Исследования показывают, что сопротивление припоя между контактной площадкой шунта и дорожкой платы может составлять от 10 до 100 мкОм. Для шунта номиналом 1 мОм такая добавка вносит погрешность до 10%, что недопустимо для систем мониторинга энергии. Применение специализированных посадочных мест с выделенными выводами (правый нижний пример на иллюстрации) позволяет достичь точности 0.1% и выше.

Метод измерения тока посредством шунта реализован, например, в микросхемах MAX471 и MAX472. В MAX471 используется встроенный шунт, измеряемый ток ограничен 3.3 А, а вот MAX472 позволяет подключить внешний шунтирующий резистор к выводам микросхемы и подбирать резистор самостоятельно в зависимости от измеряемого тока.

Микросхема ACS712

В отличие от шунта, ИС ACS712 использует эффект Холла. Ток протекает через внутреннюю медную шину, создавая магнитное поле, которое преобразуется встроенным датчиком в пропорциональное напряжение.

ACS712 рассчитан на питание от 4,5 до 5,5 В, номинальное напряжение — 5 В. Выпускается три варианта для двунаправленного измерения токов до ±5, ±20 и ±30 А. Их типовая чувствительность (Sens) составляет соответственно 185, 100 и 66 мВ/А (то есть, изменение протекающего тока на 1 А вызывает изменение напряжения на выходе на 185, 100 и 60 милливольт соответственно). Выход ACS712 является ратиометрическим, то есть значение напряжения на выходе представляет собой процентное отношение сигнала датчика к напряжению питания. Хотя номинально Vzero равно половине напряжения питания, для повышения точности рекомендуется измерять фактический уровень нуля при запуске устройства и усреднять несколько показаний АЦП. Чувствительность также изменяется вместе с напряжением питания. Желательно использовать тот же источник питания в качестве опорного напряжения АЦП либо учитывать его фактическое значение программно.

При нулевом токе на выходе Vout всегда присутствует напряжение 2.5 В (половина питания). При протекании тока напряжение отклоняется в ту или иную сторону в зависимости от направления.

Расчет тока выполняется исходя из чувствительности выбранной модели по следующей формуле:
I = (Vout - Vzero) / Sens
где Vzero — выходное напряжение при отсутствии тока,
Sens — типовая чувствительность конкретной модели микросхемы (185/100/66).

При измерении переменного тока обычное усреднение показаний даст значение, близкое к нулю. Необходимо сначала вычесть уровень нулевого тока, а затем вычислить среднеквадратичное значение всех измеренных итераций (n):
Irms = √(
((V1 - Vzero)2 + (V2 - Vzero)2 + ... + (Vn - Vzero)2) / n)
) / Sens
Как очевидно из формулы выше, для точного измерения выборка должна охватывать как минимум несколько полных периодов волны сигнала. Для нагрузки с ШИМ желательно либо синхронизировать измерения с ШИМ, либо предварительно ограничить полосу аппаратным фильтром — иначе показания могут заметно изменяться в зависимости от момента запуска АЦП.

К преимуществам ACS712 относятся гальваническая развязка измерительной и силовой частей (2.4 кВ RMS, однако помните, что готовые модули зачастую не гарантируют такую изоляцию), возможность измерения как постоянного, так и переменного тока, а также малое сопротивление внутреннего проводника — около 1.2 мОм. При этом датчик имеет собственный шум и температурный дрейф, поэтому плохо подходит для точного измерения токов, значительно меньших выбранного диапазона. Конденсатор между выводом FILTER и землёй уменьшает шум, но одновременно ограничивает полосу пропускания (мы в своих схемах обычно используем 10 нФ). Параллельно с выводом питания также следует установить развязывающий конденсатор 0.1 мкФ, а силовые дорожки выполнять короткими и достаточно широкими. Источники внешнего магнитного поля необходимо располагать как можно дальше от микросхемы, поскольку они способны вызвать смещение выходного сигнала.

Особенности подключения ACS712 к микроконтроллеру
Напряжение 2,5 В на выходе ACS712 является только номинальным уровнем нулевого тока. Реальное значение отличается у разных экземпляров и изменяется с температурой. Поэтому перед измерением рекомендуется при гарантированно отключённой нагрузке выполнить калибровку нуля: снять несколько десятков или сотен показаний АЦП, усреднить их и сохранить результат как ADCzero. При последующих вычислениях следует вычитать именно это значение, а не жёстко заданные 2.5 В. Повторную калибровку можно выполнять в моменты, когда схема точно не потребляет ток. Ток удобно вычислять непосредственно по отсчётам АЦП:
I = ((ADC − ADCzero) × Vref) / (ADCmax × K × Sens)
Здесь ADC — показания АЦП (количество отсчётов),
Vref — опорное напряжение АЦП,
ADCmax — максимальный код АЦП,
Sens — чувствительность ACS712 в В/А,
K — коэффициент делителя напряжения между выходом датчика и входом АЦП. Если делителя нет, K = 1. Например, для делителя, уменьшающего напряжение до 2/3 исходного, K = 2/3.

Поскольку выход ACS712 ратиометрический, при питании датчика и опорного входа АЦП от одного источника изменение напряжения питания в значительной степени компенсируется автоматически. Если датчик питается от 5 В, а АЦП использует независимую опору 3.3 В, фактическое напряжение питания необходимо учитывать отдельно.

Разрядность АЦП напрямую ограничивает минимальный различимый ток. У 10-разрядного АЦП с диапазоном 0–5 В один отсчёт соответствует примерно 4.88 мВ. Это около 26 мА для ACS712-5A, 49 мА для ACS712-20A и 74 мА для ACS712-30A. Реальная погрешность будет ещё больше из-за шума и дрейфа нуля. Поэтому версия на 30 А плохо подходит для измерения токов порядка десятков миллиампер, даже если программно усреднять большое количество отсчётов. Для небольших токов лучше выбирать вариант на 5 А либо другой датчик с большей чувствительностью.

Данная микросхема интересна тем, что добавив всего несколько элементов и компаратор, можно собрать на её основе удобный детектор пикового тока (например когда не хочется или нет возможности городить обработку АЦП в программе МК).






ˆ