Как считывать высокое напряжение (40-65В) с блока солнечных батарей

esp8266 battery voltage-divider

Я хотел бы контролировать напряжение батареи системы солнечных батарей 48 В. Ожидаемый диапазон напряжения: 40–65 В.

Я попытался создать делитель напряжения с двумя резисторами, но при всех значениях, которые я пробовал, один резистор почти плавится, как только вы подключаете его к аккумулятору.

Кроме того, использование делителя напряжения создает (небольшой) сток, которого я хотел бы избежать.

Кто-нибудь может предложить способ считывания высокого напряжения постоянного тока (40–65 В) с помощью Arduino (на самом деле я использую ESP8266)?

Если делитель напряжения

пожалуйста, предложите типы резисторов (например, 1/4 Вт или 1-2% и т. д., я здесь новичок, но знаю, что существует много типов) и значения, которые я могу прочитать с помощью A0 (аналоговый контакт, макс. 5 В)

Можно ли использовать полевой МОП-транзистор для подключения делителя напряжения непосредственно перед измерением напряжения? Как?

или другим способом

например, схема (с AliExpress) или использование какого-либо другого компонента, который был бы очень признателен.

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

https://openenergymonitor.org/forum-archive/node/11011.html

Заранее благодарим за любую помощь.

, 👍7

Обсуждение

Это то, что вы пытаетесь сделать? https://electronics.stackexchange.com/questions/42710/how-to-read-high-voltages-on-microcontroller, @VE7JRO

1) сопротивление вашего делителя напряжения (сумма обоих резисторов) должно быть таким высоким, чтобы ток был довольно небольшим, миллиампер или меньше (чтобы предотвратить плавление резисторов и разрядку батареи). Обратите внимание, что пропорции обоих резисторов определяют уровень напряжения для аналогового входа, в то время как сумма обоих резисторов имеет отношение к току. Так что чем выше, тем лучше, но, к сожалению, вам также нужно 2) чтобы сопротивление было низким по сравнению с входным сопротивлением аналогового входа. Вот где OPAMP может вступить в игру. Оба адреса указаны в ссылке, опубликованной VE7JRO., @Ghanima


2 ответа


Лучший ответ:

5

Вам нужен делитель напряжения с резисторами большого номинала.

...но со всеми значениями, которые я пробовал, один резистор почти плавится, как только вы подключаете его к аккумулятору.

Это говорит о том, что вы использовали слишком низкие значения.

Давайте проведем расчеты, чтобы выбрать подходящие номиналы резисторов.

Резисторы 1/4 Вт широко распространены и легко доступны, поэтому я буду основывать свои расчеты на них. Эти расчеты также подходят для резисторов мощностью 1/2 Вт и 1 Вт.

Я также собираюсь добавить некоторый запас выше максимального значения 65 В, которое может выдавать солнечная панель (плюс это упрощает расчеты)

Максимальное напряжение = 100 В


Делитель напряжения:

Делитель напряжения

Давайте упростим. Почти весь ток будет идти от вашего источника через резисторы (R1 и R2) на землю. Давайте упростим, сначала рассчитав сопротивление, необходимое, если R1 & R2 были объединены в один резистор:

От V = I x R
И P= V x I

Минимальный резистор = V^2 / P

R = 75^2 / 0,25

R = 22500 &Омега; минимум

Я бы пошел еще дальше и сказал бы вдвое больше, потому что мне никогда не нравилось работать с резистором прямо на его максимальной номинальной мощности. т.е. минимум, который должен равняться R1 + R2, равен 50kΩ.

Давайте не рисковать и скажем, что R1 + R2 равно 100kΩ. Диапазон входного напряжения на выводе АЦП ESP8266 составляет от 0 до 1 В. Вход 0-100 В (что покрывает требуемый диапазон 40-65 В). Теперь все, что нам нужно сделать, это рассчитать R1.

Примечание. Большинство макетных плат ESP8266 поставляются с внутренним делителем напряжения. Для этих плат входной диапазон составляет от 0 до 3,3 В.

ОТРЕДАКТИРОВАНО: ОП говорит мне, что они получают максимальное аналоговое показание при 3,0 В, а не 3,3 В. Отрегулируйте приведенные ниже расчеты для входного напряжения 3,0 В, а не 1 В.

Формула для расчета выходного напряжения:

Формула

Vвых / Vвх = R2 / (R1 + R2)

1 / 100 = R2 / 100kΩ

0,01 = R2 / 100 тыс.

Поэтому R2 = 1k Ω

R1 = 100 000 – R2 = 99 000 000 000;

Я бы увеличил R1 до 100kOmega; так как это приведет только к ошибке 1%.

Таким образом, R1 = 100kΩ и R2 = 1kΩ


Значения R1 = 49,5kΩ и R2 = 500&Омега; тоже будет работать.

В этом случае R1 можно составить из 2-3 последовательно соединенных резисторов:
47K&Омега;
2,2 тыс.&омега;
300&Омега; или 330&Омега; (необязательно)


Необработанный входной сигнал АЦП на микросхеме ESP8266 составляет 0–1 В с высоким входным сопротивлением (~ 20 МОм). Это означает, что буфер операционного усилителя не требуется.

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

Операционный усилитель

,

Большое спасибо за то, что потратили свое время на этот ответ. Я протестировал несколько плат разработчика ESP8266, которые у меня были, и чтобы получить 1024 на аналоговом выводе, на всех моих платах требуется всего 3 В, в спецификациях указано 3,3, но все напряжения выше 3 = 1024, поэтому я учту это в своих расчетах, спасибо снова ты!, @Joelm


3

Похоже, вы пытались использовать резисторы слишком малого номинала. Например, если вы использовали резисторы общим сопротивлением, скажем, 1000 Ом при напряжении питания 50 В, они будут рассеивать V^2/R Вт = 2,5 Вт. Стандартные резисторы на 1/4 Вт расплавятся при 10-кратной перегрузке.
Таким образом, все сводится к выбору пары резисторов,
1) Работают в пределах своей номинальной мощности.
2) Задайте удобный коэффициент масштабирования.
3) Потребляйте незначительное количество тока относительно номиналов солнечных панелей.
Конструкция любого делителя напряжения также зависит от входного импеданса или нагрузки, создаваемой ESP8266. Ссылаясь на форум сообщества ESP8266, аналоговый вход накладывает нагрузку 50 нА, но они также заявляют что максимальное входное напряжение составляет всего 1 В (эквивалентно импедансу 20 МОм). На форуме Adafruit также указано, что 1 В — это максимум. Возможно, ваша плата имеет другой встроенный механизм масштабирования.

В качестве аргумента предположим следующее
Диапазон измеряемого напряжения = 40–65 В
Максимальное входное напряжение контакта A0 = 1 В
Контакт A0 может потреблять 50 нА, и это не должно влиять на измерение более чем на 1 из 2048 (половина младшего разряда АЦП).

Поэтому ток через делитель напряжения должен быть не менее 2000 * 50 нА = 0,1 мА. Это почти наверняка соответствует требованию незначительной загрузки батареи. Таким образом, исходя из нижнего предела диапазона напряжения, цепь делителя должна составлять около 45 В / 0,1 мА = 450 кОм. Соотношение двух резисторов должно быть 64:1, чтобы понизить входное напряжение 65 В до 1 В. Что касается номиналов стандартных резисторов, последовательное соединение 360K и 5K6 будет очень близко к 64:1 (64,28:1). Они будут потреблять максимум 65 В/(360K + 5K6) = 0,18 мА, а резистор 360K будет рассеивать около 10 мВт.

Таким образом, стандартные резисторы 1% серии E24 на четверть ватта должны подойти.

,

Вау, спасибо большое за отличное объяснение. У меня есть несколько устройств ESP8266, все аналоговые контакты могут потреблять напряжение до 5 В, но я думаю, что на самом деле напряжение A0 (АЦП) должно быть не более 3,3 В (см. [Wemos](https://wiki.wemos.cc/products:d1) :d1_mini) Есть ли шанс, что вы сообщите мне значения перехода от 60 В до 3,3 В?, @Joelm

Ваше напряжение Vin составляет 60 В, а Vout — 3,3 В. Предположим, что R1 и R2 имеют одинаковое значение, затем рассчитайте значения R1 и R2, используя приведенную выше формулу, т.е. Vout = (R2/(R1+R2))*Vin;, @Vaibhav

Я не использовал вашу конкретную плату ESP8266, но, возможно, 3,3 В — это максимальное напряжение, которое вы можете подать на вход A0, не причинив вреда. Входное напряжение, которое будет генерировать полномасштабное 10-битное кодирование (1024), вполне может быть другим. Вам нужно провести немного больше исследований, либо найдя более подробный паспорт, либо протестировав его на стенде с источником низкого напряжения, измерителем и программой, которая циклически сообщает о выходе АЦП., @Peter Jennings

Привет @PeterJennings, я протестировал имеющиеся у меня платы, они считывают максимальный входной сигнал (1024) при напряжении 3 В (а не 3,3, как указано в характеристиках), поэтому я внесу соответствующие настройки, спасибо., @Joelm