АЦП высокого разрешения для датчиков шума в переменных условиях

9

вступление

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

обзор

Я пытаюсь спроектировать схему сбора данных для текстильных датчиков растяжения на кузове. Текстиль изменяет сопротивление по мере растяжения (около 1 порядка, 10k -100k с 30% растяжением). Точные диапазоны будут меняться в зависимости от того, как нарезается текстиль, пропитан ли он потом, температурой, сколько лет материалу, как он монтируется и т. Д. Все это должно быть как можно меньше, потому что оно монтируется на руке Таким образом, минимизация количества компонентов является большим плюсом.ΩΩ

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

Путь сигнала

[Текстиль] -> [Мост Уитстона] -> [Низкочастотный диапазон] -> [Усилитель инструментовки] -> [АЦП] -> [AVR]

Требования

Итак, я ищу АЦП, который будет соответствовать моим требованиям. АЦП должен быть:

  1. 16bits +
  2. Как можно проще в использовании: гораздо лучше, если для AVR / Arduino уже написан интерфейсный код ...
  3. ... и в то же время настолько всеобъемлющий, насколько это возможно: я видел некоторые АЦП с низкочастотными фильтрами и встроенными PGA - тем лучше, если это не мешает настройке
  4. 8+ каналов или, если это достаточно просто реализовать, 2x 4+ каналов. РЕДАКТИРОВАТЬ: Если я использую мост Уитстона, возможно, я хочу 8 дифференциальных входных каналов (так 16 каналов) ...
  5. Я не думаю, что рабочее напряжение имеет значение ... (лучше всего, если не выше 5 В)
  6. Поверхностный монтаж
  7. Не должен быть дешевым (это разовое)
  8. SPI против I2C не имеет значения, я думаю ...
  9. 100+ Гц

Исследование

До сих пор через Google, я нашел следующие чипы:

и следующие уроки:

Опорное напряжение?

Наконец, некоторые люди рекомендуют точный эталон напряжения, такой как серия Analog Devices REF19x . Вы считаете это необходимым? Разрешение определенно важно для меня.

Вывод

Дайте мне знать, если у вас есть какие-либо рекомендации! Я также не уверен, что именно я ищу, поэтому советы о том, как принять решение, также приветствуются.

терраса
источник
Я надеюсь избежать такого рода историй: arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1264346368
терраса
@msutherl - Было бы важно, если бы вам пришлось использовать мультиплексор для подключения к этому АЦП? Вам будет нелегко найти 16-канальный 16-разрядный АЦП, но 1-канальные или 2-канальные части довольно просты ...
Кевин Вермеер,
1
Биты сами по себе не определяют динамический диапазон. 24-разрядные преобразователи теоретически могут иметь динамический диапазон 144 дБ, но реальные преобразователи составляют 100-120 дБ или около того. Вы уверены, что вам нужно такое большое разрешение для датчика растяжения? Вы пытаетесь обрабатывать много разных датчиков растяжения разных значений? Я думаю, что было бы лучше просто использовать усилитель с переменным усилением и настроить его для каждого. Вам все равно придется выполнить эту калибровку где-нибудь.
эндолит
1
Вам нужно 100 Гц + для каждого датчика или для всех них? С многоканальными АЦП вы часто получаете 1 АЦП и мультиплексор, поэтому вам придется делить SPS на количество каналов (или больше, если пара мультиплексор / АЦП не может переключать каналы очень быстро).
JPC
1
@msutherl Да, ручное усиление или усилитель с программируемым усилением. Что-то вроде PGA116 может обрабатывать выборки всех ваших датчиков в циклическом режиме с разным коэффициентом усиления для каждого, и все это делается в программном обеспечении?
эндолит

Ответы:

7

ADS1256 от TI имеет восемь несимметричных 24-битных каналов с высокоимпедансным входным буфером и PGA. Проект OpenEXG имеет PIC-код для взаимодействия с ним (они используют двухканальную версию ADS1255, но она должна быть одинаковой).

Если вам нужны дифференциальные входы, то есть ADS1298 с 8 каналами, PGA и A / D, внутренним заданием, плюс схемы ЭКГ / ЭЭГ, которые вы можете игнорировать. Я не уверен, что вы можете найти какой-либо пример кода для этого, хотя.

Если вы ищете разрешение, то точный, низкий уровень шума является обязательным.

Ярослав Смунт
источник
5

Может быть, нетрадиционная идея, мне интересно, что вы, ребята, думаете об этом:

Один порядок величины кажется достаточно большим изменением, чтобы измерить его непосредственно в цепи делителя напряжения.

Затем вы можете использовать меньший АЦП и изменять ток через датчик. Фильтрованный источник напряжения ШИМ + повторитель напряжения (может быть одним NPN-транзистором, если вы бедра в космосе) может существенно улучшить ваш динамический диапазон.

Вы можете использовать один или два из них и переключать напряжение при измерении разных датчиков.

JPC
источник
Совсем нетрадиционно. Фактически, если он хочет использовать небольшой 8-битный микроконтроллер, таким образом он может избежать работы с 24-битными значениями, и сложность может быть меньше, чем сопряжение этих сложных АЦП. Динамический диапазон может быть суммой динамических диапазонов АЦП и ШИМ в идеальном случае. С другой стороны, кажется, что для многих людей аналоговые схемы сложнее цифровых, поэтому использование 24-битного АЦП может быть проще. Кроме того, динамический диапазон АЦП может быть увеличен с помощью передискретизации и цифровой фильтрации ... ну, это уже не просто.
Ярослав Cmunt
@ Ярослав Спасибо. 1. У него уже есть мост Уитстона, поэтому, я думаю, он не боится аналоговой части. :) 2. 1 или 2 бита дополнительного разрешения должно быть достигнуто простым фильтром промежуточной суммы.
jpc
1
Верно! Вот ссылка для OP: http://www.dspguide.com/ch15.htm
Ярослав Cmunt
3

Если ваша основная проблема заключается в том, чтобы иметь широкий динамический диапазон для любого данного «датчика», вы можете рассмотреть возможность использования ЦАП (или даже просто источников напряжения, управляемых с помощью MPU) для регулировки смещения / усиления усилителя, чтобы изменить производительность системы для различных материалов.

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

Toybuilder
источник
0

Если у вас достаточно вычислительной мощности для необходимой частоты дискретизации, подумайте о цифровой фильтрации. Савицкого-Голея фильтр, ф / ех.

  • Вы можете изменить алгоритмы проще, чем части;
  • Вставив часть фильтрации в программное обеспечение, вы, вероятно, сможете использовать более низкую спецификацию, чем если бы сама часть была более устойчивой к помехам или выполняла всю фильтрацию;
  • Вы узнаете намного больше о ваших входах и о том, что вам нужно от них, и сможете сделать более осознанный выбор деталей, если вам действительно нужна деталь с более высокими характеристиками.
  • Программное обеспечение и навыки легко переносятся на другие ваши приложения!
JRobert
источник
вся фильтрация будет выполняться на ПК в среде обработки сигналов в реальном времени.
терраса
0

Почему бы не включить его до 11, а просто использовать TI ADS1262 . Это 32-разрядный АЦП, с 11 входами и PGA!

ADS1262

С 32-битным вы можете в значительной степени сэмплировать что угодно. И это даже не так дорого. Более того, если вы делаете только один из них, просто получите бесплатный образец .


Другой вариант - использовать PSoC. Это микроконтроллеры, содержащие реконфигурируемые аналоговые и цифровые блоки, которые вы можете использовать для создания всевозможных функций. Вы можете выбрать один с 16-разрядным АЦП, PGA, ЦАП и цифровым фильтром, чтобы сделать свой собственный автоматический выбор диапазона, автоматическую подстройку, передискретизацию, цифровую фильтрацию, АЦП!

PSoC38xx

Программирование этих вещей - пустяк, поскольку вы просто рисуете желаемую схему, выбирая предварительно определенные функции из списка. Затем напишите немного кода на C, и вы уйдете.

Rocketmagnet
источник