Arduino и аналоговый датчик
- Войдите на сайт для отправки комментариев
Вс, 03/11/2019 - 11:42
Здравствуйте. Имеется задача подключить к ардуине аналоговый датчик с выходным сигналом 0-100мВ может кто подсказать как проще всего измерить напряжение на выходе датчика. Функция analogRead насколько я понимаю измеряет напряжение одном выводе относительно общей линии, а мне требуется измерить напряжение между двумя проводами. Схема датчика на картинке, измерительная диагональ BD т.е. между этими проводами мне и требуется измерить напряжение. на форуме видел темы по созданию вольтметра на базе ардуино но там используется внешний АЦП, которого у меня в наличии нет. Есть несколько платы мега и nano, хотелось бы обойтись какой то одной платой, это возможно?
Подождите грамотных электронщиков, но по моему дилетантскому мнению, Вам нужен дифференциальный усилитель с однополюсным выходом. Это устройство, которое принимает напряжение из двух точек и выдаёт разницу между ними на выход относительно земли. Заодно и усилить в Вашем случае в 50 раз. Тогда из "0В - 0,1В" получится "0В - 5В".
Дифференциальные усилители доступны и как отдельные микросхемы и как сборки из транзисторов или операционных усилителей, погуглите. Вот описание такой схемы в "библии".
Все зависит от того какая точность Вам нужна. Возможно достаточно подключить два аналоговых входа к точкам В и D. Измерить напряжения на них, а дальше математика. При опорном 1,1 В разрешение около 1 мВ.И есть небольшое ограничение, напряжение в этих точках не должно превышать опорное. Т.е. напряжение питания тоже должно быть около 1,1 В.
У меги 2560 есть дифференциальные входы с усилением в 10х и 200х. Только analogRead здесь не поможет, надо самому. Asm или C в помощь.
Точность около 5мВ меня вполне устроит, мне требуется только установить пороговое значение выше которого плата будет выдавить дискретный сигнал на светодиод. Датчик питается от 5В, но выходной сигнал скомпенсирован и находится в диапазоне 0-100мВ. Не совсем понимаю относительно чего будет происходить измерение? если я буду мерить в этих точках относительно "Gnd" то я буду получать часть питающего напряжения с потерей на резисторе. думаю рассчитать там ничего не получится. Думаю правильные показания будут только если я буду именно один провод относительно другого измерять, как тестером.
не, без инстроментальника тут туго будет. рекомендую из линейки INA128, INA129 приглядеть, если точность от температуры не сильно важна, то для опоры использовать простой делитель на 1% резисторах, если важно то по схеме с OPA177.
если и без этого не скучно то, есть спец модули HX711 специально для таких случаев, хоть сам и не пользовал вроде народ не сильно их хаит...
https://www.google.com/search?hl=ru&source=hp&ei=ho6-XbOWCo3mmwW3mI2oBA&q=hx711+arduino&oq=hx711+arduino
как показывает практика, не очень хорошо у меня получается эти даже несложные схемы собирать, всегда появляются какие то наводки, помехи.... поэтому и обратился за советом может все таки возможно как то одной платой обойтись
Точность около 5мВ меня вполне устроит, мне требуется только установить пороговое значение выше которого плата будет выдавить дискретный сигнал на светодиод. Датчик питается от 5В, но выходной сигнал скомпенсирован и находится в диапазоне 0-100мВ. Не совсем понимаю относительно чего будет происходить измерение? если я буду мерить в этих точках относительно "Gnd" то я буду получать часть питающего напряжения с потерей на резисторе. думаю рассчитать там ничего не получится. Думаю правильные показания будут только если я буду именно один провод относительно другого измерять, как тестером.
Входное сопротивление АЦП, практически бесконечность, поэтому безразлично как Вы будете измерять, между точками или относительно земли. Результат будет одинаковым (разница между напряжениями в этих точках). А если питание моста можно сделать автономным, то никто не запрещает одну из этих точек подключить к "земле" ардуино. Правда есть вероятность, что напряжение в другой точке окажется отрицательным и АЦП ардуино не сможет его измерить.
Точность около 5мВ меня вполне устроит, мне требуется только установить пороговое значение выше которого плата будет выдавить дискретный сигнал на светодиод.
как показывает практика, не очень хорошо у меня получается эти даже несложные схемы собирать
я бы даже предложил собрать обычный компаратор, с малым гистерезисом... но похоже, это не ваш вариант.
Входное сопротивление АЦП, практически бесконечность, поэтому безразлично как Вы будете измерять, между точками или относительно земли.
я бы не стал превращать хороший мост в полумост с жестким требованием к питанию. И использовать раздельное питание АЦП и моста тоже не рекомендуется.
раз с руками проблема проще HX711 купить - если с программированием нет проблем :))))))))
я бы не стал превращать хороший мост в полумост с жестким требованием к питанию. И использовать раздельное питание АЦП и моста тоже не рекомендуется.
раз с руками проблема проще HX711 купить - если с программированием нет проблем :))))))))
Для моста не требуются жесткие требования к питанию. В диагоналях измеряется не абсолютное значение напряжения, а разница. А ограничение питания значением 1,1 В, только из-за максимального напряжения на входе АЦП при разбалансе. Если ТС приведет конкретные значения резисторов моста, то возможно и этого ограничения не будет. А насчет HX711 - лучше с ней не связываться. Микросхема достаточно специфичная и тормозная, заточенная под весы.
Входное сопротивление АЦП, практически бесконечность, поэтому безразлично как Вы будете измерять, между точками или относительно земли. Результат будет одинаковым (разница между напряжениями в этих точках). А если питание моста можно сделать автономным, то никто не запрещает одну из этих точек подключить к "земле" ардуино. Правда есть вероятность, что напряжение в другой точке окажется отрицательным и АЦП ардуино не сможет его измерить.
Для моста не требуются жесткие требования к питанию. В диагоналях измеряется не абсолютное значение напряжения, а разница. А ограничение питания значением 1,1 В, только из-за максимального напряжения на входе АЦП при разбалансе.
я не могу понять предложенной схемы, если не сложно нарисуйте - просто не воспринимаю словами. А то мы так друг-друга только запутаем.
HX711 не использовал, да и требования к оперативности ТС не озвучил - хотя она недорогая и специально заточена под такие задачи. инструментальник я предложил выше и компаратор тоже...
Да рисовать то собственно нечего, я приложил стандартную схему измерительного моста что бы было понятно что измерять плечи моста по отдельности не имеет смысла схема работает только тогда когда измеряешь напряжение в двух противоположных точках. Углубиться в схемотехнику не могу, так как честно говоря давно уже с этими мостами не работал, но как априори меня учили что на 2 противоположных контакта подаешь питание и с двух других снимаешь выходной сигнал. Вот у меня и задача как ардуиной померить напряжение между двумя проводами а не между каким то общим проводником...
... пардон, не заметил что вопрос не ко мне
что бы было понятно что измерять плечи моста по отдельности не имеет смысла схема работает только тогда когда измеряешь напряжение в двух противоположных точках. Углубиться в схемотехнику не могу, так как честно говоря давно уже с этими мостами не работал, но как априори меня учили что на 2 противоположных контакта подаешь питание и с двух других снимаешь выходной сигнал. Вот у меня и задача как ардуиной померить напряжение между двумя проводами а не между каким то общим проводником...
Вся суть "моста" - независимость условий балансировки от напряжения питания и температуры. Если схему моста немного перерисовать, то по сути - это два делителя напряжения. Измерительный прибор в диагонали служит лишь для того, чтобы зафиксировать равенство напряжений между средними точками делителей. Если разницы нет, то мост сбалансирован. Раньше для этих целей применялись чувствительные аналоговые микроамперметры с "0" в середине шкалы.Если напряжение больше справа-стрелка вправо, если слева- влево, если равны -"0". Сейчас это можно решить намного дешевле, ведь даже АЦП ардуино имеет разрешение около милливольта на единицу младшего разряда. Поэтому достаточно сравнивать напряжение в точках B и D относительно С в значениях выдаваемых двумя АЦП, и при их равенстве выдавать сигнал, что мост сбалансирован. Ну а вариант с раздельным питанием моста и ардуино, рассматривать смысла нет. Вариант рабочий, но весьма неудачный.
Жаль что наны. Про мегу ничего не скажу, а леонардо и тиньки 25 - 85 имеют честный дифференциальный вход с усилителями 20х , 200х. Для такой задачи самое оно.
Наверное все таки мы о разном говорим. Балансировка моста меня тут не сильно интересует, у меня заводской сбалансированный датчик, по дисбалансу моста определяется усилие воздействия на датчик. мне необходимо считать это значение что бы ограничить это воздействие при пороговом значении.
АЦП ардуины будет измерять точки В и D относительно земли? измерения тестером показали что между В и землей 2,5 В, между D и землей 2,79 В. При этом сигнал не изменяется при воздействии на датчик. Измерение между точками В и D показывают значение 5 мВ и резко увеличиваются при нажатии на датчик.
Жаль что наны. Про мегу ничего не скажу, а леонардо и тиньки 25 - 85 имеют честный дифференциальный вход с усилителями 20х , 200х. Для такой задачи самое оно.
В данном случае АЦП может и совсем не нужен. Задача - не измерять, а сравнивать. Можно использовать входы встроенного компаратора Ардуино. 6 и 7 нога 328.
Leonardo могу выдернуть из другой схемы.
Вариант с дифференциальным входом подразумевает программирование на Си ? или есть стандартные библиотеки?
Наверное все таки мы о разном говорим. Балансировка моста меня тут не сильно интересует, у меня заводской сбалансированный датчик, по дисбалансу моста определяется усилие воздействия на датчик. мне необходимо считать это значение что бы ограничить это воздействие при пороговом значении.
АЦП ардуины будем измерять точки В и D относительно земли? измерения тестером показали что между В и землей 2,5 В, между D и землей 2,79 В. При этом сигнал не изменяется при воздействии на датчик. Измерение вежду точками В и D показывают значение 5 мВ и резко увеличиваются при нажатии на датчик.
Так не бывает. 2,79-2,5=0,29. Или как вариант, у вас слишком высокоомные резисторы делителя или низкоомный тестер который вносит искажения при измерении. Чудес не бывает. Если вы видите 5 мВ между B и D, то и разница между землей и ними во время измерений тоже должна быть 5 мВ. Закон Ома суров, но справедлив. Если нужно измерять, то вариант с компаратором не подойдет. Да и 5 мВ на фоне 2,5 В АЦП ардуино сложно отследить.
2,79-2,5=0,29. Или как вариант, у вас слишком высокоомные резисторы делителя или низкоомный тестер который вносит искажения при измерении. Чудес не бывает.
[/quote]
Да, пардон это я замерил одну пару между минусом, вторую между плюсом, потому что значения между минусом и точками оказались равными, обычный тестер эту разницу в 5 мВ не уловил и я сменил провод.
Ну тогда все получается проще, я по большому счету могу мерить напряжение в точке В с помощью analogread и если не хватит точности то параллельно мерить в точке D и сравнивать эти значения?
Да подразумевает программирование на си. Но я Вас уверяю, что проблем совершенно нет. Достаточно взять стандартную функцию analogRead из ядра ардуино и изменить в ней одну строчку. Поменять название на analogReadD и спокойно пользоваться. Если до этого дойдёт, то подключать мост нужно к А0 и А5. Усиление можно выставить либо 10х либо 40х. Справиться с программой поможем.
2,79-2,5=0,29. Или как вариант, у вас слишком высокоомные резисторы делителя или низкоомный тестер который вносит искажения при измерении. Чудес не бывает.
Да, пардон это я замерил одну пару между минусом, вторую между плюсом, потому что значения между минусом и точками оказались равными, обычный тестер эту разницу в 5 мВ не уловил и я сменил провод.
Ну тогда все получается проще, я по большому счету могу мерить напряжение в точке В с помощью analogread и если не хватит точности то параллельно мерить в точке D и сравнивать эти значения?
[/quote]
Если измерять в одной точке, то измерения будут зависеть от многих факторов (напряжения питания как моста так и Ардуино, температура и еще что нибудь найдется), а если в двух, то эти факторы взаимно уничтожаться и Вы сможете увидеть только разницу напряжений.
В Вашем случае вылезает еще один нюанс-невозможность использовать опорное АЦП 1,1 В при котором можно получить максимальное разрешение 1 мВ на разряд. При опорном 5 в разрешение АЦП будет уже 4,9 мВ. Как вариант можно использовать внешний ИОН где-то на 3 вольта, или 3,3 со стабилизатора Ардуино. Или если есть возможность уменьшить напряжение питания моста.
[/quote]
..В Вашем случае вылезает еще один нюанс-невозможность использовать опорное АЦП 1,1 В при котором можно получить максимальное разрешение 1 мВ на разряд. При опорном 5 в разрешение АЦП будет уже 4,9 мВ. Как вариант можно использовать внешний ИОН где-то на 3 вольта, или 3,3 со стабилизатора Ардуино. Или если есть возможность уменьшить напряжение питания моста.
[/quote]
а если использовать функцию analogReference() то на Меге ведь можно будет использовать INTERNAL2V56: встроенное опорное напряжение 2.56. и тогда разрешение будет около 2 ,5 мВ?
..В Вашем случае вылезает еще один нюанс-невозможность использовать опорное АЦП 1,1 В при котором можно получить максимальное разрешение 1 мВ на разряд. При опорном 5 в разрешение АЦП будет уже 4,9 мВ. Как вариант можно использовать внешний ИОН где-то на 3 вольта, или 3,3 со стабилизатора Ардуино. Или если есть возможность уменьшить напряжение питания моста.
[/quote]
а если использовать функцию analogReference() то на Меге ведь можно будет использовать INTERNAL2V56: встроенное опорное напряжение 2.56. и тогда разрешение будет около 2 ,5 мВ?
[/quote]
Логично, но 2,56 находится на границе, и все что превысит его, будет отображаться одинаково -1023. Нужен хотя-бы небольшой запас. Здесь особая стабильность не нужна. Главное, чтобы опорное не изменилось за время измерения, а это практически нереально.
Да подразумевает программирование на си. Но я Вас уверяю, что проблем совершенно нет. Достаточно взять стандартную функцию analogRead из ядра ардуино и изменить в ней одну строчку. Поменять название на analogReadD и спокойно пользоваться. Если до этого дойдёт, то подключать мост нужно к А0 и А5. Усиление можно выставить либо 10х либо 40х. Справиться с программой поможем.
AD620ANZ, Инструментальный усилитель Ind [DIP-8]... + несколько сопротивлений , одно из которых подобрать под требуемое усиление, а из других собрать делитель опорного напряжения. Если использовать в помещении проблем с точностью не будет.
конечно INA128 несколько лучше в этом плане.
когда надоест экспериментировать, не пожалейте денег - если дело того стоит...
Логично, но 2,56 находится на границе, и все что превысит его, будет отображаться одинаково -1023. Нужен хотя-бы небольшой запас. ...
А если повесить на эти выводы по 3 керамических диода, они посадят выходной сигнал примерно на 2В, тогда можно будет использовать опорное 1,1В или точность таким образом повысить не получится?
А если повесить на эти выводы по 3 керамических диода, они посадят выходной сигнал примерно на 2В, тогда можно будет использовать опорное 1,1В или точность таким образом повысить не получится?
диод очень нелинейный прибор и сильно зависит от температуры - даже не думайте в эту сторону
Логично, но 2,56 находится на границе, и все что превысит его, будет отображаться одинаково -1023. Нужен хотя-бы небольшой запас. ...
А если повесить на эти выводы по 3 керамических диода, они посадят выходной сигнал примерно на 2В, тогда можно будет использовать опорное 1,1В или точность таким образом повысить не получится?
Немного странное определение "керамический диод", но идея сместить уровень-интересная. Так как нужна разница а не абсолютные значения , то разница падения напряжения на цепочках диодов не играет большой роли. И если взять диоды из одной партии, то оно должно быть постоянным и может быть учтено программно. Такой прием применяется достаточно успешно, просто я про него забыл. При этом разница остается той-же. Простенько и со вкусом!
А если повесить на эти выводы по 3 керамических диода, они посадят выходной сигнал примерно на 2В, тогда можно будет использовать опорное 1,1В или точность таким образом повысить не получится?
Немного странное определение "керамический диод", но идея сместить уровень-интересная. Так как нужна разница а не абсолютные значения , то разница падения напряжения на цепочках диодов не играет большой роли. И если взять диоды из одной партии, то оно должно быть постоянным и может быть учтено программно. Такой прием применяется достаточно успешно, просто я про него забыл. При этом разница остается той-же. Простенько и со вкусом!
ГЫ. кода речь идет о милливольтах... помните мультик 38 попугаев? так вот мерить попугаев слонами не айс.
диод очень нелинейный прибор и сильно зависит от температуры - даже не думайте в эту сторону
Все правильно, но есть нюанс. Измерять нужно не абсолютные значения, а разницу. И здесь при одинаковом изменении параметров диодов, результат останется неизменным. Так-же как и в ОУ, стабильность параметров достигается за счет симметрии плеч. Конечно это больше теория, и её истинность покажет только экспиримент. Но чтобы его провести, больших затрат не нужно. А при опорном 1.1 В попугай =1 мВ.
Немножко погуглить и библиотека для дифференциального режима леонардо и меги https://www.davidpilling.com/wiki/index.php/DiffADC Можно мегу к мосту подключать и иметь хорошую точность при использовании внутреннего операционного усилителя. Для меги усиление 1, 10 , 200. Для леонардо 1, 10 , 40 , 200.
диод очень нелинейный прибор и сильно зависит от температуры - даже не думайте в эту сторону
но есть нюанс. Измерять нужно не абсолютные значения, а разницу. И здесь при одинаковом изменении параметров диодов, результат останется неизменным.
как собирете - похвалитесь результатами... что-то ни у кого пока такое получается, даже мост собирают для точности в одном месте, да еще и заливают для термостабильности. А у вас вычетатель на россыпухе, да еще и на нелинейных элементах - с нетерпением жду результатов.
Я бы взял модуль на ADS1015 (например - https://ru.aliexpress.com/item/32687421169.html) У него есть режим дифференциального измерения (получается 2 канала вместо 4-х обычных) и встроенный програмируеммый услилитель.
Занижать сигнал не стал, так так собранная на столе схема показала хороший результат:
набросал простой код с выводом разницы показаний в сериалпорт
и при питании платы Мега и датчика от ноутбука показания считывались достаточно точно, не стабильность сигнала была не более 2 дискрет, и меня это устраивало, однако когда запитал эту схему от импульсного блока питания ситуация резко ухудшилась: нулевой сигнал начал плавать +- 50 дискрет, и это естественно никуда не годиться. Думал проблема в нестабильном питании, но при том же питании, подключил датчик к промышленному измерительному модулю сигнал оказался стабильным +- 0.5мВ. вот и не пойму, стоит ли дальше мучится и пытаться использовать стабильный источник питания для датчика и в качестве опорного для платы или в принципе точные измерения в моем случае возможны только дифференциальным методом? (не учитывая конечно варианта со сборкой схемы с инструментальным усилителем или чем то подобным)
Занижать сигнал не стал, так так собранная на столе схема показала хороший результат:
набросал простой код с выводом разницы показаний в сериалпорт
и при питании платы Мега и датчика от ноутбука показания считывались достаточно точно, не стабильность сигнала была не более 2 дискрет, и меня это устраивало, однако когда запитал эту схему от импульсного блока питания ситуация резко ухудшилась: нулевой сигнал начал плавать +- 50 дискрет, и это естественно никуда не годиться. Думал проблема в нестабильном питании, но при том же питании, подключил датчик к промышленному измерительному модулю сигнал оказался стабильным +- 0.5мВ. вот и не пойму, стоит ли дальше мучится и пытаться использовать стабильный источник питания для датчика и в качестве опорного для платы или в принципе точные измерения в моем случае возможны только дифференциальным методом? (не учитывая конечно варианта со сборкой схемы с инструментальным усилителем или чем то подобным)
У ноутбука, тоже импульсный блок питания, просто более качественный. Если стабильность и чувствительность от БП ноутбука достаточны, то есть смысл немного поработать с программной и аппаратной частью. Во первых поставить RC фильтра на аналоговые входы и желательно по питанию. Ну и усреднить показания (считывать не один раз, а несколько и показания усреднять). Поищите, где-то была тема про оверсемплинг. В промышленном модуле скорее всего есть дополнительные фильтра или стабилизаторы. И данные усредняются т.к. скорость изменения входных сигналов незначительная. Еще один источник нестабильности - банальные наводки. Схемотехника импульсных БП в целях электробезопасности предполагает связь с питающей сетью. Откуда по "земляным" проводам двух устройств, питающихся от разных БП могут гулять непредсказуемые токи. Можно попробовать запитать ноутбук от аккумулятора и посмотреть на изменения.
Точность около 5мВ меня вполне устроит, мне требуется только установить пороговое значение выше которого плата будет выдавить дискретный сигнал на светодиод. Датчик питается от 5В, но выходной сигнал скомпенсирован и находится в диапазоне 0-100мВ.
Про дифференциальный каскад написано сразу в #1. Нужен 1 операционник.
АЦП ардуины будет измерять точки В и D относительно земли? измерения тестером показали что между В и землей 2,5 В, между D и землей 2,79 В. При этом сигнал не изменяется при воздействии на датчик. Измерение между точками В и D показывают значение 5 мВ и резко увеличиваются при нажатии на датчик.
B - C 2.5
D - C 2.79
D - B 0.29 было бы правдоподобнее.
Или есть какая-то ещё неизвестная земля, не соединенная с C?
B - C 2.5
D - C 2.79
D - B 0.29 было бы правдоподобнее.
Или есть какая-то ещё неизвестная земля, не соединенная с C?
[/quote]
я поправился в сообщении ниже, в обеих точках 2,5 В с разницей в 5 мВ которые простым тестером я не увидел
Ардуиновский АЦП - кака Вот на ночь запустил измерение опорного напряжения встроенным в Атмегоу 328 АЦП и внешним АЦП на ADS1015
Ардуиновский АЦП - кака Вот на ночь запустил измерение опорного напряжения встроенным в Атмегоу 328 АЦП и внешним АЦП на ADS1015
спасибо за визуализацию, т.е. разброс примерно 15мВ при реальных 2мВ, и если ещё поместить все это в неблагоприятные условия, но ситуация наверное ещё больше усугубиться... Значит буду думать о внешнем АЦП.
и если ещё поместить все это в неблагоприятные условия, но ситуация наверное ещё больше усугубиться... Значит буду думать о внешнем АЦП.
Вы бы не скрывали температурный диапазон использования своего девайса, а то может там в космос железо полетит.
Предполагается что работать будет в комнатных условиях, электроника размещается в системном блоке вместе с драйверами шаговых двигателей, блоками питания и т.п. думаю рабочая температура будет не более 60 градусов.
спасибо за визуализацию, т.е. разброс примерно 15мВ при реальных 2мВ, и если ещё поместить все это в неблагоприятные условия, но ситуация наверное ещё больше усугубиться... Значит буду думать о внешнем АЦП.
Побробую сегодня на ночь поставить аналогичный эксперимент но с noise reduction у ардуины. Может получше будет. В планах еще исследовать поведение АЦП в зависимости от темературы. Пока все было в районе 16С-18С
Не все так однозначно. Спорить, что АЦП 328 хуже ADS 1015 никто не собирается. Но в случае измерения разницы, а не абсолютного значения двух напряжений, его преимущества только в большей разрядности. Если она нужна, то никуда не денешься. А если можно обойтись без внешнего АЦП, то лучше не городить огород. Усложняется само устройство и добавление каждого элемента в схему снижает её надежность.
Не все так однозначно. Спорить, что АЦП 328 хуже ADS 1015 никто не собирается. Но в случае измерения разницы, а не абсолютного значения двух напряжений, его преимущества только в большей разрядности. Если она нужна, то никуда не денешься. А если можно обойтись без внешнего АЦП, то лучше не городить огород. Усложняется само устройство и добавление каждого элемента в схему снижает её надежность.
Так при измерении разницы у ADS1015 преимуществ еще больше! Он может работать в диффернциальном режиме и измерять разнуцу сразу за одно преобразование. А встроенный должен делать 2 измерения причем с большей чем обычно задержкой из-за переключения каналов. То есть мы будем иметь погрешность 2-х измерений, что приводит к увеличени. общей погрешности 1.4 раза, плюс возможное изменение полезного сигнала за время измерения.
Появилась мысль, если мне необходимо измерить одно плечо относительно другого, при чем желательно за одно измерение, то может я могу одно плечо завести на плату в качестве внешнего опорного напряжения, а второе в качестве измеряемого канала, и по идее я ведь и должен получить сравнение этих сигналов? или ничего таким образом не выиграешь?
Появилась мысль, если мне необходимо измерить одно плечо относительно другого, при чем желательно за одно измерение, то может я могу одно плечо завести на плату в качестве внешнего опорного напряжения, а второе в качестве измеряемого канала, и по идее я ведь и должен получить разницу? или ничего таким образом не выиграешь?
Судя по Вашим мыслям, Вы далеко не гуманитарий. Выигрыш будет, но здесь следует учесть, что АЦП сможет измерять только если на входе напряжение меньше опорного. Т.е. или придется выбирать что будет опорным или ставить хотя-бы небольшой делитель, который неизбежно уменьшит разрешение. Все зависит от конкретных условий - возможного диапазона изменения контроллируемого напряжения.
UPD
не знаю глубину познаний ТС в интересующей области, решил немного помочь - нашел "одну из" и "не самую лучшую, не все освещено", но большая часть отмечена и не самым худшим образом.
Как обойти «подводные камни» при конструировании мостовых датчиков - прочитайте для начала.
Обратите внимание на Рисунок 5, как устроено опорное напряжение REF не просто с делителя, а через операционник, при этом опора моста, АЦП и смещение усилителя питаются от одного источника.
в тут нашел схему, по поводу номиналов есть вопросы, но идейно схема рабочая.
Написал маленький тест на дифф режим леонардо с помощью приведённой выше библиотеки. Вывод в кодах АЦП. Подключил к мосту и посмотрел как работает внутренний дифф усилитель с АЦП. К сожалению питание грязное, но общая картина понятна. Отлично работает. Милливольты измеряет.
Вывод при вращении резистора моста - 10 разрядов разницы (50 мВ) между входами А0 и А5 дают 400 разрядов в дифф режиме, что соответствует чувствительности около 0.1 мВ на разряд АЦП. К тому же показывает положительное или отрицательное напряжение на мосте. На меге будет похожий результат. Она у ТС есть и никаких дополнительных АЦП и усилителей ненужно.