roboforum.ru

Технический форум по робототехнике.

Калибровка нуля АЦП AD7792 (бывшая "Расчет рекурсивного ФНЧ"

Вопросы не попавшие в другие категории.

Re: Расчет рекурсивного ФНЧ

Сообщение Aseris » 01 май 2013, 23:57

Схему подключения АЦП в студию + осцилограму сигнала, мож у тя референс дрожит как ненормальный

Добавлено спустя 5 минут 58 секунд:
Хотя я тебе скажу что меряет оно неплохо (посмотрел выборку и отсчеты), ты что хочеш с точьностью до 2 микровольт измерять просто АЦП без обвязки хитрой????
Для измерений очень низких напряжений обычно операционник ставят на входе или гейн АЦП меняют... а в каком диапазоне мерять нужно?

Плюс дрожание 40 точек = 50 мкВ - это тебе любой провод с сигналом рядом с ацп обеспечит...

Добавлено спустя 7 минут 34 секунды:
Я думаю где я на подобое натыкался... была ж твоя тема про непонятки с АЦП...

Вобщем нужно для решения задачи определится с диапазоном частот которые хотим в сигнале замечать и исходя из этого считаем фильтр. IIR весчь слонячая можно зафильтровать так что будет среднюю температуру по палате показывать годовую :)

Если идет речь о микровольтах - печатку/разводку/гербера в студию, мож увижу ошибки разводки которые устраивают дрожание.

В идеале снять выборку точек так на 10 000 и сделать преобразование фурье по ним (матлаб/маткад/питон) и по частотам гармоник догадыватся кто нам жизнь портит или их просто зафильтровать.
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Расчет рекурсивного ФНЧ

Сообщение Radist » 02 май 2013, 07:04

Схема у меня на работе на бумажке, но она простая - по печатке все легко понять. Осциллограмму записать нечем - шумит опорник конечно, это видно, но еще и видно что сигнал с калибратора шумит точно также. Даташит разрешает шуметь опорнику с размахом 50 мкВ. Фильтровать по большой выборке мне нельзя, требования по скорости реакции на аварию. Опер на вход поставлю. Я почему к микросхеме прикопался: они пишут в даташите - отличный АЦП, 20 битов не плавающих, мы даже выкинули PGA из-за этого.
Теперь по плате кто где. Сверху справа налево идет питание, Д15 - REF195, Д16 - REF192. Д18 - MCP3553, на входе RC фильтры с подтяжкой к питанию. На опорнике кондер и резистор (он нужен для измерения термосопротивлений, 1 кОм, рефку не подсаживает). В нижнем правом углу мега8 и драйвер RS485.

Так что скорее всего от шума физически не избавиться, но он симметричен относительно точного значения, к которому я хочу приблизиться фильтрацией.

Диапазоны измерения разные, но в том числе узкие диапазоны термопар, это около 10 мВ.

В файле расширение с txt надо поменять на pcb.
Вложения
Demo_mcp3553_little_.txt
(319.99 КиБ) Скачиваний: 314
Аватара пользователя
Radist
 
Сообщения: 2241
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Расчет рекурсивного ФНЧ

Сообщение Madf » 02 май 2013, 10:04

так если шумит опорник+сигнал калибратора, то что вы хотите получить на выходе?)
кстати есть простой метод - "табличный", юстируем, подаем заведомо известные значения на вход, смотрим что на выходе > записываем в ячейку таблицы.
т.е. как бы производим предварительный расчет скажем на компьютере, а потом готовые данные заливаем, но по хорошему такие вещи надо делать уже в связке законченной схемы (её калибровать) + не требуются большие мощности
ну из минусов: требуется где-то хранить табличные/обсчитанные данные (можно прямо скажем в МК), ну и так же придется юстировать следующее, новое устройство..
в таком "ключе" будет дрожать только переходные изменения в таблице, тут поможет обычный алгоритм усредняловки
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Расчет рекурсивного ФНЧ

Сообщение Radist » 02 май 2013, 10:18

Что для калибровки я усредню 100500 отсчетов - это понятно. Чего я хочу - тоже писал. Я хочу:
1. алгоритм, позволяющий быстро сгладить выбросы в сигнале, на первом месте быстро (до 5 отсчетов задержка выхода допустима), на втором месте сгладить.
2. Понять, каким образом можно получить то, что обещают в даташите. Я закорачивал вход (то есть без калибратора и его шумов), опорник у меня прецезионный REF192, можете посмотреть его параметры.
Аватара пользователя
Radist
 
Сообщения: 2241
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Расчет рекурсивного ФНЧ

Сообщение Dmitry__ » 02 май 2013, 14:43

Рекурсивный фильтр тебя не спасет. У него бесконечная импульсная характеристика. И преимущество у них только одно - на одинаковом колич. полюсов - круче АЧХ. Во всем остальном - все плохо. В аналоговой технике может это преимущество существенно, но в цифровой обработке - фигня полная. Как ты додумался-то до него? :)
Radist писал(а):Фильтровать по большой выборке мне нельзя, требования по скорости реакции на аварию.

А кто тебе сказал, что отклик фильтра будет большой? Возьми фильтр среднего на 0.5 сек. Отклик у него будет не через 0.5 сек., а на каждом отсчете, только плавно.
Для термопар есть специально заточенные ацп, их и юзай (там инженеры решили кучу проблем с таким сигналом). Или их схемотехнику смотри, например , тебе нужен фильтр-пробка на частоту сети (у нас 50 герц, у них 60 герц).
А вообще, тебе сложно давать советы, ты всех к пдф посылаешь :wink:
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Расчет рекурсивного ФНЧ

Сообщение Aseris » 02 май 2013, 18:02

Схему всетаки в студию в pdf или jpg, не у всех есть пикад

Плюс быстро реагировать на аварию - милисикунды, секунды, часы???

Я так и не увидел диапазон напряжений...

1 кОм, рефку не подсаживает
какраз на микровольты просадит....

алгоритм, позволяющий быстро сгладить выбросы в сигнале, на первом месте быстро (до 5 отсчетов задержка выхода допустима)

медианка с окном в 5 отсчетов + плавающее среднее
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Расчет рекурсивного ФНЧ

Сообщение Radist » 02 май 2013, 18:26

Dmitry__ писал(а):Рекурсивный фильтр тебя не спасет. У него бесконечная импульсная характеристика. И преимущество у них только одно - на одинаковом колич. полюсов - круче АЧХ. Во всем остальном - все плохо. В аналоговой технике может это преимущество существенно, но в цифровой обработке - фигня полная. Как ты додумался-то до него? :)


http://we.easyelectronics.ru/Theory/che ... filtr.html
Я не додумывался - я погуглил.

Dmitry__ писал(а):А кто тебе сказал, что отклик фильтра будет большой? Возьми фильтр среднего на 0.5 сек. Отклик у него будет не через 0.5 сек., а на каждом отсчете, только плавно.


Есть требование ТЗ - на аварию (а для меня это определенный код с АЦП) надо отреагировать не позднее, чем через 100 мс после момента ее возникновения. Не обнаружения, а именно возникновения. Поэтому я не могу сглаживать так, что узнаю об аварии через полсекунды.


Dmitry__ писал(а):Для термопар есть специально заточенные ацп, их и юзай (там инженеры решили кучу проблем с таким сигналом). Или их схемотехнику смотри, например , тебе нужен фильтр-пробка на частоту сети (у нас 50 герц, у них 60 герц).
А вообще, тебе сложно давать советы, ты всех к пдф посылаешь :wink:


Есть такие АЦП, вот только заточены они на конкретную термопару, а мне нужен универсальный термопарный вход. Этим же АЦП я буду и с термометрами сопротивления работать, но это будет отдельная модификация. Фильтр там уже встроен.

Добавлено спустя 6 минут 29 секунд:
Aseris писал(а):Схему всетаки в студию в pdf или jpg, не у всех есть пикад

Нету схемы под рукой, а рисовать лень. Я уверен, что для аналоговой фильтрации сделал все.

Aseris писал(а):Плюс быстро реагировать на аварию - милисикунды, секунды, часы???

100 мс

Aseris писал(а): Я так и не увидел диапазон напряжений...
А я писал: 0 - 10 мВ

Aseris писал(а): 1 кОм, рефку не подсаживает..... какраз на микровольты просадит....


Эта просадка не должна вносить дополнительный шум, она постоянная.

Aseris писал(а):медианка с окном в 5 отсчетов + плавающее среднее

Медианка уже дает задержку в 100 мс, то есть + плавающее среднее уже нельзя. Практика показала, что фильтрует примерно как рекурсивный первого порядка, только задержка в 5 раз больше. Плавающее среднее само по себе фильтрует плохо - проверено.
Аватара пользователя
Radist
 
Сообщения: 2241
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Расчет рекурсивного ФНЧ

Сообщение Dmitry__ » 02 май 2013, 20:22

Radist писал(а):http://we.easyelectronics.ru/Theory/che ... filtr.html
Я не додумывался - я погуглил.

Ну вы блин даете. Какой-то чайник на easyelectronics пишет ерунду (это даже не пдф :shock: )
Из твоей ссылки на easyelectronics:
Эта заметка написана в качестве полной замены предыдущей заметки. Ту лучше не читать :)

и:
ВНИМАНИЕ! Это черновая статья, в которой уважаемые коллеги нашли много недочетов. Новый вариант см. здесь.

Ты уверен, что он в статье описал рекурсивный фильтр?

Radist писал(а):Есть требование ТЗ - на аварию (а для меня это определенный код с АЦП) надо отреагировать не позднее, чем через 100 мс после момента ее возникновения. Не обнаружения, а именно возникновения. Поэтому я не могу сглаживать так, что узнаю об аварии через полсекунды.

Ты не понял, отклик фильтра будет не через 0.5 сек., а на каждом отсчете. Если ты принимаешь данные с квантованием 100мс., то фильтр отреагирует на входное возмущение уже на первом отсчете, т.е. на 200 мс. А на 0.5 сек (при 5-ти полюсном фильтре) на выходе будет полный уровень возмущения.
Radist писал(а):Есть такие АЦП, вот только заточены они на конкретную термопару, а мне нужен универсальный термопарный вход.

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

У тебя происходит наложение спектра с частотой сети, можешь сколько угодно это фильтровать - умрешь пыль глотать...

Добавлено спустя 13 минут 34 секунды:
Ой, забыл, если не дошло про бесконечную имп. характеристику. Если пукнуть в рекурсивный фильтр, а потом - длинная пауза идеального нуля, то его выход никогда не вернется к нулевому состоянию, оно тебе надо?
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Расчет рекурсивного ФНЧ

Сообщение Radist » 02 май 2013, 21:20

Dmitry__ писал(а):Ну вы блин даете. Какой-то чайник на easyelectronics пишет ерунду (это даже не пдф :shock: )

Очень жаль, что вы так категоричны в суждениях. Для меня DiHalt авторитет, а вы его даже не знаете, а сразу чайником обзываете. Нехорошо.

Dmitry__ писал(а):Ты уверен, что он в статье описал рекурсивный фильтр?

Уверен. Он использует предыдущее отфильтрованное значение, а это и есть рекурсия.

Dmitry__ писал(а):Ты не понял, отклик фильтра будет не через 0.5 сек., а на каждом отсчете. Если ты принимаешь данные с квантованием 100мс., то фильтр отреагирует на входное возмущение уже на первом отсчете, т.е. на 200 мс. А на 0.5 сек (при 5-ти полюсном фильтре) на выходе будет полный уровень возмущения.

Все я понял. Есть скачущие отсчеты, и есть выход за уставку. Если сильно сглаживать, то этот выход заметим позднее, а если он короткий, то можем и не заметить вовсе. Если он короче 100 мс - я имею право его не увидеть. Это накладывает ограничение на задержку аварийного сигнала в фильтре.

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

Если посмотреть фичесы даташита (который вы смотреть не хотите, хотя он гуглится на первой странице), то этот АЦП заточен именно под это, и в нем есть перечисленные блоки, кроме компенсации холодного спая (которая зависит от типа термопары!).

Dmitry__ писал(а):У тебя происходит наложение спектра с частотой сети, можешь сколько угодно это фильтровать - умрешь пыль глотать...

Повторяю - встроенный цифровой фильтр есть. Кроме того, на закороченные ноги микросхемы навестись нечему - проводов нет. А болтанка есть. Я привел три выборки - можно построить график. Найдите там 50Гц, лично я вижу там лишь белый шум.

Dmitry__ писал(а):Ой, забыл, если не дошло про бесконечную имп. характеристику. Если пукнуть в рекурсивный фильтр, а потом - длинная пауза идеального нуля, то его выход никогда не вернется к нулевому состоянию, оно тебе надо?

Это уже демагогия, можно вспомнить что RC заряжается/разряжается по экспоненте, и никогда не зарядится/разрядится до максимума/нуля. Фильтры с БИХ существуют и работают - вот мой ответный пример.

Добавлено спустя 3 минуты 22 секунды:
Еще один пример вспомнил. Жил в Древней Греции Зенон, так он утверждал, что Ахилл не догонит черепаху, даже если будет бежать быстрее нее в 10 раз, если у нее будет небольшая фора.
Аватара пользователя
Radist
 
Сообщения: 2241
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Расчет рекурсивного ФНЧ

Сообщение Dmitry__ » 02 май 2013, 21:45

Radist писал(а):Очень жаль, что вы так категоричны в суждениях. Для меня DiHalt авторитет, а вы его даже не знаете, а сразу чайником обзываете. Нехорошо.

Он себя сам чайником назвал, я тебе проквотил его же высказывания.

Radist писал(а):Я привел три выборки - можно построить график. Найдите там 50Гц, лично я вижу там лишь белый шум.

А что там можно увидеть? Выборки по 100мс? :shock: у 50-ти герц период 20 мс. Это и есть наложение спектра.
Radist писал(а):Это уже демагогия, можно вспомнить что RC заряжается/разряжается по экспоненте, и никогда не зарядится/разрядится до максимума/нуля. Фильтры с БИХ существуют и работают - вот мой ответный пример.

Ага, а ких фильтр с n полюсами за n выборок полностью повторит входное постоянное напряжение :wink:
Я понял, будет как с супрессором, поглощение киловатт...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Расчет рекурсивного ФНЧ

Сообщение Radist » 02 май 2013, 21:59

Мы уходим от темы. Фильтр, ссылку на который я привел, работает. Но не очень хорошо, поскольку первого порядка. Как сделать второго,третьего, четвертого порядка - я не знаю, и именно это я спрашиваю у форумчан. Четыре раза применив указанный фильтр, я снизил размах пульсаций вдвое, статистика на предыдущей странице. Хочется получить идею, проверить ее экспериментально по приведенным ранее отсчетам. На отладочной плате у меня питание от линейного источника, на боевом устройстве питание будет от импульсника. Предвижу повышенную болтанку, так что фильтр мне нужен. Задавить все аналоговым образом я не смогу, поскольку болтанка есть и без импульсника.
Аватара пользователя
Radist
 
Сообщения: 2241
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Расчет рекурсивного ФНЧ

Сообщение Dmitry__ » 02 май 2013, 22:13

Ты хоть марку ацп используемого скажи, сразу станет все ясно.
Статистика на предыдущей странице не может быть статистикой фильтра, это статистика косяков. Ты хоть частоту выборок скажи :)
Фильтр первого порядка ничего не даст, это ни о чем в фильтрации. Фоновые помехи гасят на 60 децибел. В термопарах полезный сигнал ниже уровня наводок и собственных шумов. Вот отсюда и пляши.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Расчет рекурсивного ФНЧ

Сообщение Radist » 02 май 2013, 22:28

Три страницы темы - вроде не так уж и много. Уже неоднократно я называл и тип АЦП, и период выборки, и условия проведения экспериментов. Но приходит новый человек в тему, читает последнее сообщение и начинает советовать направо и налево. Так какой смысл писать сто раз об одном и том же? Далее: я люблю когда задают четкий вопрос и сам стремлюсь к этому. И не люблю вместо четкого же ответа получать ответ в виде: ты все делаешь неправильно, поэтому и задаешь такие глупые вопросы. Если вы так думаете - проходите мимо темы, раз не хотите ответить по существу. Резюмирую: все данные уже приведены ранее, а если вы думаете, что АЦП не может выдавать болтанку, то нам не по пути.

Добавлено спустя 1 минуту 22 секунды:
Dmitry__ писал(а):Фильтр первого порядка ничего не даст, это ни о чем в фильтрации.

А мужики то и не знают, ставят почем зря RC цепочки.
Аватара пользователя
Radist
 
Сообщения: 2241
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Расчет рекурсивного ФНЧ

Сообщение Dmitry__ » 02 май 2013, 22:49

Radist писал(а):Но приходит новый человек в тему, читает последнее сообщение и начинает советовать направо и налево.

Я тему читал с момента ее создания. Названия ацп не видел, только упоминание "До этого я работал с АЦП AD7705"
Radist писал(а):Dmitry__ писал(а):
Фильтр первого порядка ничего не даст, это ни о чем в фильтрации.

А мужики то и не знают, ставят почем зря RC цепочки.

зря ты так... :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Расчет рекурсивного ФНЧ

Сообщение Radist » 02 май 2013, 23:22

Radist писал(а):Теперь по плате кто где. Сверху справа налево идет питание, Д15 - REF195, Д16 - REF192. Д18 - MCP3553, на входе RC фильтры с подтяжкой к питанию.


Рядом тема "Непонятки с MCP3553", в этой теме на нее есть ссылка. Так что я не обманул. Почему явно не сказал какой АЦП - потому что это не имеет к теме отношения. Да будь это любой другой ацп, суть темы - борьба с болтанкой.
Аватара пользователя
Radist
 
Сообщения: 2241
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Пред.След.

Вернуться в Обо всём

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

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