Дифференциальный вольтметр на ads1115
- Войдите на сайт для отправки комментариев
Вс, 21/10/2018 - 12:28
Добрового времени суток. Коллеги подскажите по такому вопросу.
Делаю дифференциальный вольтметр на ads1115 для измерения напряжения на внешних АКБ УПС, который питает газовый котел в часном доме, для удаленного контроля через народный мониторинг.
Проблема в том, как поставить резистивный делитель для измерения напряжения.
По такой схеме:
Или по такой:
Или обе неправильные?
вторая, очевидно, более правильная
вторая, очевидно, более правильная
Можно поконкретней, почему очевидно.
потому что на первой схеме делитель на правом АКБ подключен "вверх ногами" - с него на сенсор будет приходить 10в, а не 3в, как вы планировали
потому что на первой схеме делитель на правом АКБ подключен "вверх ногами" - с него на сенсор будет приходить 10в, а не 3в, как вы планировали
На вход 10 вольт никак не должно придти, т.к. параллельно входу стоит резистор 10к, а гасящий 40к стоит на линии. А так как это дифференциальный вход, то в каком плече он будет стоять( по плюсу или по минусу) должно быть все равно. Так я думаю. А если первую схему нарисовать в таком виде. Не очевидно?
Ни одна из приведенных схем не будет работать. Измеряемое напряжение должно прикладываться относительно напряжения питания АЦП 3.3В.
На вход 10 вольт никак не должно придти, т.к. параллельно входу стоит резистор 10к, а гасящий 40к стоит на линии. А так как это дифференциальный вход, то в каком плече он будет стоять( по плюсу или по минусу) должно быть все равно. Так я думаю.
Неправильно думаете. Если гасящий резистор стоит по плюсу, то напряжение на нем падает ДО измерительного входа, а если по минусу - ПОСЛЕ. Как результат - напряжение на входе в этих случаях будет разным.
Проблема в том, что непонятно, для дифвхода эти схемы идентичны или нет.
Ни одна из приведенных схем не будет работать. Измеряемое напряжение должно прикладываться относительно напряжения питания АЦП 3.3В.
ADS1115 умеет мерять и в дифрежиме, т.е. один вход относительно другого.
Флаг в руки.
Неправильно думаете. Если гасящий резистор стоит по плюсу, то напряжение на нем падает ДО измерительного входа, а если по минусу - ПОСЛЕ. Как результат - напряжение на входе в этих случаях будет разным.
Я тоже так думал, но чем больше про АЦП читаю, меня начинают мучить смутные сомнения, у него оба входа измерительные, это же дифрежим, кто относительно чего меряет. Тут же все относительно, нет четкой привязки.
Если второй меряет относительно третьяго, получим + 13,5, а если наоборот - 13,5.
Флаг в руки.
Так этим и занимаемся.
Я тоже так думал, но чем больше про АЦП читаю, меня начинают мучить смутные сомнения, у него оба входа измерительные, это же дифрежим, кто относительно чего меряет. Тут же все относительно, нет четкой привязки.
при чем здесь дифф режим? - вы понимаете, что у вас на вход в этих схемах будут приходить разные напряжения? Или вы считаете, что два делителя ниже выдают одно и то же ?
ADS1115 умеет мерять и в дифрежиме, т.е. один вход относительно другого.
И да и нет :) ADC1115 не поддерживает true-diff подключения, а значит все измерения хотя и проводятся между + и -, всё же они относительно земли. То есть условную батарейку, подключенную только к + и - (без земли) он скорее всего измерит верно, но с 2 входами между которыми перекос напряжений это уже не прокатит. Вобщем как сказал Andy обе схемы неправильные. Заземлите оба минуса, и делайте стандартное включение делителей, как если бы включали к обычным аналоговым входам МК.
[quote=b707]
при чем здесь дифф режим? - вы понимаете, что у вас на вход в этих схемах будут приходить разные напряжения? Или вы считаете, что два делителя ниже выдают одно и то же ?
/quote]
Нарисовал токи и падение напряжения, на входах 0-1 и 2-3 одинаковые 2.7В.
[quote=dimax]
И да и нет :) ADC1115 не поддерживает true-diff подключения, а значит все измерения хотя и проводятся между + и -, всё же они относительно земли. То есть условную батарейку, подключенную только к + и - (без земли) он скорее всего измерит верно, но с 2 входами между которыми перекос напряжений это уже не прокатит. Вобщем как сказал Andy обе схемы неправильные. Заземлите оба минуса, и делайте стандартное включение делителей, как если бы включали к обычным аналоговым входам МК.
/quote]
А какая разница, если он меряет одну батарейку, подключенную только к + и - (без земли) , то что мешает ему померять 2 батарейки. Одна пара входов меряет одну батарейку, вторая другую, ну и что что они соединены.
selan61, Ну проверьте делов-то. Могу сказать одно -устройство данного типа дифф входа предусматривает трёхточечное подключение, работа по двум точкам гарантирована только в tru-diff ацп.
selan61, Ну проверьте делов-то. Могу сказать одно -устройство данного типа дифф входа предусматривает трёхточечное подключение, работа по двум точкам гарантирована только в tru-diff ацп.
Спасибо. Проверить то проверю. Просто вначале теоретические изыскания. Что бы что то делать надо понять вначале что и как делать. Вот и пытаюсь всё выяснить.
А что значит "трёхточечное подключение" ?
Вот картинка из тырнета, здесь две точки.
Добавьте в вашу схему защитные диоды входов АЦП и попробуйте нарисовать токи.
[quote=nik182]
Добавьте в вашу схему защитные диоды входов АЦП и попробуйте нарисовать токи.
/quote]
Спасибо. А вот это уже серьезно, есть над чем подумать.
Заземлите оба минуса, и делайте стандартное включение делителей, как если бы включали к обычным аналоговым входам МК.
Я и рад бы, но как заземлить оба минуса?
Подключать можно как угодно, только обеспечив условие разница напряжений на любых входах не должна превышать напряжения питания, иначе откроются защитные диоды и пойдёт волшебный дым. На третьем рисунке первого поста между выводами 1 и 3 подключено 12 вольт. Делайте выводы. Делители тоже надо делать с учётом этого обстоятельства. При представленных номиналах на втором рисунке напряжение между 0 и 3 выводами будет больше 6ти вольт. Из-за 40к резисторов волшебный дым не пойдёт, но результаты измерений будут с большой ошибкой. Резисторы обозначенные 40к должны быть около 100к, что бы результат был без ошибок. Точность при этом упадёт в 2 раза. И будет точно равной, если заземлить минус батареи и относительно его не диффиренциально измерите два канала. При этом нижнюю батарею можно мерить в 2 раза точнее :-) Но надо ли?
Подключать можно как угодно, только обеспечив условие разница напряжений на любых входах не должна превышать напряжения питания, иначе откроются защитные диоды и пойдёт волшебный дым. На третьем рисунке первого поста между выводами 1 и 3 подключено 12 вольт. Делайте выводы.
Огромное спасибо за это замечание. Это действительно так и я этого не заметил. будем исправлять. Как вот такая схема.
Резисторы обозначенные 40к должны быть около 100к, что бы результат был без ошибок. Точность при этом упадёт в 2 раза. И будет точно равной, если заземлить минус батареи и относительно его не диффиренциально измерите два канала. При этом нижнюю батарею можно мерить в 2 раза точнее :-)
А это не понял, как величина резисторов влияет на точность? Я считал, что точнось определяется в программе настройкой АЦП.
Подключил на макете по приведеной схеме
Вроде всё работает.
По той же причине. При превышении напряжения на входе выше напряжения питания открываются защитные диоды и шунтируют резисторы нижнего плеча делителя, что приводит к большому изменению коэффициента деления и как следствие к ошибке измерения.
Диоды в измеряемых цепях зло из за своей нелинейности. При изменении тока меняется падение напряжения на диоде.
Подключил батарейки 23А на 12В, без перемычки показывает правильно, с перемычкой показания падают
По той же причине. При превышении напряжения на входе выше напряжения питания открываются защитные диоды и шунтируют резисторы нижнего плеча делителя, что приводит к большому изменению коэффициента деления и как следствие к ошибке измерения.
Диоды в измеряемых цепях зло из за своей нелинейности. При изменении тока меняется падение напряжения на диоде.
Но напряжение на входах ниже напряжения питания. Тем более в библиотеке написано
ads.setGain(GAIN_TWOTHIRDS); // 2/3x gain +/- 6.144V 1 bit = 3mV 0.1875mV (default)
Как я понимаю на входах+/- 6.144V
Я говорю - на любых входах, не обязательно измеряющих одно напряжение. Питание 3.3 вольта. Если на любых из входов есть разность напряжений больше, то они будут влиять друг на друга. Поэтому нужно увеличивать верхнее плечо делителя, что бы на нижнем всегда было меньше 3.3 вольт. Батареи свинцовые под зарядом имеют 14.4 при 100%. Если засульфатировались то напряжение при заряде может подниматься больше 18 вольт. Из этих значений надо исходить при расчёте делителя. Входное для АЦП 3.3 / 2 = 1.65В , так как два плеча + и - . 10к/100к до 17 вольт будет измерять правильно, без влияния каналов друг на друга. При больших напряжениях начнётся влияние и ошибки измерения.
Спасибо попробую
Наконец то дошли руки проверить рекомендации nik182.
Собрал 2 схемы на ESP 01 с одиночным и дифференциальным включением ads1115. Проверил измерение напряжения от 10 до 15В, при этом напряжения на входах АЦП не превышало 0,5В, вроде обе работают нормально.
Диффвключение.
В этом случае пришлось мерять напряжение Батареи1 на входе 1 относительно земли и Батарей1 и 2 на входе 0. Для определения напряжения Батареи2 от общего напряжения Voltage0 вычитать напряжение Батареи1.
Похоже оба способа рабочие, теперь не знаю какой выбрать.
Зы. Выяснилась интересная особенность адресации ADS1115. Везде пишут, что присоединении пина ADDR с землей, адрес будет 0х48, однако у меня он становился 0х4В. 0х48 становится, если пин ADDR висит в воздухе. Вопрос, можно ли пин ADDR не подсоединять, или во избежании помех всё таки посадить на GND или VCC.
selan61, на сколько диоды снижают точность показаний.. имею ввиду как влияют на разрешение? Можно посмотреть скетч? Тоже стоит задача измерения напряжения на последовательно соединенных аккумуляторов и нужна точность до 1мВ .. а желательно до 0,1мВ. Наверное еще можно попробовать измерять в диф режиме но через мультиплексор, тогда можно без диодов.