Полная версия этой страницы:
АЦП в LPC2138
Enerjiser
Nov 20 2007, 18:39
Всем доброго времени суток.
Вот есть такая пробелема: для АЦП использую опорное напряжение с ноги Vref(3,3В) .На нее подаю напряжение со стабилизатора, но в этом напряжении идут помехи окло 20 мВ. и поэтому меня возникаю большие погрешности при измерении входного напряжения АЦП. Подскажите возможно ли испльзовать внутренне опроное напряжение как в AVRках например? или каким образом мне увеличить точность измерений?
Зарание благодарен.
Цитата(Enerjiser @ Nov 20 2007, 21:39)

Всем доброго времени суток.
Вот есть такая пробелема: для АЦП использую опорное напряжение с ноги Vref(3,3В) .На нее подаю напряжение со стабилизатора, но в этом напряжении идут помехи окло 20 мВ. и поэтому меня возникаю большие погрешности при измерении входного напряжения АЦП. Подскажите возможно ли испльзовать внутренне опроное напряжение как в AVRках например? или каким образом мне увеличить точность измерений?
Зарание благодарен.
В разрыв этой цепи включите резистор 10 Ком и поставьте конденсатор 4.7 мкФ танталовый + 0.1 керамический в параллель опорному входу. Впрочем, это поможет только если помеха все таки не имеет вид "гуляний" по несколько секунд. А от килогерцовых выбросов - вполне поможет.
Встроенной опоры у этого камня нет.
А AVCC Вы чем питаете кстати ?
Enerjiser
Nov 20 2007, 20:23
Цитата(DASM @ Nov 20 2007, 22:14)

В разрыв этой цепи включите резистор 10 Ком и поставьте конденсатор 4.7 мкФ танталовый + 0.1 керамический в параллель опорному входу. Впрочем, это поможет только если помеха все таки не имеет вид "гуляний" по несколько секунд. А от килогерцовых выбросов - вполне поможет.
Встроенной опоры у этого камня нет.
А AVCC Вы чем питаете кстати ?
Я вот пока не опытный " пользователь" контроллеров, если я верно понял АVCC это аналоговая земля? у LPC она обозачается Vssa. Ну я вобщем просто прицепил ее к общей минусовой шине всего макета. Конденсатор у Vref на 0,1 стоит. Интегрирующую RC-цепочку не поставил. Спасибо за совет.
Не, Avcc это аналоговое питание а не земля. Просто его тоже неплохо бы фильтровать. Впрочем об этом есть в даташите
А вместо резистора можно поставить чип-индуктивность. И будет фильтровать еще лучше.
Не будет. Лучше резистор.
alexander55
Nov 21 2007, 12:37
Насчет резистора или индуктивности в цепи опорного напряжения, что лучше, что хуже.
1. R-C фильтр первого порядка, L-C второго, но резонасный.
2. Для R-C фильтра полоса пропускания равна f=1/(2*PI*R*C)
Для L-C f=1/(2*PI*sqrt(L*C))
Мораль: качество фильтрации зависит от частоты помехи и параметров фильтра.
Цитата(alexander55 @ Nov 21 2007, 15:37)

Насчет резистора или индуктивности в цепи опорного напряжения, что лучше, что хуже.
1. R-C фильтр первого порядка, L-C второго, но резонасный.
2. Для R-C фильтра полоса пропускания равна f=1/(2*PI*R*C)
Для L-C f=1/(2*PI*sqrt(L*C))
Мораль: качество фильтрации зависит от частоты помехи и параметров фильтра.
L имел бы смысл при высоком потреблении нагрузки. А в этом случае придется ставить огромный дорогой дроссель вместо резистора
alexander55
Nov 22 2007, 08:36
Цитата(DASM @ Nov 21 2007, 16:05)

L имел бы смысл при высоком потреблении нагрузки.
Это так. А при малом потреблении ? Что главное : цена, качество фильтрации высоких частот или что-то еще. Может рекомендации производителя ?
При том качестве, которое реально можно получить от встроенного АЦП, вряд ли стоит сильно наворачивать фильтрацию опоры. Действительно улучшить ситуацию может внешний источник, что-нибудь вроде LM4041.
Enerjiser
Nov 23 2007, 09:07
Цитата(Axel @ Nov 23 2007, 09:28)

При том качестве, которое реально можно получить от встроенного АЦП, вряд ли стоит сильно наворачивать фильтрацию опоры. Действительно улучшить ситуацию может внешний источник, что-нибудь вроде LM4041.
Да я именнот так и сделал. поставил микруху опорного напряжения! Также моставил RC-цепочку перед входом АЦП, ситуация существенно улучшилась. Всем спасибо за советы.
Добрый день !
Есть не большие не понятки с АЦП0 в LPC2138
Проблемма вот как обстоит Контроллер питаеться напряжением 3,3 вольта от стабилизатора MC33269-3.3, питание АЦП т.е. пин VDDA через LC фильтр из дросселя 100мкГн и чип керамики 0,1мкФ от выше упамянутого стабилизатора. Пин AREF подключен через RC фильтр из тантала 4,7мкФ ||с керамикой 0,1мкФ и дросселя 100мкГн подключен к источнику опорного напряжения 3,3 вольта типа REF196 ну а теперь самое интересное на единственный сконфигурированный как вход ацп AD0.4(P0.25) подаем напряжение через делитель из 1% резисторов 1кОм и 120 Ом паралельно резистору 120 Ом стоит конденсатор 0,1 мкФ и самое интересное что АЦП выдает 991 отсчет при входном напряжении между пином AD0.4 и пином VSSA равным 2,943 (мерили мультимерром FLUKE 817) так или иначе он считает что источник опорного напряжения 3,03803 В ????????? есть какие нибудь мысли ?
alexander55
Nov 26 2007, 10:29
Цитата(asen @ Nov 26 2007, 13:16)

Добрый день !
Есть не большие не понятки с АЦП0 в LPC2138
Проблемма вот как обстоит Контроллер питаеться напряжением 3,3 вольта от стабилизатора MC33269-3.3, питание АЦП т.е. пин VDDA через LC фильтр из дросселя 100мкГн и чип керамики 0,1мкФ от выше упамянутого стабилизатора. Пин AREF подключен через RC фильтр из тантала 4,7мкФ ||с керамикой 0,1мкФ и дросселя 100мкГн подключен к источнику опорного напряжения 3,3 вольта типа REF196 ну а теперь самое интересное на единственный сконфигурированный как вход ацп AD0.4(P0.25) подаем напряжение через делитель из 1% резисторов 1кОм и 120 Ом паралельно резистору 120 Ом стоит конденсатор 0,1 мкФ и самое интересное что АЦП выдает 991 отсчет при входном напряжении между пином AD0.4 и пином VSSA равным 2,943 (мерили мультимерром FLUKE 817) так или иначе он считает что источник опорного напряжения 3,03803 В ????????? есть какие нибудь мысли ?
Вам надо отключить подтягивающий резистор
TADC::TADC(void) {
/* Configure the Analog to Digital converter */
AD0CR_bit.SEL = 8; //разрешение AD0.3 только
AD0CR_bit.CLKDIV = (int)(PCLKFREQ / 4500000)-1;// тактовая частота
AD0CR_bit.BURST = 1; // программное управление ADС
AD0CR_bit.CLKS = 0; // 11 тактов на измерение
AD0CR_bit.PDN = 1; // модуль ADC включить
PINSEL1_bit.P0_30 = 1; // для увеличения точности
};
Если не секрет как это сделать ? откуда он там взялся ? Я чтото не слышал про них !
alexander55
Nov 26 2007, 11:24
Цитата(asen @ Nov 26 2007, 14:03)

Если не секрет как это сделать ?
Последняя строчка.
PINSEL1_bit.P0_30 = 1; // для увеличения точности
Цитата(asen @ Nov 26 2007, 14:03)

откуда он там взялся ? Я чтото не слышал про них !
Это подтягивающий резистор к VCC. Он включен, если pin включен как вход. Чтобы его отключить в альтернативном режиме сконфигурируем его как выход (хотя физически это все-равно вход).
Чевой-то не то... 2,943V - это напряжение на пине, т.е. результат влияния в т.ч. и подтягивающих резисторов. А каково реальное значение опоры на AREF?
alexander55
Nov 26 2007, 12:57
Цитата(Axel @ Nov 26 2007, 15:03)

Чевой-то не то... 2,943V - это напряжение на пине,
Я же Вам дал инициализацию - сделайте по ней (по аналогии).
Цитата(Axel @ Nov 26 2007, 15:03)

А каково реальное значение опоры на AREF?
То, которое Вы подаете.
GetSmart
Nov 26 2007, 13:56
Цитата(alexander55)
PINSEL1_bit.P0_30 = 1; // для увеличения точности
Вроде бы на всём порте 0 нет подтягивающих резисторов.
2 Alexander55: Вы, конечно же, правы, только это не мне надо было отвечать, а Enerjiser'у...
Разница потенциалов между AREF-VSSA равна 3,3 вольта мерено все тем же флуком ? 2,943 вольта это напряжение мжду пином AD0.4-VSSA и при этом всем с регистра АЦП выдаеться 991 отсчет! Какием еще могут быть проблемы? Может можно использовать опорники не более 3 воль напряжением ?
alexander55
Nov 27 2007, 06:20
Цитата(Axel @ Nov 26 2007, 17:04)

2 Alexander55: Вы, конечно же, правы, только это не мне надо было отвечать, а Enerjiser'у...
Я ничего не понял, но если обидел, извините, больше не буду.
подтягивающих регистров на этом порте нет проверели эффекта не т ни какого! Ктото использовал источник опорного напряжения 3,3 вольта при питании тоже 3,3 вольта ?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.