четверг, 27 марта 2025 г.

Компенсация потерь на защите от обратной полярности

 Ранее я описывал схему защиты АЦП INA226 от обратной полярности которую я добавил в измеритель ёмкости аккумуляторов

Результатом стала погрешность измерений напряжения из-за падения напряжения на сопротивлении R1 при протекании через него тока. Этот ток складывается из обратных токов диода шоттки D1 и стабилитрона D2 а также тока через вход АЦП INA226 (он незначительный, но не равен нулю).

Если сравнить показания напряжения INA226 с показаниями точного мультиметра (в моём случае это Agilent U3402A с заявленной точностью по постоянному напряжению ± 0,012% + 5), то получается заметная погрешность

В первой колонке напряжение измеренное с помощью Agilent U3402A, во второй колонке - измерения напряжения INA226 и в третьей колонке - погрешность измерения если принять показания U3402A за эталон.

Ошибка в 0.14% - это много или мало? Например заявленная погрешность для мультиметра Zoyi ZT301 ±(0.5%+3). Т.е. полученная погрешность не сильно хуже китайского массового мультиметра, но хочется попробовать компенсировать эту погрешность программно.

Идея такова - если мы знаем какой ток протекает через сопротивление R1, то можем вычислить падение напряжения на нём. И это вычисленное напряжение добавить к показаниям напряжения INA226.

Для проверки этой гипотезы подключаю в разрыв цепи измерения напряжения мультиметр U3402A в режиме амперметра и подаю напряжение от 1 В до 31 В с регулируемого лабораторного блока питания. Параллельно выходу блока питания подключён второй мультиметр ZT301 для контроля напряжения.

 

График выглядит практически линейным - это очень хорошо. Посчитал среднее увеличение тока на каждый вольт измеряемого напряжения и получилось примерно 1,6 мкА на вольт. Сопротивление резистора R1 989 Ом, а следовательно падение напряжения на нём составит V * 1,6 * 10^-6 * 989 где V - это показания напряжения с INA226. Следовательно напряжение на входе тестера будет

V + V * 1,6 * 10^-6 * 989

Полученная формула выглядит как уравнение прямой (y = kx + b, где x = V, k  = 1,6*10^-6*989 и b = V). Добавляю эту формулу в таблицу с исходными данными и получаю максимальное значение ошибки 0,08%.

Попробовал подбирать значение тока через резистор R1 чтобы получить наименьшее значение ошибки на всём диапазоне входного напряжения.

Если открыть таблицу, то видно что 1,6 мкА не лучшее значение, а наименьшую погрешность на всём диапазоне будет обеспечивать 1,1 мкА, при это максимальная ошибка не превышает 0,03% если сравнивать с показаниями Agilent U3402A.

Добавил компенсацию в прошивку тестера и ещё раз прогнал по всему диапазону напряжений - максимальная разница с показаниями мультиметра U3402A составила несколько милливольт вместо десятков милливольт.

В итоге получилось защитить вход АЦП INA226 от обратной полярности и при этом не потерять в точности измерений.

Комментариев нет:

Отправить комментарий