Перейти к содержанию
    

Использование дифференциальных АЦП

Доброго дня уважаемые форумчане!

Потратила уже кучу времени, но, почему-то, ничего внятного найти по своему вопросу на русском языке не смогла, а с английским все очень сложно. Решила спросить, может быть здесь мне смогут помочь. Хочется раставить, так сказать, все точки над i для себя, наконец.


Задача, по сути своей тривиальная - имеется датчик, у датчика аналоговый выход 0,5...2,5В. Необходимо считать это значение с точностью 16 бит на частотах около 250 кГц.
Первое, что пришло мне в голову это сделать масштабирующий усилитель, который просто "растягивает" сигнал до 0...5В и подать на АЦП AD7685. Собрала схему, как на картинке ниже - в целом, что в Proteus (на номиналы резисторов смотреть не стоит, там немного другой масштаб, но суть та же), что в реальности работает, но хотелось бы сделать какую-то более адекватную схему, с применением дифференциального АЦП, чтобы сразу на него подать сигнал 0,5...2,5В и получить заветные 16 бит данных, да и вообще разобраться как они работают. 

Выбрала АЦП из этой же серии AD7693, но не могу понять, что подавать на V_REF и на V_IN-. Посмотрев видео (не знаю, можно ли прикреплять ссылки.. надеюсь, что да https://www.youtube.com/watch?v=qAPUqajE1cw) сложилось впечатление что надо подать на V_REF = 1В (амплитуда сигнала относительно V_IN-), а на V_IN- = 1.5В (середина сигнала). Но по datasheet на V_REF нельзя подать менее 2.5В. Как быть, что делать, может какой-то другой АЦП и все очевидно?
Прошу помочь и обьяснить, как это вообще работает (или должно работать).

Заранее благодарю,
Александара.

1.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

V_ref - опора АЦП, 1В туда действительно подавать не стоит, относительно неё измеряется входное напряжение которое может быть 2.5В, надо подать чуть больше. 

выход датчика 0.5..2.5В относительно чего? относительно земли, вот её и подавайте на Vin-, на Vin+ - выход датчика, 

да, АЦП станет 15ти битным, потому что без масштабирования только меньше половины положительной шкалы используется 2.5-0.5  =  2В из +-Vref, но нарисованный усилитель одиними только сопротивлениями шума добавит почти на тот же младший разряд, что пришлось откинуть без масштабирования, не говоря про температурные дрейфы смешения и коэффициента. а микроамперные входные токи на этих 100кОмах вообще сотню мВ смещения сделают.

так что совсем без этого усилителя хуже не станет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 минуты назад, predeina.alexandra19 сказал:

AD7693, но не могу понять, что подавать на V_REF и на V_IN-

Типовая схема на Рис.26 паспорта, опорное 1,024 В, на один из входов подать середину шкалы: (0,5 В + 2,5 В) / 2 = 1,5 В, на другой — сигнал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ваша схема... слов не подберу. 

Учтите, что для 16-разрядной точности, Вам понадобятся и опорный источник и резистивный делитель соответствующей стабильности. Это, если честно, а не для втирания очков. Надо шумы ещё правильно считать для выбора схемы измерения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

47 минут назад, _pv сказал:

выход датчика 0.5..2.5В относительно чего?

 

Относительно общего провода, контакта, GND в общем.

37 минут назад, Plain сказал:

Типовая схема на Рис.26 паспорта, опорное 1,024 В, на один из входов подать середину шкалы: (0,5 В + 2,5 В) / 2 = 1,5 В, на другой — сигнал.

А вот это именно то, что я и предположила в первую очередь, именно такую схему подключения, но смутило, что на REF по документации надо от 2.5В подать.

9 минут назад, Tanya сказал:

Ваша схема... слов не подберу. 

Учтите, что для 16-разрядной точности, Вам понадобятся и опорный источник и резистивный делитель соответствующей стабильности. Это, если честно, а не для втирания очков. Надо шумы ещё правильно считать для выбора схемы измерения.

А и не надо подбирать никаких слов, я не прошу оценивать эту схему вообще, это и не схема впрочем, я выше четко указала что это просто макет для проверки идеи, и "но хотелось бы сделать какую-то более адекватную схему".

Ясное дело что в качестве референса в реальном применении будут использоваться адекватные микросхемы от той же AD и прочие вещи. Самым адекватным мне видится именно сконфигурировать схему с дифференциальным АЦП, на входе которого лишь драйвер этого АЦП и выход с датчика 0.5...2.5В. Реально ли это?

Спасибо большое за ответы,
Александра

Изменено пользователем predeina.alexandra19

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, predeina.alexandra19 сказал:

что на REF по документации надо от 2.5В подать.

Где там в документации такое сказано?

 

image.thumb.png.1e81e5fa77ba81fb717117af42edc2c2.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, Herz сказал:

Где там в документации такое сказано?

Вот уж и правда, на странице 4 четко сказано от 0.5В... Спасибо. Зачем-то посмотрела на первую страницу, где на картинке указано 2.5...5В

Выходит идея описанная Plain действительно реализуема и даст 16бит на диапазоне 0.5...2.5В?
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

54 minutes ago, Plain said:

Типовая схема на Рис.26 паспорта, опорное 1,024 В, на один из входов подать середину шкалы: (0,5 В + 2,5 В) / 2 = 1,5 В, на другой — сигнал.

там ещё  есть   

Figure 12. SNR, SINAD, and ENOB vs. Reference Voltage

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

 

взять опору в ~1.5В и подать на оба Vref и Vin действительно лучше чем приведённый выше маштабирующий усилитель. хотя по сравнению с 0 на Vin и 2.5В опоры особой разницы возможно и не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, predeina.alexandra19 сказал:

 

А и не надо подбирать никаких слов, я не прошу оценивать эту схему вообще, это и не схема впрочем, я выше четко указала что это просто макет для проверки идеи, и "но хотелось бы сделать какую-то более адекватную схему".

 

Тогда зачем было эту картинку клеить?

Что там первый ОУ делает, например.

Вы потом сказали, что знаете про драйверы АЦП. Так их бы и перебирали. 

По некоторым причинам лучше в два раза усилить сигнал, чем делить опору.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 минут назад, Tanya сказал:

Тогда зачем было эту картинку клеить?

Что там первый ОУ делает, например.

Вы потом сказали, что знаете про драйверы АЦП. Так их бы и перебирали. 

По некоторым причинам лучше в два раза усилить сигнал, чем делить опору.

 

Да, наверное моя ошибка, вопросы надо точнее доносить, телепатов-то нет. 

Схема простая: Датчик, стабилизированный источник питания на 5В, микросхемы референсного напряжения по типу REF 19X (и подобные, на нужное напряжение), драйвер АЦП + дифф. АЦП. Вот такая схема в вакууме.
Вообще, глобальный вопрос, к слову, как в принципе "правильно" решить поставленную задачу, как это делают профессионалы? Ясное дело что не применяя типовые схемки на ОУ из учебных пособий университетов, но ничего более адекватного я пока найти не смогла. Если есть чем поделиться почитать - с радостью изучу!

Спасибо за ответы,
Александра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 минут назад, _pv сказал:

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

Да кто же их любит... Больше того, Александра выбрала 16-разрядный АЦП с расчётом получить 16-битную точность.

Цитата

Необходимо считать это значение с точностью 16 бит на частотах около 250 кГц.

Разрядность с точностью часто принято путать, но в любом случае нужен запас, и стоило бы ориентироваться на АЦП, например, 24-разрядный. Ну, и соответственно, на его характеристики.

Если в самом деле нужна столь высокая точность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, predeina.alexandra19 сказал:

как это делают профессионалы?

Первый тезис — всё добавленное добавит погрешность измерения. Следовательно, лучше проектировать систему измерения (напоминаю, это сравнение с эталоном) уже после добавления всего необходимого. К примеру, некий датчик "выдаёт 0,5...2,5 В" — надо сразу требовать с заказчика конкретизации, с какой погрешностью этот датчик это делает и относительно какого сигнала — после этого вполне может выясниться, что 16 бит просто модно печатать девизом рекламного буклета, а на самом деле датчик выдаёт не более 8-ми бит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 часов назад, Herz сказал:

Да кто же их любит... Больше того, Александра выбрала 16-разрядный АЦП с расчётом получить 16-битную точность.

Разрядность с точностью часто принято путать, но в любом случае нужен запас, и стоило бы ориентироваться на АЦП, например, 24-разрядный. Ну, и соответственно, на его характеристики.

Если в самом деле нужна столь высокая точность.

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

16 часов назад, Tanya сказал:

По некоторым причинам лучше в два раза усилить сигнал, чем делить опору.

Если усилить сигнал в два раза (я так понимаю именно умножить на 2), то диапазон сместится в новый диапазон 1...5В, если я правильно понимаю, что Вы имеете ввиду, и после, если подать этот сигнал на уже использованный ранее АЦП AD7685 (V_REF=5В) мы получим для измерения разницу между минимальным и максимальным значением сигнала равную 4В, а нуля, как такового, у нас не будет никогда, без дополнительных схем (примерно 13 107...65535 в значениях АЦП или примерно 15.67 бит). 

Если же после усилителя (с КУ = 2) поставить дифференциальный АЦП (AD7693), задать ему V_REF = 2В (что уже больше 1В, предложенного ранее Plain  и, как я поняла, большее напряжение на опоре - это лучше), а на V_IN- = 3В, то уместим весь диапазон 1...5В в 16 бит АЦП. Но такая схема усилителя перед АЦП, как я понимаю, тоже добавит шума. Здесь, помимо всего прочего очень хотелось бы сохранить линейность данных, чтобы усилитель не вносил искажений такого рода.

 

Так, собственно, вопрос - как это сделать максимально грамотно и правильно?

Спасибо за ответы,
Александра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, predeina.alexandra19 сказал:

важнее разобраться в принципе как работать с дифф. АЦП

Из названия следует, что они оцифровывают разность двух сигналов, т.е. наверное можно на IN– имеющегося псевдодифференциального AD7685 подать +0,5 В и с опорным 2,048 В получить 16 разрядов — заодно проверите, зачем они пишут в паспортах рекомендуемый предел +100 мВ для IN–, но не говорят, чем оно чревато, и схемы рисуют абсолютно те же, что и у полноценных дифференциальных АЦП того же модельного ряда, и сильно похоже, что все они вообще с одной вафли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня, уважаемые форумчане.

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

Собрала два источника напряжения, LDO на 3.3В, после него по сути два простейших резистивных делителя, рассчитанных для 1.6В и 1В (для измеряемого диапазона 0.6...2.6В) и буферизировала средние точки через ОУ. На осциллографе сигнал вроде-бы ровный, без провалов. Соответственно подала 1В на V_REF AD7693, а 1.6В на V_IN-. 

Считываю по SPI данный АЦП (AD7693) (до этого, в этой схеме был впаян АЦП AD7685, с которого замечательно все считывалось и работало, и из чего я сделала вывод что простая замена чипа не должна что-либо поменять в прошивке микроконтроллера (разве что переменная с uint поменялась на int). И... получаю какой-то мусор. Если напряжение на входе АЦП V_IN+ заведомо меньше (например 0.55В) то получаю 0x8000 (все как надо по документации). Далее, поднимая напряжение, я вижу некий (вроде-бы) кусок линейно возрастающий (DEC -32768...-21521), затем, при увеличении напряжения дальше ничего просто не происходит, затем, почему-то прыгает до -10449, далее снова ничего не происходит, затем 11285, и, соственно, - все. Я понимаю, что описанные мною "попугаи" АЦП скорее всего являются мусором и не имеют никакой ценной информации, но, вдруг. 

Для эксперимента далее я подала на V_REF = 5В, а на V_IN- подала 0 (соединила с общим проводом) - и о чудо, АЦП выдает корректные значения (V_IN+= 0...5В) в виде 0...32767.

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

 

Собственно, это меня не остановило, собрала схемку с другим АЦП (MCP3421, дифференциальный АЦП со встроенным источником опоры в 2.048 на 18 бит), собрала похожую схему, считала напряжение, и, да, все работает отлично. Условно говоря подключая 1.5В в одной полярности получаю около 93 тысяч "попугаев", в другой полярности -93 тысячи (это 18 битный АЦП). Плавно работает изменение, все супер. Хотя бы разобралась что такое дифф. АЦП и как они работают..

 

Заранее благодарю за ответы и любые идеи,

С уважением,

Александра.

ION.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...