Чтение 4-проводного датчика давления через дифференциальный усилитель

Я пытался прочитать 4-проводной датчик давления (M3021-000005-01KPG) с помощью микроконтроллера, но проблемы продолжают возникать. Прежде всего, я понял, что сигнал (0-100 мВ) является дифференциальным, а это значит, что мы должны измерять его между двумя сигнальными проводами преобразователя, а не между землей цепи и одним проводом. С лабораторными приборами это не проблема, но хотелось бы считывать сигнал микроконтроллером. В этом случае проблема становится очевидной, потому что не только сигнал слишком мал (0-100 мВ), но и АЦП микроконтроллера (например, АЦП Arduino) сравнивает напряжение с его землей и не считывает дифференциальные сигналы.

Я попытался пропустить сигнал через схему дифференциального усилителя (операционный усилитель с несколькими резисторами) с единичным усилением (позже я добавлю усиление), чтобы преобразовать его в сигнал относительно земли схемы, но сигнал не был правильно прочитан. . В частности, я показывал 5 мВ без подключенного датчика и 8 мВ с датчиком при давлении 6 бар. Сигнал датчика при 6 барах должен быть 9 мВ, поэтому я предполагаю, что я должен читать 5 + 9 = 14 мВ. Я знаю, что диф. усилитель Схема правильная, потому что я измерял ожидаемые результаты, когда отправлял пользовательский дифференциальный сигнал вместо датчика (я получал значение сигнала + шум). Я также знаю, что сигнал преобразователя в порядке, потому что я измерил его мультиметром без диф. усилитель схема.

Так и не могу понять что не так. У меня нет большого опыта работы с операционными усилителями, поэтому буду признателен за любую помощь!

PS: Немного информации о датчике. Сигнал 0-100 мВ, линейно представляющий значения от 1 до 69 бар. Я знаю, что сигнал почти на уровне шума, но я мог постоянно измерять 9 мВ при 6 барах с помощью хорошего мультиметра, поэтому я предполагаю, что датчик работает нормально. Фильтры и усиление, вероятно, нужно будет добавить позже, но сейчас мне просто нужно преобразовать дифференциальный сигнал в несимметричный.

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Техническое описание: https://eu.mouser.com/datasheet/2/418/6/ENG_DS_MSP300_B-1130121.pdf

Добавьте схему к своему вопросу, используя встроенный редактор схем платы, показывающий, как вы подключили дифференциальный усилитель, включая его соединения питания и заземления, а также номер детали. Редактор схем — это кнопка «диод/резистор/конденсатор» на панели инструментов, которая появляется, когда вы редактируете свой вопрос.
Спасибо за ответ, добавил схему.
Ваш датчик хорошо работает с такими низкими импедансами? Напряжения смещения усилителя может быть достаточно, чтобы дать вам выходной сигнал -ve и, таким образом, насытить усилитель при 0 В, вернуть R3 к вольту или около того, а не к земле, чтобы убедиться, что выход выше земли. Arduino также плохо читается рядом с gnd. Измерьте выход преобразователя + усилителя в цифровой мультиметр, он не читает, что вы это сделали.
У вас есть выходной преобразователь мВ, M30*2*1, поэтому сопротивление нагрузки должно быть >= 1 МОм.

Ответы (2)

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

Напряжения смещения на LM358 могут привести к напряжению, близкому или даже ниже уровня земли. Хотя синфазный сигнал на входе опускается ниже 0 В, на выходе этого точно нет. Ваш усилитель может неправильно управлять выходом вблизи земли.

АЦП Arduino не считывает правильно в пределах нескольких отсчетов земли.

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

Поскольку LM358 представляет собой двойной операционный усилитель, я предлагаю вам использовать базовую схему инструментального операционного усилителя с двумя усилителями, показанную здесь . Я расположил резисторы в такой конфигурации, которая проясняет принцип работы усилителя и, надеюсь, ее легко запомнить. Усилители сделают все возможное, чтобы напряжение на резисторах R1 было равно дифференциальному входному напряжению. Ток R1s течет через R2s, и мы берем выходное напряжение по всей цепочке R2+R1.

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Теперь ваше высокоимпедансное устройство нагружено только входами усилителя.

Используйте входное напряжение Vref, чтобы поместить выходное напряжение в чистый диапазон АЦП вашего Arduino. Может быть, есть диод на землю с небольшим током смещения, чтобы дать 0,7 В. Вам не нужно точно знать его, так как вы можете подключить его к другому входу АЦП и считать его, поэтому вы можете использовать делитель напряжения между питанием и землей для ссылаться на него. Выходное напряжение представляет собой разницу между Vref и Vout.

Без RG показанные номиналы резисторов дают усилителю усиление 11, или при равных значениях (скажем, все они 10k) коэффициент усиления будет равен 2. Вы можете использовать RG, чтобы увеличить усиление, если хотите, сохраняя хорошее подавление синфазного сигнала. , без замены согласованных резисторов R1 и R2.

Этот простой усилитель имеет ограничения. Я предлагаю вам прочитать учебник, на который я ссылаюсь, для компромиссов синфазного режима / Vref / усиления, которые могут привести к насыщению OA1. Либо так, либо проверьте с помощью цифрового мультиметра или симулятора, находится ли фактическое выходное напряжение OA1 в пределах всего рабочего диапазона вашего преобразователя.

Спасибо за ваш подробный и информативный ответ. Мне пришлось потратить некоторое время, чтобы изучить его, но теперь я понимаю, о чем вы говорите. Я буду иметь в виду схему, когда вернусь в лабораторию. Еще раз спасибо!

Что касается конца датчика-буферного усилителя: многие датчики давления реализуют в своей конструкции мост Кельвина-Уитстона. Самый безопасный способ подключить датчик к системе сбора данных — следовать инструкциям производителя датчика или вашего поставщика, но существуют сценарии, в которых вам придется решать проблему самостоятельно. См. схему, которую можно использовать с 4-проводным датчиком давления, в примечаниях к курсу EE4900 Государственного университета Вебера, «Основы проектирования датчика» , стр./слайд 21. Возможно, с необходимыми изменениями схему можно будет адаптировать к вашей системе.

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

ОБНОВЛЯТЬ

С вашей «схемой дифференциального усилителя ... с единичным усилением», раскрытой в редактировании вопроса, неожиданно низкая выходная мощность буферного усилителя имеет четкое объяснение: нагрузка для датчика давления слишком велика, и вам лучше использовать инструментальный усилитель. Решение с инструментальным усилителем с двумя усилителями должно работать, и это решение предлагается в примечаниях к курсу EE4900, но, учитывая, что у вас «не так много опыта работы с операционными усилителями» (по вашим словам), и чтобы быть в курсе С другой стороны, возможно, будет проще реализовать инструментальный усилитель с тремя операционными усилителями .

Спасибо за быстрый ответ. Я посмотрю на предоставленную вами схему и, возможно, реализую какую-то ее часть в своем дизайне.
Хм, я вроде понимаю, что вы говорите о большой нагрузке. Инструментальный усилитель с 3 операционными усилителями действительно проще в реализации и устранении неполадок, чем схема из примечаний к курсу EE4900. Я собираюсь попробовать это, как только вернусь в лабораторию. Спасибо.