Страница 1 из 2

Непонятки с АЦП.

Добавлено: Вс ноя 25, 2007 21:56:20
Pahan
Чета нихрена не пойму с АЦП. Если Vref=2V, то я так понимаю выше измерить нельзя?
Имеем контроллер с АЦП 10 бит, Vref=2V. Младшие 2 бита отбрасываю и использую старшие 8 бит. Значению 255 должно соотв. напруга 2V. Так? Чтобы пересчитать отсчеты АЦП в настоящее напряжение использую формулу как на рисунке.

Изображение

Вот таблица реального напряжения на входе АЦП (синяя линия, мерил тестером), втопрой столбец - значения АЦП без всякой коррекции (8 старших бит, розовая линия), третий столбец (желтая линия) - значения пересчитанные по формуле. Теоретически они должны равняться входному напряжению, но нифига не равняются. А наоборот, отличаются даже больше, чем значения без пересчета.
И как получились значения больше Vref? Как всетаки пересчитать значения АЦП в реальное напряжение?

Добавлено: Вс ноя 25, 2007 22:07:48
Сэр Мурр
Начнём с начала. От какого источника подавали напряжение? В смысле, его внутреннее сопротивление может сильно влиять на стабильность показаний. Лучше перед АЦП поставить повторитель напряжение.
Далее. Ацп может работать с двуполярным сигналом? если может, то для измерения положительного напряжения будет только 7 разрядов.
Третье. Внутреннее опорное напряжение НЕ ОБЯЗАТЕЛЬНО будет ровно 2 вольта. Возможны варианты.

Re: Непонятки с АЦП.

Добавлено: Вс ноя 25, 2007 22:12:09
tych
Pahan писал(а):Имеем контроллер с АЦП 10 бит, Vref=2V
Какой контроллер ? В атмеге8 например 2,56 вольт.

Добавлено: Вс ноя 25, 2007 22:39:47
Aheir
Какая разница, каково напряжение встроенного ref'а? Извне подать-то любое можно.
Результат АЦП считается простой пропорцией: если 256 отсчетов соответствуют 2В опорника, то ххх отсчетов соответствуют уууВ измеренного напряжения. Т.е. ууу = (2/256)*ххх. Вообще, вроде в даташите формула есть.

Добавлено: Вс ноя 25, 2007 22:45:03
Pahan
Вот параметры АЦП
Изображение
Сэр Мурр писал(а):От какого источника подавали напряжение? В смысле, его внутреннее сопротивление может сильно влиять на стабильность показаний.
Просто от потенциометра 3,3К+постоянный 1,5К. Крайние концы - 3,3В и земля, ползунок - на вход. Но думаю не в этом дело. Подключал датчег температуры аналоговый (кажется ЛМ35 или 45), там тоже напряжение на его выходе не соотв. значению отсчетов.
Сэр Мурр писал(а):Ацп может работать с двуполярным сигналом?
Да х.з. Нет наверно. В даташите ничего про двуполярное не сказано. И питание тока +. Этож контроллер, а не отдельное АЦП.
Сэр Мурр писал(а):Внутреннее опорное напряжение НЕ ОБЯЗАТЕЛЬНО будет ровно 2 вольта. Возможны варианты.
В даташите сказано 2В.

Добавлено: Вс ноя 25, 2007 23:15:36
dalay-lama
Я так понимаю: если АЦП 10-ти битное, то максимальное количество отсчётов будет равно 1024. При Vref=2V каждый шаг квантования будет равен 2/1024=0.0019...V. Какая разница, каким будет Vref? Всё-равно 1024 отсчёта. Т.е. значению 2V будет соответствовать 1023. Вот только выше 2V он не сможет преобразовать. Чтобы получить значение в вольтах, надо результат АЦП умножить на 2. Правда я не понял, зачем отбрасывать 2 младших бита.

Добавлено: Пн ноя 26, 2007 00:14:44
Pahan
dalay-lama писал(а):Правда я не понял, зачем отбрасывать 2 младших бита.
Во-первых считается, что в младших разрядах в основном шум.
Во-вторых разработчики (наверно руководствуясь пунктом первым) организовали регистры ацп так, что в младшем регистре содержатся младшие 2 бита, а в старшем регистре старшие 8 бит. И если использовать 10 бит, то геморно сдвигать биты. А так просто отбросил младшие и все.
Ну и я не пойму, значение 255 должно соответствовать 2 вольтам. А у меня даже при 2.12В ацп дает 232. И может увеличиться еще.

Добавлено: Пн ноя 26, 2007 01:15:00
Skrrmrchoh
В меге 8 опорное 2,56 номинально. От экземпляра к экземпляру есть разброс. Какой- не помню.
Попробуйте увеличивать напряжение, и посмотрите при каком значении АЦП выдаст 255. А формула у меня в даташите такая: ADC=Vin*1024/Vref- при использовании 10 разрядного варианта. Для восьмиразрядного соответственно, умножать на 256.

Добавлено: Пн ноя 26, 2007 05:07:02
Mamonth
Что у тебя стоит в ADLAR?
ПОсмотреть можно тут: http://mthsolutions.md6.ru/index.php?op ... &Itemid=30

Добавлено: Пн ноя 26, 2007 14:13:50
Pahan
У меня zilog контроллер. Такое чуйство, что Vref больше 2 вольт. Но даташиттт...

Добавлено: Пн ноя 26, 2007 15:15:44
Mamonth
Тады ой

Добавлено: Пн ноя 26, 2007 23:58:49
Pahan
Вот посмотрел - значению 255 соответствует 2,32в. Теоретически это и длжно быть Vref. Хрень какая-то.

Добавлено: Вт ноя 27, 2007 08:39:21
Aheir
А там есть возможность подать опорное извне? Подть известное напряжение и оценить адекватность работы АЦП.

Re: Непонятки с АЦП.

Добавлено: Вт ноя 27, 2007 21:04:57
MetEl
Pahan писал(а):Чета нихрена не пойму с АЦП. Если Vref=2V, то я так понимаю выше измерить нельзя?
Я 3,3 В подаю и ничего...

Слушай(те) не парься(тесь) с расщётами.

У меня делитель на aref (атмега128).
Если я писал в регистр AREF АЦП (см. ниже) 10 или 01 (пробывал и так и этак), то значения было странными (не полный диапазон).
Я поставил 00 и всё заленало как в сказке.

Чаво и вам желаю.

AREF, внутренний VИОН отключен
0 0 AREF, внутренний VИОН отключен
0 1 AVCC с внешним конденсатором на выводе AREF
1 0 Зарезервировано
1 1 Внутренний источник опорного напряжения 2.56В с внешним конденсатором на выводе AREF

Советую вот этот сайт. Я из него не вылазю. Можете чтото и к своей "любви" найдёте...
)))

http://www.gaw.ru/html.cgi/txt/doc/micr ... 128/12.htm
И про это и про то.

// //*
Первое преобразование
Нормальное однополярное преобразование
Нормальное дифференциальное преобразование

В качестве VИОН могут выступать AVCC, внутренний ИОН 2,56В или внешний ИОН, подключенный к выв. AREF. AVCC подключается к АЦП через пассивный ключ.

*///

Добавлено: Вт ноя 27, 2007 21:11:15
lexmulya
MetEl ты тему читал? У человека не АВР у него zilog.
Вот посмотрел - значению 255 соответствует 2,32в. Теоретически это и длжно быть Vref. Хрень какая-то.
Может в даташите ляпнули?

Добавлено: Вт ноя 27, 2007 21:38:23
MetEl
lexmulya писал(а):MetEl ты тему читал?
Может в даташите ляпнули?
1)Аналогию можно провести(даже полезно(ввобще о работе и принципе АЦП как таковой!!!)).
2)Врядли.

Давайте даташыт посмотрим?
Pahan, дайте ссылку.

Добавлено: Ср ноя 28, 2007 00:41:39
Pahan
Ну вот вроде прояснилось немного. Решил подать внешнее Vref 2.56В. Быстренько подключил делитель к ноге Vref и думал щаз перешить контролер с конфигурацией на внешний Vref. Ради интереса включил не перешивая. Начал смотреть - все как надо показывает. Получается, что у меня был внешний Vref включен? Стал смотреть код - все правильно. Неужели в даташите ошибка? Я хоть в аглицком не силен, но ведь ясно написано что при 0 внутрениий Vref.
VREF
0 = Internal voltage reference generator enabled. The VREF pin should be left unconnected (or capacitively coupled to analog ground).
1 = Internal voltage reference generator disabled. An external voltage reference must be provided through the VREF pin.

Добавлено: Ср ноя 28, 2007 01:54:35
biDE
Все верно, в первом варианте используется встроенныи источник. при этом ногу VREF нужно оставить не подключенной или (что еще лучше) повесить на нее кондер 0.1мкФ. Кстати, в этом режиме на ноге VREF можно замерить напряжение встроенного ИОН.

Добавлено: Ср ноя 28, 2007 06:15:00
Mamonth
Pahan писал(а):....Неужели в даташите ошибка? Я хоть в аглицком не силен, но ведь ясно написано что при 0 внутрениий Vref.
VREF
0 = Internal voltage reference generator enabled. The VREF pin should be left unconnected (or capacitively coupled to analog ground).
1 = Internal voltage reference generator disabled. An external voltage reference must be provided through the VREF pin.
А модет все как в АВР - 0 установленный бит, 1 - снятый ?

Добавлено: Ср ноя 28, 2007 11:43:20
Pahan
biDE писал(а):при этом ногу VREF нужно оставить не подключенной или (что еще лучше) повесить на нее кондер 0.1мкФ.
Так и есть, тока в паралель 0,1 еще и электролит на 22 припаян. Сделал как в фирменной отладочной плате.
biDE писал(а):Кстати, в этом режиме на ноге VREF можно замерить напряжение встроенного ИОН.
не знал, надо померить
Mamonth писал(а):А модет все как в АВР - 0 установленный бит, 1 - снятый ?
Это как, пишем 0 - подразумеваем 1 и наоборот :shock: Ну вы АВРщики и извращенцы :)))