Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: АЦП микроконтроллера
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
KIG
Подскажите, пожалуйста, зачем нужна частота предделителя АЦП, как связана эта частота с погрешностью преобразования результата АЦП? Почему при увеличении частоты погрешность возрастает? Использую AT90S8535 c частотой кварца 3.6864 MHz.
В DATASHEETе написано, что минимальное время преобразования АЦП 65 мксек, у меня вышло 37 мксек. Возможно ли это?
Artem-1.6E-19
Цитата(KIG @ Dec 25 2006, 15:24) *
Подскажите, пожалуйста, зачем нужна частота предделителя АЦП, как связана эта частота с погрешностью преобразования результата АЦП? Почему при увеличении частоты погрешность возрастает?

Почитайте как АЦП устроены и сами поймете.
Цитата
Использую AT90S8535 c частотой кварца 3.6864 MHz.
В DATASHEETе написано, что минимальное время преобразования АЦП 65 мксек, у меня вышло 37 мксек. Возможно ли это?

Да. Также как и 20 мегагерцах, можно включить чип который только на 16. Но вот никто не обещает что он будет работать.
Yura_K
Цитата(KIG @ Dec 25 2006, 18:24) *
Подскажите, пожалуйста, зачем нужна частота предделителя АЦП, как связана эта частота с погрешностью преобразования результата АЦП? Почему при увеличении частоты погрешность возрастает? Использую AT90S8535 c частотой кварца 3.6864 MHz.
В DATASHEETе написано, что минимальное время преобразования АЦП 65 мксек, у меня вышло 37 мксек. Возможно ли это?

По теории АЦП посмотрите хотя-бы вот эту статью.
Предделитель задает частоту тактирования АЦП. Для того, чтобы характеристики АЦП соответствовали datasheet'у необходимо соблюдать данные там же условия, т.е. для Вашей частоты кварца 3.6864 МГц предделитель должен быть не менее 32, т.к. при этом частота тактирования АЦП равна 3.6864 МГЦ/32/13=8.861 кГц, что соответствует условию меньше 15 кГц. На самом деле можно использовать и предделитель 16 (частота 17.7 кГц). Вообще говоря АЦП у AVR'их микроконтроллеров довольно плохое по своим характеристикам, в серъезных приложениях на него не стоит полагаться.
P.S. Где же Вы раздобыли AT90S8535, его же давно не выпускают smile.gif?
KIG
Спасибо за статью. Прочитал, но всё же не понятно почему с увеличением частоты более 200кГц погрешность увеличивается, всегда считал наоборот, что при увеличении частоты дискретизации сигнал оцифровывается более точно sad.gif ?
defunct
Цитата(Yura_K @ Dec 25 2006, 18:05) *
Вообще говоря АЦП у AVR'их микроконтроллеров довольно плохое по своим характеристикам, в серъезных приложениях на него не стоит полагаться.

Ну это уж слишком сильно сказано.
В серьезных приложениях для АЦП AVRки тоже можно с успехом найти применение. Например для клавиатур..
SasaVitebsk
Цитата(KIG @ Dec 25 2006, 20:08) *
Спасибо за статью. Прочитал, но всё же не понятно почему с увеличением частоты более 200кГц погрешность увеличивается, всегда считал наоборот, что при увеличении частоты дискретизации сигнал оцифровывается более точно sad.gif ?


Сигнал оцифровывается более точно, но погрешность КАЖДОГО измерения должна быть в пределах допустимого. А погрешность измерения определяется самим АЦП. Если АЦП медленное, то при быстром измерении произойдёт потеря точности.
Pat
Цитата(KIG @ Dec 25 2006, 19:08) *
Спасибо за статью. Прочитал, но всё же не понятно почему с увеличением частоты более 200кГц погрешность увеличивается, всегда считал наоборот, что при увеличении частоты дискретизации сигнал оцифровывается более точно sad.gif ?


Это сигнал оцифровывается более точно, а сам АЦП с увеличением частоты преобразования начинает работать мение точно.
KIG
А с чем связано изменение времени преобразования АЦП при одной и той же частоте предделителя АЦП? Заранее спасибо! smile.gif
SasaVitebsk
Цитата(KIG @ Dec 25 2006, 20:43) *
А с чем связано изменение времени преобразования АЦП при одной и той же частоте предделителя АЦП? Заранее спасибо! smile.gif


Если честно, то не совсем понял вопроса. Приведите в каком случае.

А вообще время преобразования должно быть жёстко связато с тактовой частотой. Правда зависит от выбраной разрядности. Точность же зависит от многих факторов, - (1) входных цепей самого АЦП, (2)формы и частоты самого сигнала, (3)качества питания и характеристик источника опорного сигнала, (4)возможных наводок. Это главные факторы. А на эти факторы влияют более мелкие. Например качество разводки пп может повлиять на п. 3 и 4. Выходной каскад с которого снимается аналоговый сигнал может влиять на п.2 за счёт п.1.
KIG
Время преобразования я измеряю с помощью внутреннего таймера (Timer0). Как только возникает прерывание от АЦП микроконтроллера, вывожу с помощью УАПП это время на компьютер. Получаю следующие значения: 35 мкс-первая цифра, 52 мкс-вторая цифра, опять 35 мкс, а затем идут цифры 52 мкс.
( предделитель АЦП=16, частота кварца=3.6864 MHz, предделитель таймера 64, входная цепь состоит из делителя (2 сопротивления) и конденсатора)

Если это связано с помехами, то как от них избавиться? smile.gif
Заранее спасибо!
Yura_K
Цитата(KIG @ Dec 26 2006, 10:54) *
Время преобразования я измеряю с помощью внутреннего таймера (Timer0). Как только возникает прерывание от АЦП микроконтроллера, вывожу с помощью УАПП это время на компьютер. Получаю следующие значения: 35 мкс-первая цифра, 52 мкс-вторая цифра, опять 35 мкс, а затем идут цифры 52 мкс.
( предделитель АЦП=16, частота кварца=3.6864 MHz, предделитель таймера 64, входная цепь состоит из делителя (2 сопротивления) и конденсатора)

Если это связано с помехами, то как от них избавиться? smile.gif
Заранее спасибо!

Таймер настроен неправильно - очнь грубо измеряет интервалы времени (разешение 17 мкс). Сделайте предделитель таймера хотя бы 8 (разрешение 2 мкс), а лучше 1.
tag
Цитата(Yura_K @ Dec 26 2006, 13:42) *
Цитата(KIG @ Dec 26 2006, 10:54) *

Время преобразования я измеряю с помощью внутреннего таймера (Timer0). Как только возникает прерывание от АЦП микроконтроллера, вывожу с помощью УАПП это время на компьютер. Получаю следующие значения: 35 мкс-первая цифра, 52 мкс-вторая цифра, опять 35 мкс, а затем идут цифры 52 мкс.
( предделитель АЦП=16, частота кварца=3.6864 MHz, предделитель таймера 64, входная цепь состоит из делителя (2 сопротивления) и конденсатора)

Если это связано с помехами, то как от них избавиться? smile.gif
Заранее спасибо!

Таймер настроен неправильно - очнь грубо измеряет интервалы времени (разешение 17 мкс). Сделайте предделитель таймера хотя бы 8 (разрешение 2 мкс), а лучше 1.




...возможно при измерении времени преобразования, вносится ошибка на время реакции на прерывание АЦП
muravei
А зачем вам заморочки с таймером -посчитайте программно до прерывания (если для проверки)
Dopler
А как вы запускаете преобразование? Или у вас АЦП запущено на автомате? У АЦП АВР различно время первого и последующих преобразований, т.е. если между преобразованиями АЦП отключается (убирается бит EN), то время преобразования будет больше (13 тактов и 25 соответственно).
Георгий
Два вопроса по АЦП:
1. Насколько я понял, АЦП никак не сигнализирует о превышении предела измерения, т.е. при максимальном значении еще не факт, что на входе Vref, может быть и больше?
2. Входной делитель. Согласно даташиту вход оптимизирован под источник внутренним сопротивлением несколько кОм, с другой стороны чтобы не вносить погрешность в измерения входное сопротивление должно быть не менее 20 кОм на В. И получается что с делителем для измерения напряжений, бОльших Vref, вход подключается к источнику с больши сопротивлением. Влияет ли это на погрешность измерения? Кто как входной делитель делает для AVR?
Dopler
Цитата(Георгий @ Jan 9 2007, 11:47) *
Два вопроса по АЦП:
1. Насколько я понял, АЦП никак не сигнализирует о превышении предела измерения, т.е. при максимальном значении еще не факт, что на входе Vref, может быть и больше?
2. Входной делитель. Согласно даташиту вход оптимизирован под источник внутренним сопротивлением несколько кОм, с другой стороны чтобы не вносить погрешность в измерения входное сопротивление должно быть не менее 20 кОм на В. И получается что с делителем для измерения напряжений, бОльших Vref, вход подключается к источнику с больши сопротивлением. Влияет ли это на погрешность измерения? Кто как входной делитель делает для AVR?


1. Да, никак, все что больше или равно Vref будет 0x3FF (для 10 бит).
2. Входное сопротивление ADC прописано в Electrical Characteristics, можно посмотреть, что оно равно 100 МОм. Т.е. даже если вы поделете сигнал резисторами 1МОм, погрешность составит 1%.
Георгий
Цитата(Dopler @ Jan 9 2007, 12:21) *
2. Входное сопротивление ADC прописано в Electrical Characteristics, можно посмотреть, что оно равно 100 МОм. Т.е. даже если вы поделете сигнал резисторами 1МОм, погрешность составит 1%.

Я немного не это имел ввиду, про ВХОДНОЕ сопротивление АЦП, я понимаю. А как соотнести значения несколько кОм (1 -5 , вроде бы, точно не помню) и несколько сотен кОм измеряемого источника напряжения (с делителем). Т.е. для АЦП это будет источник напряжения с очень большим внутренним сопротивлением. На что это может повлиять?
Dopler
Цитата(Георгий @ Jan 9 2007, 12:43) *
Цитата(Dopler @ Jan 9 2007, 12:21) *

2. Входное сопротивление ADC прописано в Electrical Characteristics, можно посмотреть, что оно равно 100 МОм. Т.е. даже если вы поделете сигнал резисторами 1МОм, погрешность составит 1%.

Я немного не это имел ввиду, про ВХОДНОЕ сопротивление АЦП, я понимаю. А как соотнести значения несколько кОм (1 -5 , вроде бы, точно не помню) и несколько сотен кОм измеряемого источника напряжения (с делителем). Т.е. для АЦП это будет источник напряжения с очень большим внутренним сопротивлением. На что это может повлиять?


Если честно, то я не совсем понял вопрос. И о каких 1-5 кОм идет речь? По-идее все определяется входным сопротивлением АЦП.
Георгий
В даташите написано, что АЦП оптимизировано под источники напряжения с внутренним сопротивлением несколько кОм.
mse
Цитата(Георгий @ Jan 9 2007, 13:24) *
В даташите написано, что АЦП оптимизировано под источники напряжения с внутренним сопротивлением несколько кОм.

Прально, бо кроме входного R есть ещё входное C, подключаемое на 1,5 периода тактирования АЦПы.
_Bill
Цитата(KIG @ Dec 25 2006, 20:08) *
Спасибо за статью. Прочитал, но всё же не понятно почему с увеличением частоты более 200кГц погрешность увеличивается, всегда считал наоборот, что при увеличении частоты дискретизации сигнал оцифровывается более точно sad.gif ?

Это разные вещи. Нельзя сделать оцифровку сигнала с частотой выборок 1 МГц (период 1 мкс), если время преобразования в АЦП составляет 10 мкс.
Если говорить оп АЦП в AVR, то если Вы внимательно прочитаете соответствующий раздел в DS, то увидите, что на входе АЦП имеется схема выборки-хранения с определенной постоянной времени. Зная постоянную времени, можно определить время, необходимое для запоминания очередной выборки сигнала для последующего цикла преобразования. Если конденсатор с СВХ не будет успевать заряжаться, то это будет эквивалентно уменьшению коэффициента передачи на больших частотах и увеличению погрешности АЦП.
В некоторых случаях это не имеет большого значения. Например, мы увеличивали частоту преобразования до 32 кГц, когда оцифровывали речь. Относительные значения кодов сохранялись, а абсолютные значения напряжения нас не интересовали. К тому же, из 10 разрядов на выходе АЦП мы использовали только 8.
kamedi_clab
Цитата(KIG @ Dec 25 2006, 16:24) *
В DATASHEETе написано, что минимальное время преобразования АЦП 65 мксек, у меня вышло 37 мксек. Возможно ли это?


да, это возможно. возможно и быстрей но параметры АЦП будут хуже - про это написано в ДШ.
Георгий
Вобщем, насколько я понял из своего аглицкого, то увеличение сопротивления источника сигнала увеличивает время измерения.
Получается, что АЦП микроконтроллера годится только для измерения напряжения на источниках питания, где бОльшие токи не повлияют существенно на эдс источника, а в большинстве случаев ими можно и пренебречь.
mse
Цитата(Георгий @ Jan 9 2007, 14:52) *
Вобщем, насколько я понял из своего аглицкого, то увеличение сопротивления источника сигнала увеличивает время измерения.
Получается, что АЦП микроконтроллера годится только для измерения напряжения на источниках питания, где бОльшие токи не повлияют существенно на эдс источника, а в большинстве случаев ими можно и пренебречь.

Чего это вдруг? Источников с Rвых~1-10КОм - лопатой греби. А уж если операццыонник ставить какой, так ваще...Всё равно ведь в 90%случаев сигнал требует нормировки/кондиццыонирования.
Георгий
Если этому источнику требуется делитель напряжения, то это уже сотни кОм, чтобы искажения не вносить.
mse
Цитата(Георгий @ Jan 9 2007, 15:41) *
Если этому источнику требуется делитель напряжения, то это уже сотни кОм, чтобы искажения не вносить.

Ну если требуется, надо ставить. И опером его. Буффернуть.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.