artemkad 69 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба Может уже кто заметил... У AtMega48 наблюдается "перетекание" напряжения из одного канала АЦП в другой если переключение происходит при работе со SLEEP-сорежимом (в т.ч. IDLE). Если SLEEP-а нет или делать холостое преобразование (можно принудительно выключая, а затем включая АЦП сделать 25-тактное преобразование), то проблем с взаимной связью между каналами не наблюдается. Эффект связан только с переключением MUX-ов, с переключением REFS-ов вроде все Ок... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба Вроде я мельком в даташите читал о необходимости холостого измерения при выходе из sleep. Написано просто - данные не верны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 69 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба В даташите не нашел :( . Тем более ADC Noise Canceler завязан на Sleep. Они не просто не верны - они взяты с некоторым коэффициентом из предыдушего канала. Если не делать переключения каналов - никаких замечаний не обнаружено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба В m16/32 наблюдается тот же эффект и без sleep'a. Я просто пропускаю первый рез-тат преобразования после смены канала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mse 0 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба Этой особенности сто лет в обед сёдня. Конденсаторные АЦП с фиксированным временем сэмплирования и узкой полосой пропускания этой болезнью болеют от рождения. Работай на низкой тактовой АЦП. И всё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 69 7 мая, 2007 Опубликовано 7 мая, 2007 (изменено) · Жалоба Конденсаторные АЦП с фиксированным временем сэмплирования и узкой полосой пропускания этой болезнью болеют от рождения. Работай на низкой тактовой АЦП. И всё. Не думаю, что тут дело именно в конденсаторе - без использования Sleep-а в AtMega48 никаких проблем не обнаружил. Собственно так на грабли и наткнулся. В одной части программы был Sleep, а в другой небыло. Вот оно и работало полностью корректно тогда, когда проц. не засыпал. Как только убрал Sleep-ы во всей программе - так проблема и исчезла... Кроме того, не думаю, что 260мкс преобразование это "быстрая тактовая" для АЦП AVR Изменено 7 мая, 2007 пользователем ArtemKAD Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VDG 0 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба Тысячу раз здесь на форуме уже разжёвывали -> сменил канал - пропусти одно преобразование. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 69 8 мая, 2007 Опубликовано 8 мая, 2007 · Жалоба Тысячу раз здесь на форуме уже разжёвывали -> сменил канал - пропусти одно преобразование. Т.е. тысячу раз советовали увеличивать в два раза частоту выборок?! Как по мне - проще избавиться от sleep-а Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mse 0 8 мая, 2007 Опубликовано 8 мая, 2007 · Жалоба Не думаю, что тут дело именно в конденсаторе - без использования Sleep-а в AtMega48 никаких проблем не обнаружил. Собственно так на грабли и наткнулся. В одной части программы был Sleep, а в другой небыло. Вот оно и работало полностью корректно тогда, когда проц. не засыпал. Как только убрал Sleep-ы во всей программе - так проблема и исчезла... Кроме того, не думаю, что 260мкс преобразование это "быстрая тактовая" для АЦП AVR Слип тут побоку. Просто при полосе пропускания канала АЦП Меги около 20-40КГц, имеешь все шанцы огрести остаточный заряд на УВХ от предыдущего канала/измерения. Бо время сэмпла УВХ=1,5 такта АЦП. А Р-Ц, типа, остаёцца постоянным. Одно дело когда Тсэмпл=15мкс, другое - когда 1,5мкс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 69 8 мая, 2007 Опубликовано 8 мая, 2007 · Жалоба Так я и говорю - сэмпл 20мкс. На переключение более чем достаточно. Пробовал не засыпать в течении первых 3-х сэмплов - эффект без изменений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mse 0 8 мая, 2007 Опубликовано 8 мая, 2007 · Жалоба Так я и говорю - сэмпл 20мкс. На переключение более чем достаточно. Пробовал не засыпать в течении первых 3-х сэмплов - эффект без изменений. ХЗ.На 1МГц у м128 был заметный эффект. Канал со значением 1000 вызывал на другом ~10. Да и то удалось убрать. Забыл как, правда. Наверное частотой. А м48 у меня очень хорошо работала. Правда на ней BPF был. Всё отфильтровывалось, наверное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vade_nsk 0 8 мая, 2007 Опубликовано 8 мая, 2007 · Жалоба А какое выходное сопротивление источника? Если это высокоомный делитель или медленный ОУ - вот и будет проникновение каналов при коммутации больше. На следующей неделе ради интереса посмотрю - есть ли отличие у M88 по сравнению со старыми мегами по проникновению. Я обычно коммутирую мультиплексор по окончании текущего преобразования. К началу следующего все устаканивается. Делается что-то типа AutoScan в MSP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sadat 0 10 мая, 2007 Опубликовано 10 мая, 2007 · Жалоба Согласен с NVade - сопротивление источника напряжения играет очень важную роль. Если источник напряжения - резестивный делитель (к примеру, мониторинг напряжения питания, батарейки и т.п.) и частота изменений мала - советую поставить конденсатор на вход АЦП мк - 0.1-1мк - смазанные предыдущие значения исчезнут. К стати, по ДШ выходное сопротивление источника - не больше 10кОм, надо учитывать.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 69 10 мая, 2007 Опубликовано 10 мая, 2007 · Жалоба Один вход - 300 ом, второй - 220ком||0,15мкФ. Взаимное влияние в обе стороны. Еще раз - без sleep-а не "перетекает"... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 12 мая, 2007 Опубликовано 12 мая, 2007 · Жалоба Т.е. тысячу раз советовали увеличивать в два раза частоту выборок?! Как по мне - проще избавиться от sleep-а Неизвестно что будет эффективнее - удвоенная частота выборок или отключение sleep. Убрав sleep вы не сможете воспользоваться фичей sleep mode noise canceller. А значит потеряете в точности преобразования.. Вы можете увеличить частоту семплирования АЦП вдвое - ( у вас это будет 130mks на преобразование) 7Khz - без ущерба точности. Первое преобразование после смены канала делать грубым (без перехода в Sleep режим) во время этого преобразования можно обрабатывать данные полученные с предыдущего канала. Второе преобразование делать с помощью sleep. Одновременно вы решите вопрос переносимости на старые меги, где вляние на соседние каналы есть и без sleep. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться