Отговори на тема  [ 9 мнения ] 
проблем с АЦП 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Дек 01, 2006 7:38 pm
Мнения: 6
Мнение проблем с АЦП
Приятели,помогнете ми ако можете.Отскоро се занимавам с микроконтролери,купих си книгата"PIC микроконтролери-2 част и се уча по нея.Реших да проиграя пример с АЦП.Накратко за схемата:към вход AN0 се
подава напрежение от средния извод на потенциометър,който пък е вързан към захранващото напрежение.За
визуализиране на резултата използвам три светодиодни индикатора,които се управляват динамично.Конфигурирането на АЦП е правилно а индикатора "играе"-едениците играят непрекъснато,десетиците
се разиграват при стойност 9 на едениците,съответно и стотиците при 9 на десетиците.Може би трябва да се
включи някакъв филтър на входа но откровенно казано не ми е ясно.Благодаря предварително.


Пет Дек 01, 2006 8:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Това е съвсем нормално. За да получиш резултат, в който единиците не играят направи например 10 измервания и усредни резултата. Опитай и с брой измервания кратен на 2^N тъй като деленето се свежда до просто шифтване надясно (делене на 8 се прави с 3 шифтвания например) :wink:


Пет Дек 01, 2006 8:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Или ако не ти трябва 10 битова точност вземай старшите 8 бита, или 9 ... това е нормално, при ADC не може да получиш твърд резултат, ако ти играят с много проблема ти е по аналоговата част, или просто сигнала ти е такъв.


Съб Дек 02, 2006 11:06 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
Съвети от личен опитм : първо прави замервания на по-дълъг период от време. Примерно с единия таймер си настройваш някакво време да кажем 5мс. Когато ти дигне флаг, правиш замерване. Второ изключвай АЦП-то след всяко мерене а след като го включиш за ново мерене (ADCON0.0) изчаквай aquisition time - има го в ПДФ-а колко е, преди да започнеш измерването (ADCON0.2=1). Трето прави повечко замервания. За потенциометър 1024 за да не играе стигат. За други аналогии повече, примерно 4096. След това осредняваш, но този метод е кофти щото реагира бавно. Скоро правих мерене с ПТ100 и изпълних метода описан в тази тема : http://www.mcu-bg.com/mcu_site/viewtopic.php?t=3067. С нещо като стек със 128 стойности (най-новото замерване заема мястото на най-старото без да се изпразва масива). Реагира много бързо на промените и не играе въобще, но за потенциометър е излишно и много тежко като решение. Иначе си е съвсем нормално да ти играе. Сега не ми се гледа ПДФ-а ама все пак ADC-то си има някаква грешка - неизбежно е. Другото ти решение е да мериш на много дълги периоди от време примерно на 0.1 сек. и да правиш примерно 8 замервания, и пак ще ти играе но на по-дълги периоди от време - с други думи няма да имаш цифри дето не се вижда какви са :)


Съб Дек 02, 2006 1:38 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Дек 01, 2006 7:38 pm
Мнения: 6
Мнение 
Благодаря за съветите приятели,като направих 10 замервания иусредних резултата всичко си дойде на местото.
Благодаря още веднъж!


Нед Дек 03, 2006 11:00 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Прави 8 или 16, защо да губиш време в делене на 10.


Нед Дек 03, 2006 4:03 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Пет Окт 21, 2005 8:45 am
Мнения: 499
Мнение 
Най-добре буфер от типа "първи влязъл-първи излязъл" с размерност кратна на две. Тогава при всяко измерване вадиш най-стария елемент и прибавяш новия към сумата на всичките 2n елементи и делиш на броя. По този начин хем ще имаш усредняване на 2n елемента (ФНЧ за да не ти "играят" показанията), хем няма да губиш бързодействие - т.е. ще имаш опресняване на показанията на всяко измерване. Някои производители препоръчват този метод и за "повишаване" разрядността на АЦП-то, но тази възможност много зависи от зашумеността на сигнала ти и характера на шума!

_________________
Простотията е Божи дар, но човек не бива да парадира с подаръците си!


Вто Дек 05, 2006 11:00 am
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
можеш също така да сложиш малък кондензатор на входа, да кажем 100нФ


Вто Дек 05, 2006 12:45 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Ооо 100 нФ е доста, при всички услоия ако може да си позволи такова закъснение в сигнала по добре е да прави много измервания, примерно 1024, това ще сведе до минимум колебанията. Кондензатор може но малък, зависи от импеданса на източника, 100 пФ примерно, е зависи и от честотната му лента де, ако е 10-20 Хз ......


Вто Дек 05, 2006 10:11 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 9 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни