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

Я работаю над проектом, в котором хочу, чтобы Arduino Uno измерял напряжение 12-вольтовой свинцово-кислотной батареи.

Штыри аналогового считывания Uno не могут работать с необработанными 12 В, поэтому мне нужно использовать делитель напряжения с коэффициентом понижения примерно 1/3, чтобы снизить максимальное значение 14,70 (во время зарядки) до 5 В или меньше, чтобы контакт не сгорел.

Первоначально я построил схему делителя с R2 = 503 кОм и R1 = 1 МОм, что должно дать отношение Vout/Vin 0,334. Я построил схему и на практике получил коэффициент 0,252 или что-то в этом роде (напряжение батареи 12,97, а делитель выдает 3,28 В, все измерено мультиметром). 0,252 было бы хорошо и достаточно безопасно для Arduino, но я хочу чтобы максимально приблизиться к 0,334, чтобы получить максимальное разрешение напряжения моей батареи, которое может дать мне 0-5 В аналогового контакта.

Я выбрал самые большие резисторы, которые у меня есть, потому что я не хочу, чтобы ток больше, чем это абсолютно необходимо, проходил через делитель и терялся впустую в виде тепла (также заставляет меня нервничать из-за риска короткого замыкания). Я понимаю, что это сделает ток поток через делитель крайне мал, что-то порядка 10^-6 ампер. Однако это, похоже, влияет на создаваемое напряжение.

Интересно, есть ли какое-то требование к минимальному току, чтобы мультиметр/аналоговый вывод правильно считывал напряжение?

Я дважды проверил значения резисторов с помощью мультиметра (в соответствии с их спецификациями, они должны быть с допуском 5%) и поставил эксперимент, который продемонстрировал странное поведение, которое я наблюдаю.

С R2=R1 я построил два разных делителя напряжения, первый с двумя резисторами 680K, а второй с резисторами 68K.

Делитель 68K дал Vout/Vin 6,33/12,97=0,488, что ближе к теоретическому числу, которое я должен получить в 0,500.

Делитель 680K дал Vout/Vin 4,85/12,96=0,373.

Что дает?

Вы можете использовать буфер между делителем и аналоговым выводом. С резисторами такого высокого номинала любая нагрузка существенно влияет на показания напряжения.
@ Big6 какой буфер?
Буфер напряжения. Есть много вариантов. Смотрите это: electronics.stackexchange.com/questions/344476/…
Если не ошибаюсь, импеданс внешней цепи, подключенной к АЦП, рекомендуется не более 100кОм. Проверьте таблицу данных MCU, чтобы быть уверенным.
@FedeWar это относится и к мультиметру? А почему цепь должна быть под 100кОм?
@Алдерсон, дай мне немного перечитать, но я думаю, что это довольно близко
@ Big6, если я понимаю корень проблемы, в основном это то, что когда у меня есть схема, где порядок величины ее импеданса соответствует тому, что есть у мультиметра или АЦП (примерно 1 МОм для мультиметра, я вижу 10-100 МОм для АЦП Arduino), мультиметр начинает действовать как еще один большой резистор вместо примерно бесконечно резистивной цепи?
Вы правы. Вот почему буфер помогает. Он представляет собой источник с низким импедансом для измерительного устройства.
@BruceJohnJennerLawso Если вы прочитаете этот ответ , вы найдете гораздо более подробное обсуждение причин, по которым вы наблюдаете эти различия. Я думаю, что вы действительно понимаете это теперь, из обсуждения здесь. Но было бы неплохо увидеть «упрощенное» объяснение, которое также было бы растянутым и подробным. Вы даже можете рассчитать неизвестную нагрузку в вашем первом случае с резистором 1 МОм: переход от прогнозируемого 0,334 к расчетному 0,252 говорит о том, что неизвестная измерительная нагрузка составляла 1,02 МОм.
«Я вижу 10-100 МОм для АЦП Arduino» — я не уверен, откуда вы берете эти значения, но в техническом описании Atmega328P упоминается, что АЦП оптимизирован для использования с импедансом источника <10 кОм. Вполне вероятно, что импеданс вашего делителя напряжения слишком высок.
Также посмотрите сопротивление измерителя. У некоторых вход R 1 МОм, у некоторых 10M, у некоторых... . 1М параллельно с =500К снижает R на 33%. Даже 10М параллельно с 500К снижает R примерно на 5%. По мере уменьшения R ошибка уменьшается.

Ответы (1)

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

Ардуино тоже это сделает. В инструкции к процессору Arduino должно быть указано сколько.