|
АЦП в LPC2138, Проблема с опорным напряжением |
|
|
|
Nov 20 2007, 18:39
|
Группа: Новичок
Сообщений: 4
Регистрация: 19-09-07
Пользователь №: 30 664

|
Всем доброго времени суток. Вот есть такая пробелема: для АЦП использую опорное напряжение с ноги Vref(3,3В) .На нее подаю напряжение со стабилизатора, но в этом напряжении идут помехи окло 20 мВ. и поэтому меня возникаю большие погрешности при измерении входного напряжения АЦП. Подскажите возможно ли испльзовать внутренне опроное напряжение как в AVRках например? или каким образом мне увеличить точность измерений? Зарание благодарен.
|
|
|
|
|
Nov 20 2007, 20:23
|
Группа: Новичок
Сообщений: 4
Регистрация: 19-09-07
Пользователь №: 30 664

|
Цитата(DASM @ Nov 20 2007, 22:14)  В разрыв этой цепи включите резистор 10 Ком и поставьте конденсатор 4.7 мкФ танталовый + 0.1 керамический в параллель опорному входу. Впрочем, это поможет только если помеха все таки не имеет вид "гуляний" по несколько секунд. А от килогерцовых выбросов - вполне поможет. Встроенной опоры у этого камня нет. А AVCC Вы чем питаете кстати ? Я вот пока не опытный " пользователь" контроллеров, если я верно понял АVCC это аналоговая земля? у LPC она обозачается Vssa. Ну я вобщем просто прицепил ее к общей минусовой шине всего макета. Конденсатор у Vref на 0,1 стоит. Интегрирующую RC-цепочку не поставил. Спасибо за совет.
|
|
|
|
|
Nov 23 2007, 09:07
|
Группа: Новичок
Сообщений: 4
Регистрация: 19-09-07
Пользователь №: 30 664

|
Цитата(Axel @ Nov 23 2007, 09:28)  При том качестве, которое реально можно получить от встроенного АЦП, вряд ли стоит сильно наворачивать фильтрацию опоры. Действительно улучшить ситуацию может внешний источник, что-нибудь вроде LM4041. Да я именнот так и сделал. поставил микруху опорного напряжения! Также моставил RC-цепочку перед входом АЦП, ситуация существенно улучшилась. Всем спасибо за советы.
|
|
|
|
|
Nov 26 2007, 10:16
|
Знающий
   
Группа: Свой
Сообщений: 513
Регистрация: 5-09-05
Из: Барнаул
Пользователь №: 8 220

|
Добрый день ! Есть не большие не понятки с АЦП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 В ????????? есть какие нибудь мысли ?
|
|
|
|
|
Nov 26 2007, 10:29
|
Бывалый
    
Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615

|
Цитата(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; // для увеличения точности };
|
|
|
|
|
Nov 26 2007, 11:24
|
Бывалый
    
Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615

|
Цитата(asen @ Nov 26 2007, 14:03)  Если не секрет как это сделать ? Последняя строчка. PINSEL1_bit.P0_30 = 1; // для увеличения точности Цитата(asen @ Nov 26 2007, 14:03)  откуда он там взялся ? Я чтото не слышал про них ! Это подтягивающий резистор к VCC. Он включен, если pin включен как вход. Чтобы его отключить в альтернативном режиме сконфигурируем его как выход (хотя физически это все-равно вход).
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|