Основываясь на вашем описании, проблема с INA226, который показывает заниженные и нелинейные показания тока при низких входных напряжениях (например, 4 В) при больших токах, в то время как проблема исчезает при высоких напряжениях (18 В), может быть проанализирована и устранена следующим образом:
1. Синфазное напряжение и падение напряжения на шунте
Диапазон синфазного напряжения INA226 критически важен. Он требует V- ≤ VCM ≤ V+ (где V- — это земля, а V+ — обычно напряжение шины). Однако падение напряжения на шунтирующем резисторе (I×Rshunt) изменяет напряжение измерения. Когда входное напряжение низкое (например, 4 В), увеличение тока заставляет синфазное напряжение в точке измерения приближаться к минимальному рабочему синфазному напряжению INA226 или опускаться ниже него, что приводит к снижению точности измерения и нелинейности.
Например, если ваш шунтирующий резистор составляет 0,02 Ом (как следует из R5=0,02 Ом на схеме), падение напряжения составляет 10 мВ при 500 мА. При напряжении шины 4 В синфазное напряжение в точке измерения уменьшается из-за этого падения, приближаясь к нижнему пределу диапазона синфазного напряжения INA226, что вызывает отклонения измерений. При 18 В падение на шунте незначительно, поэтому синфазное напряжение остается в нормальном диапазоне.
2. Рассеиваемая мощность шунтирующего резистора и температурный дрейф
Шунтирующий резистор нагревается при больших токах, что приводит к изменению сопротивления с температурой (температурному дрейфу), что вызывает нелинейные измерения. Особенно при низких напряжениях и больших токах рассеиваемая мощность (I²×R) шунтирующего резистора значительна, что приводит к заметному повышению температуры и изменению сопротивления, из-за чего значение тока, рассчитанное по напряжению измерения, отклоняется от фактического значения.
3. Синхронизация I2C и стабильность связи
Хотя контур обратной связи работает нормально, связь по шине I2C у INA226 может иметь временные отклонения при низком напряжении питания. Проверьте, стабильно ли напряжение питания INA226 (3,3 В от AMS1117 на схеме) при низких напряжениях шины. Кроме того, резисторы подтяжки I2C и скорость обмена данными (например, превышающая поддерживаемую устройством скорость) также могут влиять на точность считывания данных, вызывая отклонения показаний.
4. Топология схемы и помехи
Паразитная индуктивность или сопротивление в проводке шунтирующего резистора, а также перекрёстные помехи с другими высокочастотными цепями (такими как TFT-дисплей и высокочастотные сигналы ESP32), также могут влиять на точность измерения. Особенно в сценариях с низким напряжением и малым сигналом влияние шума усиливается.
Рекомендации по обеспечению стабильных показаний и повышения точности
- Оптимизация синфазного напряжения: Убедитесь, что синфазное напряжение INA226 всегда находится в пределах заданного диапазона. Попробуйте отрегулировать значение шунтирующего резистора (например, выбрать резистор с меньшим сопротивлением, чтобы уменьшить падение напряжения, при этом сбалансировав мощность и разрешение) или ограничить максимальный ток в сценариях с низким напряжением, чтобы избежать чрезмерно низкого синфазного напряжения.
- Выбор шунтирующего резистора: Используйте сплавные резисторы с низким температурным коэффициентом (такие как сплав манганина) и обеспечьте достаточный запас по мощности (как минимум в два раза превышающей фактическое энергопотребление), чтобы уменьшить влияние температурного дрейфа. Одновременно оптимизируйте конструкцию теплоотвода шунтирующего резистора, например, увеличив тепловые подложки или медные области.
- Оптимизация связи по I2C: Снизьте скорость обмена данными по шине I2C (например, с 400 кГц до 100 кГц), проверьте, соответствует ли значение резисторов подтяжки (обычно около 4,7 кОм для систем с напряжением 3,3 В), и убедитесь, что синхронизация I2C между ESP32 и INA226 строго соответствует руководству по эксплуатации устройства. Вы также можете добавить декуплирующие конденсаторы (например, параллельно подключить конденсаторы 10 мкФ и 0,1 мкФ к выводу V+ INA226) для повышения стабильности питания.
- Улучшение топологии схемы: Держите линии измерения шунтирующего резистора как можно более короткими и толстыми, чтобы уменьшить паразитные параметры; разместите INA226 подальше от источников высокочастотных помех (таких как схемы драйвера TFT-дисплея), и при необходимости экранируйте линии измерения или используйте точечное заземление.
- Программная калибровка и компенсация: Создайте таблицу калибровки для сценариев с низким напряжением в коде и компенсируйте показания INA226 на основе входного напряжения и заданного тока. Например, измерьте отклонения при различных напряжениях и токах с помощью цифрового мультиметра, подберите функцию компенсации и корректируйте показания в реальном времени в программном обеспечении.