a.a.ryzhov
Mar 30 2011, 12:44
Добрый день!
Прошу разъяснить несколько непонятных вопросов про дифференциальный режим измерения.
С помощью АЦП микроконтроллера требуется измерить разность потенциалов между двумя точками, которые располагаются удаленно от микроконтроллера. Расстояние - десяток метров кабеля проложенного в земле. Измерение с помощью дифференциальных входов АЦП хочется провести по причине компенсации помех, которые будут наведены на эти длинные соединительные провода проложенные в земле.
Есть ряд вопросов:
1. Действительно ли с помощью АЦП в дифф. режиме удастся компенсировать эти помехи (я так понимаю синфазные) и я померю истинную разность потенциалов между двумя точками?
2. Например, если относительно земли (GND) на положительном входе (Vin+) 2,0В, а на отрицательном (Vin-) 0,6В, то измеренная разность составит 1,4 В? Верно понимаю? А если на отрицательном, например, -0,7В, то измеренная разность составит 2,7 В?
А в случае если на на отрицательном (Vin-) -2,8В, сколько будет измерено? 4,8 Вольта?
3. Каково должно быть опорное напряжение АЦП? Например, у меня Vref +2,5 В, то значения сигналов на положительном входе Vin+ ограничивается +2,5В, а на отрицательном Vin- -2,5В. Правильно?
Заранее благодарен.
Цитата(a.a.ryzhov @ Mar 30 2011, 16:44)

1. Действительно ли с помощью АЦП в дифф. режиме удастся компенсировать эти помехи (я так понимаю синфазные) и я померю истинную разность потенциалов между двумя точками?
Да, если повезет. В общем случае ответа нет, так как существует много разных способов... Один из них - использование дифференциальных (инструментальных) усилителей, некоторые из которых способны работать с синфазными напряжениями в сотни вольт.
a.a.ryzhov
Mar 30 2011, 14:16
Не думаю, что там будут синфазные помехи в сотни вольт. Мне немного непонятен сам принцип измерения дифференциального сигнала.
rezident
Mar 30 2011, 14:40
a.a.ryzhov, большинство ответов на ваши вопросы содержаться в datasheet АЦП или МК. Если вы укажите его тип, то здесь вам могут "разжевать" некоторые его параметры и понятия. Без указания конкретного типа однозначные ответы дать затруднительно. Потому, что неизвестны параметры допустимых входных синфазных и дифференциальных напряжений вашего АЦП. А также относительно чего вы измеряете их?
Цитата(a.a.ryzhov @ Mar 30 2011, 18:16)

Не думаю, что там будут синфазные помехи в сотни вольт. Мне немного непонятен сам принцип измерения дифференциального сигнала.
Я тоже не думала... только вот вдруг сегодня сгорели предохранители (слава Б-гу, кажется только они) в блоке питания, генераторе, осциллографе... В генераторе стояли два предохранителя последовательно - оба умерли. Тестер на диапазоне 750 вольт запищал... Сколько там было, и почему? Снег валил...
a.a.ryzhov
Mar 30 2011, 14:51
Да, конечно, МК типа ATMEGA32. Используется встроенный модуль АЦП.
Я намеренно не стал создавать тему в разделе про AVR, т.к. посмотрев темы мне показалось, что обсуждаются там преимущественно "цифровые" вопросы. Работа с дифференциальными входами, как мне кажется более подходит для раздела схемотехники.
stells
Mar 30 2011, 14:58
Цитата(a.a.ryzhov @ Mar 30 2011, 16:44)

3. Каково должно быть опорное напряжение АЦП? Например, у меня Vref +2,5 В, то значения сигналов на положительном входе Vin+ ограничивается +2,5В, а на отрицательном Vin- -2,5В. Правильно?
Вам рекомендовали смотреть даташит, там сказано, что напряжение на входе не может быть меньше 0
rezident
Mar 30 2011, 15:24
В даташит в общем-то все описано. Следует только учитывать требования
Absolute Maximum RatingsЦитата
Voltage on any Pin except RESET with respect to Ground................................-0.5V to VCC+0.5V
Требование же к величине синфазного напряжения
Цитата
VIN | Input voltage | Min=GND | Typ= | Max=VREF
Диапазон изменения дифференциального напряжения ±VREF/GAIN. Т.е., имея VREF=2,5В и установив GAIN=1x, вы можете измерять дифференциальное напряжение ±2,5В. Но при этом напряжения на обоих входах VIN+ и VIN-
относительно GND не должны выходить за пределы от GND до VREF. При GAIN=10x и той же величине VREF=2,5В дифференциальное напряжение не должно превышать уже ±0,25В.
a.a.ryzhov
Mar 30 2011, 16:02
rezident, все понял, спасибо.
А если Vref будет 5 Вольт. Какой допустимый уровень Vin+ и Vin-?
Цитата(a.a.ryzhov @ Mar 30 2011, 20:02)

rezident, все понял, спасибо.
А если Vref будет 5 Вольт. Какой допустимый уровень Vin+ и Vin-?
Так
rezident же все написал. Что же тогда Вы поняли?
rezident
Mar 30 2011, 16:36
Цитата(a.a.ryzhov @ Mar 30 2011, 22:02)

А если Vref будет 5 Вольт. Какой допустимый уровень Vin+ и Vin-?
Гм. А что же вы тогда поняли?
В
datasheet ATmega32(L) заглядывали? В нем абсолютные предельные значения указаны в таблице
Absolute Maximum Ratings. Максимальные допустимые значения в
Table 121. ADC Characteristics, Single Ended channels и в
Table 122. ADC Characteristics, Differential channels.
Во-первых, чтобы подать на вход AREF опору величиной 5В питания AVCC и VCC должны быть тоже по величине не менее 5В.
Во-вторых, в формулах нет конкретного значения VREF. Подставляйте любое и вычисляйте.
a.a.ryzhov
Mar 31 2011, 03:14
Спасибо, буду разбираться.
a.a.ryzhov
Apr 1 2011, 06:25
С дифференциальным входом вроде разобрался.
Вопрос тогда такой еще, при работе в дифф. режиме по даташиту разрядность АЦП составляет 8 бит, однако по факту (как написано в даташите), получаем что количество уровней квантования в каждую сторону по 512 (511), что соответствует разрядности АЦП 9 бит, а десятый бит ADC9 в регистре ADCH показывает знак преобразования.
Где несоответствие?
Цитата(a.a.ryzhov @ Apr 1 2011, 09:25)

Где несоответствие?
И где же?
Цитата
С дифференциальным входом вроде разобрался.
"Вроде" - не считается.
Цитата
...при работе в дифф. режиме по даташиту разрядность АЦП составляет 8 бит...
Где это написано в даташите?
a.a.ryzhov
Apr 1 2011, 12:24
Ну, например, хотя бы здесь (datasheet):
Seven differential analog input channels share a common negative terminal (ADC1), while any other ADC input can be selected as the positive input terminal. If 1x or 10x gain is used, 8-bit resolution can be expected. If 200x gain is used, 7-bit resolution can be expected.
Я использую дифференциальный режим с коэфф. усиления 1х. следовательно разрядность составляет 8 бит.
Корявый даташит, конечно. Похоже, имеется в виду уменьшение разрешения на 1 бит в 8-битном режиме. Поскольку контроллер 8-разрядный, часто младшими битами результата пренебрегают (если допустимо), для чего используется левое выравнивание. (См. назначение бита ADLAR). Так что свои 9 бит (+знак) в дифференциальном режиме с К=1 Вы получить сможете.
Цитата(a.a.ryzhov @ Apr 1 2011, 09:25)

С дифференциальным входом вроде разобрался.
Вопрос тогда такой еще, при работе в дифф. режиме по даташиту разрядность АЦП составляет 8 бит, однако по факту (как написано в даташите), получаем что количество уровней квантования в каждую сторону по 512 (511), что соответствует разрядности АЦП 9 бит, а десятый бит ADC9 в регистре ADCH показывает знак преобразования.
Где несоответствие?
В меге32 10-битный АЦП. А значение ложится в 2 регистра (ADCL и ADCH). В случае диф. режима, значение становится "знаковым"
Код
The result is presented in two’s complement form, from 0x200 (-512d) through 0x1FF
(+511d). Note that if the user wants to perform a quick polarity check of the results, it is
sufficient to read the MSB of the result (ADC9 in ADCH). If this bit is one, the result is
negative, and if this bit is zero, the result is positive.
Не звбывайте, что точнсть +-2 младших разряда.
По своему опыту дам пару советов:
1. поставьте сапрессоры на входе.
2. желательно применить кабель - свитую пару в экране - это снизит наводки.
3. надежно соедините "земли" устройства и источника сигнала.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.