Правильное изменение отрицательного напряжения с помощью Arduino

Как я могу правильно получить переменное отрицательное напряжение с помощью Arduino? Я хотел бы использовать контакт питания 5 В на Arduino, уменьшить его (динамически) до соответствующего напряжения и преобразовать его в отрицательное напряжение, которое будет использоваться в качестве отрицательного источника питания.

Я видел сообщения, в которых используется преобразователь отрицательного напряжения ICL7660 для подачи отрицательного напряжения. Я также хотел бы получить как можно ближе к 0 вольт (очень высокое отрицательное напряжение, например: -0,1 В).

Насколько мне известно, есть два способа сделать это:

Первый метод:

  1. Масштабирование входного напряжения 5 В с помощью цифрового потенциометра
  2. Используйте микросхему для преобразования выходного напряжения цифрового потенциометра в отрицательное напряжение.

Второй метод:

  1. Преобразуйте входное напряжение 5 В в -5 В, используя некоторую микросхему.
  2. Шкала -5В с помощью цифрового потенциометра

Есть ли какие-либо недостатки при получении FSR любым из этих двух методов? Какие конкретно компоненты вы бы порекомендовали? У меня есть цифровой потенциометр MCP4231 (но он не подходит для второго метода, так как он не принимает отрицательное напряжение).

Конечная цель состоит в том, чтобы иметь возможность получать переменное отрицательное напряжение (управляемое цифровым потенциометром, который я могу изменить с помощью программного обеспечения) без каких-либо дополнительных батарей. Я также хотел бы получить хороший разброс между -0,1 В и -5 В.

Я пытаюсь использовать отрицательное напряжение для питания чувствительного к силе резистора Flexiforce (Vt на рисунке ниже):введите описание изображения здесь

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

РЕДАКТИРОВАТЬ

По совету @DrFriedParts я использовал его схему, чтобы полностью исключить использование источника отрицательного напряжения. Однако при моделировании схемы и ее реализации я не получаю выходного напряжения, отличного от 5 В.

Вот снимок цепи:

введите описание изображения здесь

На выходе всегда 5 В, независимо от того, какие значения я изменяю для Rs (датчик) и Rf (резистор обратной связи). Я делаю что-то неправильно? Разве я не должен применять напряжение смещения намного ниже 5 В (например, 0,5 В), чтобы выходное напряжение было от 0,5 В до 5 В?

Все это кажется очень хитрым, если вы просто хотите прочитать сопротивление FSR (что можно сделать с помощью различных методов АЦП) - или вам это нужно для чего-то еще?
Хм. Что ж, приведенная выше схема позволяет мне динамически изменять диапазон силы (путем изменения Vt и Rf). Мне нужно изменить диапазон силы для моего приложения. Есть ли альтернативный более простой способ сделать это? В настоящее время я изменяю Rf с помощью цифрового потенциометра, но для источника отрицательного напряжения FSR (Vt) мне нужна помощь в определении наилучшего способа изменения этого напряжения.
Мост Уитстона обычно идеален для считывания изменения сопротивления как напряжения. Посмотрите, будет ли это соответствовать вашим потребностям. Диапазон силы обычно определяется механикой датчика, а не напряжением, если я что-то не упустил.
Я не считаю, что мост из Уитстона требуется. Вот спецификация датчика, который у меня есть: tekscan.com/sites/default/files/resources/FLX-A301-A.pdf . Диапазон усилия можно регулировать (как указано в техническом описании) путем изменения напряжения и резистора обратной связи. Мне просто нужно определить способ правильного изменения отрицательного напряжения с помощью моего Arduino.
Альтернативное предложение, если вам не нужна сверхширокая полоса пропускания: доведите эту штуку с динамически управляемым источником тока до постоянного целевого напряжения. С помощью «1-битного ЦАП» вы можете достичь высокого разрешения и динамического диапазона, безусловно, выше, чем у 10-битного АЦП. (Кстати, каковы шумовые характеристики и точность вашего цифрового потенциометра? Это также ограничит ваше эффективное разрешение).
@ pjc50 Как мне создать «динамически управляемый источник тока»? Могу ли я использовать аналог записи на Arduino, чтобы сделать это? Почему это ограничивает пропускную способность?

Ответы (1)

Вероятно, это ненужная архитектура.

Вам действительно не нужны (и, вероятно, не нужны) отрицательные напряжения в вашем приложении.

  • АЦП вашего микроконтроллера может считывать только положительные напряжения.
  • Ваш операционный усилитель может генерировать только положительное напряжение.
  • Преобразователь будет генерировать только положительное напряжение.

Пьезоэлемент представляет собой большой резистор без давления, сопротивление которого уменьшается при приложении давления.

(Примечание: я не знаю, каков входной динамический диапазон вашего АЦП, поэтому здесь я предполагаю 0–5 В. Масштабируйте соответственно, если ваш диапазон меньше)

Чтобы поместить элемент в динамический диапазон вашего АЦП, вам нужно преобразовать изменение сопротивления преобразователя (Flexiforce) в изменение напряжения... и затем масштабировать полученный результат.

Я предлагаю...

Прежде чем мы пойдем дальше, следует отметить, что техническое описание этого преобразователя недостаточно полезно. В нем отсутствуют кривые или параметры, которые фактически позволили бы вам предсказать производительность этой схемы. Они даже заходят так далеко, что говорят вам калибровать каждую единицу по отдельности (подразумевая высокую изменчивость среди единиц).

Тем не менее, мы можем сделать некоторые выводы из заметок в таблице данных. А именно:

  • Они указывают, что сопротивление без нагрузки превышает 5 МОм.
  • Сопротивление обратной связи должно быть ниже сопротивления преобразователя, иначе выходной сигнал насыщается.
  • Они указывают минимальное сопротивление обратной связи 1 кОм.

Я предлагаю подключить Vref к +5 В, используя 256-контактный потенциометр с цифровым управлением 1 МОм для Rf (например, ANALOG DEVICES AD5241BRZ1M) и заземлить другую клемму преобразователя.

Это результирующая передаточная функция:

В о ты т п ты т "=" р с р ф р с В р е ф

где Rs — сопротивление Flexiforce, Rf — сопротивление обратной связи, а Vref — напряжение, подаваемое на положительный вывод операционного усилителя.

Как это работает

При более высоком давлении сопротивление преобразователя ниже. Если ваш АЦП имеет 10 эффективных разрядов, мы можем разрешить 5 мВ из диапазона 5 В.

Установив усиление на 1 МОм (1e6 Ом), мы можем разрешить изменение сопротивления датчиков на 0,5%! Выходное напряжение изменится с 4.000В до 3.995В.

По мере того, как сопротивление продолжает уменьшаться (увеличивается давление), мы можем продолжать определять давление с очень высокой точностью до тех пор, пока сопротивление преобразователя не приблизится к 1 МОм (такое же, как сопротивление обратной связи).

На этом этапе вы должны уменьшить сопротивление обратной связи, чтобы увеличить динамический диапазон (возможность измерять более широкий диапазон давлений) за счет разрешения (возможность измерять крошечные изменения давления). НЕ ВОЛНУЙСЯ. Ваше разрешение будет по-прежнему очень хорошим (скорее всего, лучше, чем минимальный уровень шума преобразователя или операционного усилителя).

При максимальном давлении, которому может подвергаться преобразователь, сопротивление обратной связи будет минимальным. В случае предложенной мной части Analog Devices это около Rf = 3,9k. В этой ситуации вы можете разрешить (теоретически) изменение сопротивления датчиков на 0,1%.

Потрясающий! Широкий динамический диапазон и отсутствие беспорядочного питания с переменным отрицательным напряжением!

YMMV

Следует отметить, что целью отрицательного смещения является повышение вашей чувствительности при низких давлениях (где преобразователь будет около 5 миллионов Ом). Такая система не обязательно превзойдет мое предложение, поскольку инвертирующий источник питания вводит много дополнительных путей распространения помех и должен быть разработан очень тщательно для такой чувствительной схемы с высоким импедансом. Это также будет стоить значительно дороже, поскольку в нем используется больше компонентов и более дорогие компоненты.

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

Хм, вот даташит на датчик: tekscan.com/sites/default/files/resources/FLX-A301-A.pdf . Схема, которую я показал, является рекомендуемым электронным интерфейсом для этого FSR. Это не датчик изгиба, а датчик давления. Вы упомянули о смещении операционного усилителя на 2,5 В. Это фактически убрало бы половину моей комнаты для измерений (в 10-битном АЦП я смог бы считывать только между 512 и выше). Разве это не плохо для получения наибольшей точности в заданном диапазоне усилий?
Я пересмотрю ответ...
Я пересмотрел ответ, чтобы явно разобраться с этим преобразователем. Удачи с вашим проектом!
Спасибо! В настоящее время у меня настроена цепь отрицательного напряжения, и мне нужен только цифровой потенциометр на 100 кОм для управления полным диапазоном силы. Зачем мне потенциометр на 1 МОм? Кроме того, в начале вашего ответа вы определили передаточную функцию. Разве передаточная функция Vout = -Vt * (Rf/Rs) не соответствует изображению, которое я разместил?
Мой дизайн и ваш дизайн очень разные. Передаточная функция вашего проекта показана на рисунке. Передаточная функция моего дизайна такая, как я описал. Для вашей конструкции требуется источник питания с отрицательным напряжением и источник питания с положительным напряжением. Моему нужен только положительный = меньше шума, меньше деталей, меньше стоимость. Оба подхода будут работать.
Эй, не могли бы вы взглянуть на ссылку чата выше? Спасибо!
Эй, я добавил некоторые детали в свой первоначальный вопрос. Не могли бы вы посмотреть?
@tabchas -- я сейчас в самолете. Завтра посмотрю (надеюсь).
У вас была возможность взглянуть на DrFriedParts?