MAX471 дает слишком высокие показания тока

Я хочу измерить ток с помощью датчика MAX471, который выводит напряжение, пропорциональное току (1 В/А в соответствии с таблицейданных ). Чтобы проверить модуль, я подключил к датчику резистор 330 Ом и запитал его от 3,3 В arduino. Используя закон Ома, я ожидал, что выходное напряжение в моей цепи составит около 10 мВ (для ~ 10 мА). Однако я получаю выход около 2,17 вольта, что кажется неправильным.

Кто-нибудь видит ошибку в моей цепи или как я пытаюсь измерить ток?

Вот моя схема:

Мой Код:

#include <Arduino.h>

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  int adc_val = analogRead(A5);
  float vol = 3.2 / 4095 * adc_val; // использование 12 - битного АЦП

  Serial.println(vol);
  delay(3000);
}

, 👍0

Обсуждение

Где ваш текущий шунтирующий резистор?, @timemage

@timemage внутри MAX471: "MAX471 имеет внутренний токовый резистор 35 Мом и измеряет ток батареи до ±3А. ", @dandavis

@dandavis, интересно. Я никогда раньше не видел, чтобы это делалось с ними., @timemage

@dandavis это на самом деле ESP32, но я нашел только arduino uno как единственный микроконтроллер в программном обеспечении schematic. Вот почему он говорит 12 битный АЦП, @Zaffresky

Это на самом деле совершенно другой зверь, и убедитесь, что вы компенсируете уникальные кривые отклика вашего АЦП ESP32. Если у вас есть SMU, вы можете легко откалибровать его, но вы также можете сделать это с помощью надежного источника тока, высокоточного резистора и пары готовых DMMS., @dandavis

@dandavis вы правы о нелинейности в ответе ESP32, поэтому я также сравнил его с ADS1115, который является 16-битным АЦП. Я все еще получаю около 2,2 В в качестве выхода. Это слишком высоко, т. е. 2.2 A тока (учитывая 1A/V, как указано в таблице), @Zaffresky

ADS1115 измеряет напряжение, а не ток. 2.2 не имеет смысла, он должен быть чертовски близок (~1%) к 0 или 3.3 В. Вы действительно опускаете вывод 2k, показанный в таблице MAX471?, @dandavis

Это не голый датчик, а модуль [как этот] (https://www.aliexpress.com/item/4000045481675.html?spm=a2g0o.productlist.0.0.1c3718b2OUADuF&algo_pvid=e642e394-a894-4408-a48a-fcb926c21c51&algo_expid=e642e394-a894-4408-a48a-fcb926c21c51-0&btsid=0b0a556616139293222028857e2f2a&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_). Есть резистор 2k, который, я полагаю, служит в качестве съемного резистора для Vout., @Zaffresky

В соответствии с таблицей данных "В MAX471 коэффициент усиления по току был установлен на 500 мкА/А, так что выходной резистор (ROUT) 2 коМ дает 1 В/А для полномасштабного значения +3 В при ±3 А". Поэтому я считаю, что мне не нужно делить Vout ни на что. Каким бы ни был Vout, он будет равен току в цепи. Вы также предлагаете разделить на 2000 в моих расчетах?, @Zaffresky


2 ответа


1

Есть ли у вас та же рабочая схема, которая показана на странице 1 таблицы данных? у вас есть резистор 2K, который они специально заземляют? Кроме того, может быть стоит добавить конденсатор 1 мкФ, который они рекомендуют также заземлить

Другая вещь, которую следует учитывать, - это фактическое напряжение на резисторе. Проверьте, есть ли напряжение на резисторе 3,3 и нет ли падения напряжения от чипа

Если напряжение в порядке, может быть проблема с чипом или arduino

,

1

У меня есть несколько модулей MAX471, и вместо показаний тока я получаю около 90% входного напряжения на всех них.

С увеличением нагрузки выходное напряжение немного уменьшается, и микросхема MAX471 сильно нагревается (например, 12V 0mAh = 10V, 12V 200mAh = 9,6 V).

Я думаю, нам просто "повезло" получить плохую партию или поддельные чипы...

,