|
АЦП микроконтроллера |
|
|
|
Dec 25 2006, 18:03
|
Местный
  
Группа: Новичок
Сообщений: 266
Регистрация: 29-11-06
Пользователь №: 22 905

|
Цитата(KIG @ Dec 25 2006, 15:24)  Подскажите, пожалуйста, зачем нужна частота предделителя АЦП, как связана эта частота с погрешностью преобразования результата АЦП? Почему при увеличении частоты погрешность возрастает? Почитайте как АЦП устроены и сами поймете. Цитата Использую AT90S8535 c частотой кварца 3.6864 MHz. В DATASHEETе написано, что минимальное время преобразования АЦП 65 мксек, у меня вышло 37 мксек. Возможно ли это? Да. Также как и 20 мегагерцах, можно включить чип который только на 16. Но вот никто не обещает что он будет работать.
|
|
|
|
|
Dec 25 2006, 18:05
|
Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 5-05-06
Из: Ekaterinburg, Russia
Пользователь №: 16 821

|
Цитата(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, его же давно не выпускают  ?
--------------------
Чудес не бывает - бывает мало знаний и опыта!
|
|
|
|
|
Dec 26 2006, 08:54
|
Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884

|
Время преобразования я измеряю с помощью внутреннего таймера (Timer0). Как только возникает прерывание от АЦП микроконтроллера, вывожу с помощью УАПП это время на компьютер. Получаю следующие значения: 35 мкс-первая цифра, 52 мкс-вторая цифра, опять 35 мкс, а затем идут цифры 52 мкс. ( предделитель АЦП=16, частота кварца=3.6864 MHz, предделитель таймера 64, входная цепь состоит из делителя (2 сопротивления) и конденсатора) Если это связано с помехами, то как от них избавиться? Заранее спасибо!
|
|
|
|
|
Dec 26 2006, 13:42
|
Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 5-05-06
Из: Ekaterinburg, Russia
Пользователь №: 16 821

|
Цитата(KIG @ Dec 26 2006, 10:54)  Время преобразования я измеряю с помощью внутреннего таймера (Timer0). Как только возникает прерывание от АЦП микроконтроллера, вывожу с помощью УАПП это время на компьютер. Получаю следующие значения: 35 мкс-первая цифра, 52 мкс-вторая цифра, опять 35 мкс, а затем идут цифры 52 мкс. ( предделитель АЦП=16, частота кварца=3.6864 MHz, предделитель таймера 64, входная цепь состоит из делителя (2 сопротивления) и конденсатора) Если это связано с помехами, то как от них избавиться? Заранее спасибо! Таймер настроен неправильно - очнь грубо измеряет интервалы времени (разешение 17 мкс). Сделайте предделитель таймера хотя бы 8 (разрешение 2 мкс), а лучше 1.
--------------------
Чудес не бывает - бывает мало знаний и опыта!
|
|
|
|
|
Dec 26 2006, 16:16
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 21-02-06
Пользователь №: 14 561

|
Цитата(Yura_K @ Dec 26 2006, 13:42)  Цитата(KIG @ Dec 26 2006, 10:54)  Время преобразования я измеряю с помощью внутреннего таймера (Timer0). Как только возникает прерывание от АЦП микроконтроллера, вывожу с помощью УАПП это время на компьютер. Получаю следующие значения: 35 мкс-первая цифра, 52 мкс-вторая цифра, опять 35 мкс, а затем идут цифры 52 мкс. ( предделитель АЦП=16, частота кварца=3.6864 MHz, предделитель таймера 64, входная цепь состоит из делителя (2 сопротивления) и конденсатора) Если это связано с помехами, то как от них избавиться? Заранее спасибо! Таймер настроен неправильно - очнь грубо измеряет интервалы времени (разешение 17 мкс). Сделайте предделитель таймера хотя бы 8 (разрешение 2 мкс), а лучше 1. ...возможно при измерении времени преобразования, вносится ошибка на время реакции на прерывание АЦП
|
|
|
|
|
Jan 9 2007, 12:21
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
Цитата(Георгий @ Jan 9 2007, 11:47)  Два вопроса по АЦП: 1. Насколько я понял, АЦП никак не сигнализирует о превышении предела измерения, т.е. при максимальном значении еще не факт, что на входе Vref, может быть и больше? 2. Входной делитель. Согласно даташиту вход оптимизирован под источник внутренним сопротивлением несколько кОм, с другой стороны чтобы не вносить погрешность в измерения входное сопротивление должно быть не менее 20 кОм на В. И получается что с делителем для измерения напряжений, бОльших Vref, вход подключается к источнику с больши сопротивлением. Влияет ли это на погрешность измерения? Кто как входной делитель делает для AVR? 1. Да, никак, все что больше или равно Vref будет 0x3FF (для 10 бит). 2. Входное сопротивление ADC прописано в Electrical Characteristics, можно посмотреть, что оно равно 100 МОм. Т.е. даже если вы поделете сигнал резисторами 1МОм, погрешность составит 1%.
|
|
|
|
|
Jan 9 2007, 12:43
|
Местный
  
Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957

|
Цитата(Dopler @ Jan 9 2007, 12:21)  2. Входное сопротивление ADC прописано в Electrical Characteristics, можно посмотреть, что оно равно 100 МОм. Т.е. даже если вы поделете сигнал резисторами 1МОм, погрешность составит 1%. Я немного не это имел ввиду, про ВХОДНОЕ сопротивление АЦП, я понимаю. А как соотнести значения несколько кОм (1 -5 , вроде бы, точно не помню) и несколько сотен кОм измеряемого источника напряжения (с делителем). Т.е. для АЦП это будет источник напряжения с очень большим внутренним сопротивлением. На что это может повлиять?
--------------------
Обычно последним смеется тот, кто хуже соображает!
|
|
|
|
|
Jan 9 2007, 12:58
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
Цитата(Георгий @ Jan 9 2007, 12:43)  Цитата(Dopler @ Jan 9 2007, 12:21)  2. Входное сопротивление ADC прописано в Electrical Characteristics, можно посмотреть, что оно равно 100 МОм. Т.е. даже если вы поделете сигнал резисторами 1МОм, погрешность составит 1%.
Я немного не это имел ввиду, про ВХОДНОЕ сопротивление АЦП, я понимаю. А как соотнести значения несколько кОм (1 -5 , вроде бы, точно не помню) и несколько сотен кОм измеряемого источника напряжения (с делителем). Т.е. для АЦП это будет источник напряжения с очень большим внутренним сопротивлением. На что это может повлиять? Если честно, то я не совсем понял вопрос. И о каких 1-5 кОм идет речь? По-идее все определяется входным сопротивлением АЦП.
|
|
|
|
|
Jan 9 2007, 13:42
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(KIG @ Dec 25 2006, 20:08)  Спасибо за статью. Прочитал, но всё же не понятно почему с увеличением частоты более 200кГц погрешность увеличивается, всегда считал наоборот, что при увеличении частоты дискретизации сигнал оцифровывается более точно  ? Это разные вещи. Нельзя сделать оцифровку сигнала с частотой выборок 1 МГц (период 1 мкс), если время преобразования в АЦП составляет 10 мкс. Если говорить оп АЦП в AVR, то если Вы внимательно прочитаете соответствующий раздел в DS, то увидите, что на входе АЦП имеется схема выборки-хранения с определенной постоянной времени. Зная постоянную времени, можно определить время, необходимое для запоминания очередной выборки сигнала для последующего цикла преобразования. Если конденсатор с СВХ не будет успевать заряжаться, то это будет эквивалентно уменьшению коэффициента передачи на больших частотах и увеличению погрешности АЦП. В некоторых случаях это не имеет большого значения. Например, мы увеличивали частоту преобразования до 32 кГц, когда оцифровывали речь. Относительные значения кодов сохранялись, а абсолютные значения напряжения нас не интересовали. К тому же, из 10 разрядов на выходе АЦП мы использовали только 8.
|
|
|
|
|
Jan 9 2007, 14:11
|
Местный
  
Группа: Новичок
Сообщений: 239
Регистрация: 5-10-06
Пользователь №: 21 004

|
Цитата(KIG @ Dec 25 2006, 16:24)  В DATASHEETе написано, что минимальное время преобразования АЦП 65 мксек, у меня вышло 37 мксек. Возможно ли это? да, это возможно. возможно и быстрей но параметры АЦП будут хуже - про это написано в ДШ.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|