roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 03:28

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 80 ]  На страницу 1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Калибровка нуля АЦП AD7792 (бывшая "Расчет рекурсивного ФНЧ"
СообщениеДобавлено: 27 апр 2013, 17:28 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Получаю данные с АЦП каждые 20 мс. Выдавать инфу наверх надо со скоростью 1 раз в 100 мс, то есть есть возможность использовать предыдущие отсчеты. Сигнал - постоянное напряжение милливольтовой величины. Оно зашумлено белым шумом (все шаги по аналоговой фильтрации сигнала уже выполнены). Мне не важен тип фильтра, переходной процесс - мне важно качество фильтрования. Пока я пробовал самый простой фильтр:
Y(n) = ((100*Y(n-1)+156*X(n)))/256. Общая формула Y(n)=A*Y(n-1)+B*X(n), А+В=1. Он фильтрует, задержка всего 1 отсчет, но мне хочется большего. В инете слишком много теории и мало практики. Я хотел бы получить или хороший совет по пошаговому проектированию (формула и подбор коэффициентов, а также как посмотреть вид АЧХ), или ссылку на аналогичную информацию.


Последний раз редактировалось Radist 23 май 2013, 19:17, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 27 апр 2013, 21:16 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
Цитата:
мне важно качество фильтрования
без знания типа сигнала , правильного фильтра не сделать ....

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 27 апр 2013, 21:34 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Сигнал я описал - это постоянка милливольтового диапазона. После оцифровки скачут младшие разряды АЦП - вот этот разброс я и хочу отфильтровать. Вот взять к примеру ADUC - он это делает аппаратно. Простое усреднение по пяти отсчетам работает плохо. Медианный фильтр работает лучше, но результат дает случайный, хотя и более вероятный. Поэтому и хочу попробовать рекурсией...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 27 апр 2013, 22:33 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
Radist писал(а):
это постоянка милливольтового диапазона
емкость больше поставить и уйдут шумы....

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 27 апр 2013, 23:19 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Никуда они не уйдут. Как будто вы с АЦП никогда не работали. У меня единица младшего разряда 1,25 мкВ. Тема не об этом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 10:27 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
по слову рекуррентный еще пробуйте искать а не по рекурсивный...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 12:48 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
речь идет о дребезге младших битов?

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 14:04 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Да, речь о дребезге младших битов. АЦП выдает 24 бита, из них два старших - служебные. Даташит обещает офигенную точность ENOB 20.6 битов. А по факту хрен. На плате только линейный стабилизатор 5В, опорник, АЦП, МК с выходом на уарт. Аналоговая земля, цифровая земля, аналоговое питание, цифровое питание, вход через RC цепочки - вся фильтрация аналоговая выполнена. Закороченный вход шумит с выбросами в 6 бит. Код считываю правильно (обычный SPI). Вот такие дела.

А официальное название рекурсивных (рекурентных) фильтров - фильтры с бесконечной импульсной характеристикой. Основная их особенность - они используют ранее вычисленные значения. А нерекурсивные используют только сигнал и предыдущие сигналы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 14:38 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
решал похожую проблему, но с меньшими скоростями...а почему не взять просто: накопительное, среднеарифметическое? при такой скорости уже 5 выборок есть, если этого мало и можно пренебречь динамикой, то количество можно и увеличить (чтобы накапливались данные)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 14:44 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
В том то и дело, что если выдавать даные раз в секунду, то все отлично выходит. НО, начальство поставило задачу: получать инфу и проверять аварийные уставки быстро, не медленнее 100 мс. Это для приборов противоаварийной защиты. Нашел по характеристикам быстрый (и точный) АЦП, теперь пытаюсь выжать из него точность на заявленной скорости. Поэтому тема и появилась. На пяти скользящее среднее работает плохо, поскольку есть большие выбросы в 6 бит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 15:23 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Может ещё больше увеличить разрядность АЦП (если он шумит, а не сигнал скачет)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 16:55 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Radist писал(а):
В том то и дело, что если выдавать даные раз в секунду, то все отлично выходит. НО, начальство поставило задачу: получать инфу и проверять аварийные уставки быстро, не медленнее 100 мс. Это для приборов противоаварийной защиты. Нашел по характеристикам быстрый (и точный) АЦП, теперь пытаюсь выжать из него точность на заявленной скорости. Поэтому тема и появилась. На пяти скользящее среднее работает плохо, поскольку есть большие выбросы в 6 бит.

длительность выбросов какая?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 18:39 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Про длительность сказать не могу. Я смотрел осциллографом - на сигнале ВЧ шум. Но сейчас речь не об этом - вход закорочен прямо на ногах АЦП - навестись ничего не может. Значит это внутренние шумы (ИОН, АЦП). Измерение раз в 20 мс. Вот и все, что я могу сказать по этому делу.

Добавлено спустя 5 минут 55 секунд:
Madf писал(а):
Может ещё больше увеличить разрядность АЦП (если он шумит, а не сигнал скачет)?

Другими словами взять другой АЦП большей разрядности. Но где гарантия, что с ним не будет тех же проблем.
До этого я работал с АЦП AD7705. У него тоже была такая же проблема. Но поскольку измерение за 1 секунду всех устраивало - усреднял 50 отсчетов и было все ок.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 19:12 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
при такой битности АЦП я бы на питание смотрел очень пристально..

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет рекурсивного ФНЧ
СообщениеДобавлено: 28 апр 2013, 21:55 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Линейный источник питания - диод - дроссель - электролит - керамика - резистор - электролит - керамика - стабилизатор REF195 - керамика (это цифровое питание) - два дросселя по питанию и земле (точка соединения цифровой и аналоговой земли) - электролит - керамика (аналоговое питание).

Добавлено спустя 2 часа 10 минут 45 секунд:
Сейчас, при закороченном входе, код прыгает с размахом плюс минус 40 мкВ максимум. Казалось бы такая малость, по ссравнению с опорником 2,5В. Но есть еще одно требование начальства: измерять сигнал с термопары в узком диапазоне с высоким классом точности. А это всего 6 мВ. И класс получается хуже чем 0,5 (а надо 0,1). То есть если решить обратную задачу, то максимальная ошибка измерения должна быть не больше 6 мкВ. Надо или фильтровать выход ацп (усреднение за секунду, кстати, позволяет получить погрешность меньше 6 мкВ), или усиливать вход. Мой АЦП это не умеет, а городить еще PGA не хочется.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 80 ]  На страницу 1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO