Как измерить напряжение обратной полярности?

В интернете полно схем по типу этой.


Однако, как её подключить к ардуине?
Если подать напряжение обратной полярности, то я получу нечто такое:

То есть плюс пойдёт на землю, если не коротнёт, то работать не будет.

Так на верхней схеме вход +15 на выходе +5, при входе -15 на выходе 0, на входе 0 на выходе 2,5 вольта. Подключай к АЦП процессора 512 будет 0 по входу. Надеюсь в вашей схеме +5 Vref ни как не связано с измеряемым напряжением.

в модуле для измерения переменного напряжения LM358 применяется, можно оттуда схему позаимствовать

Развернуть всё на 180 градусов и АЛГА …

тебя не все поймут, придётся в краеведческий музей идти и записи Афанасия Никитина сюда скидывать )))

Почитайте про измерение переменного напряжения. Смысл в том, чтобы масштабировать, сместить аппаратно диапазон значений -15…+15в в 0…5в , а потом пересчитать результат.
В #2 oб этом уже сказали.

посмотри тут, может поможет?

Для измерения отрицательного напряжения до -15В достаточно делителя из резисторов 10 кОм и 30 кОм. Подключить 10 кОм не к земле, а к +5В. Диапазон АЦП 0 - 1023 будет соответствовать напряжению минус 15В - плюс 5В. Сам так не делал, но работать должно.

Попробовал, вообще перестало показывать значения, только 5 вольт показывает, можно схему?

10 вольт мало, я хотел что-то вроде осциллографа сделать, без привязки к полярности.


ua6em На просторах интернета нашёл вот такую схему, работает, но напряжение на ней прыгает постоянно в районе десятых вольт, даже при питании ардуины от аккумулятора.
Если подключить без LM358 то показания стабильны, из чего делаю вывод, что прыжки напряжения из-за LM358.
Так же не понятно, почему у схемы средняя точка в районе 2.31 вольта (замыкаем щупы между собой), но при этом когда щупы разомкнуты, то она выдаёт 2,40 вольта.

А ты знаешь про параллельное соединение резисторов? Посчитай сколько будет 10к параллельно 100к(замыкаем щупы между собой) . А потом напряжение на делителе верхние 10к и нижнем полученным из расчета.

Не совсем понял при чём тут 10к параллельно, если напряжение на LM358 при питании от аккумулятора постоянно прыгает.


Вот на мультиметрах это отлично видно, оно прыгает в диапазоне от 2,45 до 2,22 при делителе напряжения, такие прыжки это ±1 вольт.

Я бы начал с того, что зашунтировал питание керамикой порядка 0.1.

Ну а что ты хочешь? У тебя усилитель без фильтра висит в воздухе и ловит и усиливает наводку переменного тока. Воткни конденсатор на 10 мкф между точкой соединения всех резисторов и землёй и увидишь на сколько меньше будет колебаться напряжение.

Когда ты замыкаешь щуп на землю резисторы 100к и 10к становятся параллельно и нижнее плечо делителя смещения уменьшается и ты видишь 2.31 вольта. Чтобы этого не происходило нужно ещё один корпус усилителя с двухполярным питанием в режиме повторителя. На схеме первого поста цепи смещения и входной делитель разнесены и такого эффекта нет.
И 358 в этой схеме нормально работать не будет. Здесь нужна рейл-то-рейл.

Керамический конденсатор 223 по питанию LM358 действительно решил проблему, но как теперь посчитать напряжение?
Если бы был классический делитель напряжения, я бы посчитал так (проект переехал на ESP32-S3 поэтому analogReadMilliVolts):

int32_t VOLT = 0;
for(uint8_t i = 0; i <= 4; ++i)
  VOLT  += analogReadMilliVolts(10);
float VOLT_TEMP = round(VOLT / 50.0f) / 100;

float VOLT_RESULT = VOLT_TEMP * (( 98.4 + 9.93 ) / 9.93);
    
Serial.println(VOLT_RESULT);

Где мы делаем 5 измерений.
Переводим значение в вольты.
Рассчитываем по формуле текущее напряжение.
Где (( 98.4 + 9.93 ) / 9.93); это (( R1 + R2 ) / R2)

Но при использовании LM358 у меня при измерении
Щупы разомкнуты: 21.06 вольт.
Щупы замкнуты: 20.07 вольт.
Батарейка 1.35 вольт подключена верно: 20.37 вольта.
Батарейка 1.35 вольт подключена не верно: 19.31 вольта.

Вопрос, по какой формуле рассчитывают напряжение и вывести нуль?

Ты не читаешь что тебе пишут или не понимаешь написанного?
При использовании схемы из #9 нужно

  1. учитывать внутреннее сопротивление источника измеряемого напряжения.
  2. В третьей строке из analogReadMilliVolts(10) нужно вычитать половину диапазона разрядности АЦП.
  3. Формула вычисления напряжения не правильная ни в 4 ни в 6 строке.
  4. 358 микросхема ограничивает выходное напряжение примерно по одному вольту от плюса и минуса питания. При питании от 3 вольт она будет практически всегда находиться в режиме ограничения.