Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос новичка
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Anjey_N
Привет!
В ATmega16 есть автозапуск АЦП по переполнению таймера TC0

setbit(SFIOR,ADTS2);

А есть ли такое в ATmega8? Я в datasheat такого не нашёл!
Это первый вопрос.

А теперь второй:
Я делаю 64 измерения, суммирую и делю на 4. Получаю 14р код, имею 4 дополнительных разряда.
Потом это значение пропускаю через скользящее среднее. А нужно ли так поступать?
Может сразу каждое измерение пропускать через скользящее среднее?
Как будет правильней?

Код пишу в IAR4.20, отлаживаю в AVRStudio
forever failure
Если сразу вставлять в скользящее среднее, то длина его окна может оказаться такой, что не хватит памяти. Так что, сперва суммировать - нормальный ход.

Насчёт автозапуска по таймеру - не в курсе. Автозапуск по готовности результата преобразования точно есть. На крайняк можно повестить запуск АЦП в обработчике прерывания переполнения таймера.
KRS
Цитата(Anjey_N @ May 14 2007, 17:11) *
А теперь второй:
Я делаю 64 измерения, суммирую и делю на 4. Получаю 14р код, имею 4 дополнительных разряда.


Получить то вы получите еще 4 разряда, но данные там будут случайными
Таким образом повысиь точность ADC нельзя.
wodya
Что касается разрядности АЦП, то использование скользящего среднего само по себе снижает разрядность (в динамике конечно). Более того, в некоторых случаях, разрядность АЦП снижают, чтобы не демонстрировать конечным пользователям шумы. Но это зависит от измеряемой величины и необходимой частоты ее представления. Правда, это касается, в основном высокоразрядных АЦП.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.