|
|
  |
Похоже очередная "особенность" AVR, АЦП у AtMega48 |
|
|
|
May 7 2007, 14:41
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Конденсаторные АЦП с фиксированным временем сэмплирования и узкой полосой пропускания этой болезнью болеют от рождения. Работай на низкой тактовой АЦП. И всё. Не думаю, что тут дело именно в конденсаторе - без использования Sleep-а в AtMega48 никаких проблем не обнаружил. Собственно так на грабли и наткнулся. В одной части программы был Sleep, а в другой небыло. Вот оно и работало полностью корректно тогда, когда проц. не засыпал. Как только убрал Sleep-ы во всей программе - так проблема и исчезла... Кроме того, не думаю, что 260мкс преобразование это "быстрая тактовая" для АЦП AVR
Сообщение отредактировал ArtemKAD - May 7 2007, 14:44
|
|
|
|
|
May 8 2007, 07:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Тысячу раз здесь на форуме уже разжёвывали -> сменил канал - пропусти одно преобразование. Т.е. тысячу раз советовали увеличивать в два раза частоту выборок?! Как по мне - проще избавиться от sleep-а
|
|
|
|
|
May 8 2007, 08:41
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(ArtemKAD @ May 7 2007, 18:41)  Не думаю, что тут дело именно в конденсаторе - без использования Sleep-а в AtMega48 никаких проблем не обнаружил. Собственно так на грабли и наткнулся. В одной части программы был Sleep, а в другой небыло. Вот оно и работало полностью корректно тогда, когда проц. не засыпал. Как только убрал Sleep-ы во всей программе - так проблема и исчезла...
Кроме того, не думаю, что 260мкс преобразование это "быстрая тактовая" для АЦП AVR Слип тут побоку. Просто при полосе пропускания канала АЦП Меги около 20-40КГц, имеешь все шанцы огрести остаточный заряд на УВХ от предыдущего канала/измерения. Бо время сэмпла УВХ=1,5 такта АЦП. А Р-Ц, типа, остаёцца постоянным. Одно дело когда Тсэмпл=15мкс, другое - когда 1,5мкс.
|
|
|
|
|
May 8 2007, 12:23
|
Участник

Группа: Свой
Сообщений: 71
Регистрация: 7-07-06
Из: Новосибирск
Пользователь №: 18 652

|
А какое выходное сопротивление источника? Если это высокоомный делитель или медленный ОУ - вот и будет проникновение каналов при коммутации больше. На следующей неделе ради интереса посмотрю - есть ли отличие у M88 по сравнению со старыми мегами по проникновению. Я обычно коммутирую мультиплексор по окончании текущего преобразования. К началу следующего все устаканивается. Делается что-то типа AutoScan в MSP.
|
|
|
|
|
May 12 2007, 01:02
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(ArtemKAD @ May 8 2007, 09:26)  Т.е. тысячу раз советовали увеличивать в два раза частоту выборок?! Как по мне - проще избавиться от sleep-а Неизвестно что будет эффективнее - удвоенная частота выборок или отключение sleep. Убрав sleep вы не сможете воспользоваться фичей sleep mode noise canceller. А значит потеряете в точности преобразования.. Вы можете увеличить частоту семплирования АЦП вдвое - ( у вас это будет 130mks на преобразование) 7Khz - без ущерба точности. Первое преобразование после смены канала делать грубым (без перехода в Sleep режим) во время этого преобразования можно обрабатывать данные полученные с предыдущего канала. Второе преобразование делать с помощью sleep. Одновременно вы решите вопрос переносимости на старые меги, где вляние на соседние каналы есть и без sleep.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|