Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Дифференциальный вход АЦП
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
PVGDRK
помогите разобраться.. использую мегу 640, где задействовано 12 входов ацп из них 11 с несимметричным входом.... на 12 вход подается синус, который лежит в положительной области относительно 0... при чем этот синус может быть несимметричным, т.е. "положительная" полуволна может быть больше или меньше "отрицательной".. мне нужно различать какая из полуволн больше , какая меньше или случай когда они равны или синус отсутствует на входе... можно ли этот вход настроить как дифференциальный и каким образом тогда работает АЦП, что оно измерит? или оставить вход несимметричным и программно вычислять полуволны?
demiurg_spb
Цитата(PVGDRK @ Oct 25 2009, 16:00) *
как дифференциальный и каким образом тогда работает АЦП
Дифференциальный вход АЦП позволяет измерят разницу напряжением между входами AIN(+) и AIN(-). У микроконтроллеров AVR так называемые псевдо-дифференциальные входы, т.к. по спецификации вход AIN(-) должен быть привязан к AGND. Из чего вытекает следующее: Вы сможете измерять однополярный сигнал в диапазоне от AGND до VREF. Несмотря на наличие так-называемого биполярного режима работы АЦП, измеряемый сигнал должен быть всегда однополярным. Как вариант: для измерения синуса можно его выпрямить и измерять его как униполярный, заведя при этом на контроллер доп логический сигнал о знаке синусойды. Ну или сместить ваш синус на 1/2 VREF.
Rst7
Цитата
У микроконтроллеров AVR так называемые псевдо-дифференциальные входы, т.к. по спецификации вход AIN(-) должен быть привязан к AGND. Из чего вытекает следующее ....


Ого. Где же это Вы вычитали? В 640й есть биполярный режим. Конечно, напряжения на входах не должно выходить за границы питания, но вот привязка к AGND - это новое слово в чтении даташитов.
stells
Цитата(Rst7 @ Oct 25 2009, 16:32) *
В 640й есть биполярный режим

это точно?
Rst7
Цитата
это точно?


Ну даташит у меня староват, ревизия D, но там только биполярный режим присутствует.
V_G
Цитата(Rst7 @ Oct 25 2009, 23:32) *
В 640й есть биполярный режим. Конечно, напряжения на входах не должно выходить за границы питания


Про 640 ничего не знаю, но если у микросхемы нет отрицательного питания, то два вышеприведенных предложения противоречат друг другу.
Конечно, если под биполярным режимом подразумевается возможность подачи на вход ИС отрицательного потенциала относительно земли.

А дифференциальный режим в АVR позволяет использовать встроенный усилитель. В xmege усиление может быть установлено 1,2,4,8,16,32,64. Полезная фича, если источник сигнала дифференциальный и изолированный от земли. Например, термопара. Один конец привязываешь к половине питания делителем, и измеряй вдоволь, да еще с усилением!
stells
Цитата(V_G @ Oct 25 2009, 18:01) *
если под биполярным режимом подразумевается возможность подачи на вход ИС отрицательного потенциала относительно земли.

под биполярным режимом подразумевается то, что дифференциальные входы по отношению друг к другу могут принимать положительное и отрицательное значение. вот только для этой меги я не нашел упоминание о нем. по умолчанию?
Rst7
Цитата
Конечно, если под биполярным режимом подразумевается возможность подачи на вход ИС отрицательного потенциала относительно земли.


Нет конечно. Под биполярным режимом подразумевается дословный перевод термина, который используется в даташитах Atmel'а:

Цитата
17.11.3 Bipolar Differential Conversion
As default the ADC converter operates in the unipolar input mode, but the bipolar input mode can be selected by writting the BIN bit in the ADCSRB to one. In the bipolar input mode two-sided voltage differences are allowed and thus the voltage on the negative input pin can also be larger than the voltage on the positive input pin. If differential channels and a bipolar input mode are used, the result is

ADC=GAIN*(VPOS-VNEG)*512/VREF

where VPOS is the voltage on the positive input pin, VNEG the voltage on the negative input pin, and VREF the selected voltage reference. The result is presented in two’s complement form, from 0x200 (-512d) through 0x000 (+0d) to 0x1FF (+511d). The GAIN is either 1x or 20x.


Выделено мной.

Цитата
вот только для этой меги я не нашел упоминание о нем. по умолчанию?


Посмотрите на формулу, которая приведена для дифференциального режима. Это глава "ADC Conversion Result".
stells
Цитата(Rst7 @ Oct 25 2009, 18:37) *
Посмотрите на формулу, которая приведена для дифференциального режима. Это глава "ADC Conversion Result".

вот эта формула в случае с tiny26 меня и сбила с толку (она там тоже есть), целый день не мог понять, почему у меня нет данных при отрицательном значении на дифференциальных входах. потом оказалось, что tiny26 не имеет биполярного режима
demiurg_spb
Цитата(Rst7 @ Oct 25 2009, 16:32) *
Ого. Где же это Вы вычитали? В 640й есть биполярный режим. Конечно, напряжения на входах не должно выходить за границы питания, но вот привязка к AGND - это новое слово в чтении даташитов.
Да это я по старой памяти с mega8 попутал...
Цитата(V_G @ Oct 25 2009, 18:01) *
А дифференциальный режим в АVR позволяет использовать встроенный усилитель....
Один конец привязываешь к половине питания делителем, и измеряй вдоволь, да еще с усилением!
Но есть один нюанс (таблца ADC Characteristics):
Resolution:
Single Ended Conversion 10 Bits
Differential Conversion (Gain = 1x or 20x) 8 Bits
Differential Conversion (Gain = 200x) 7 Bits
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.