roboforum.ru

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

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

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

Dmitry__ » 03 май 2013, 00:18

Radist писал(а):Рядом тема "Непонятки с MCP3553", в этой теме на нее есть ссылка. Так что я не обманул.

А вы, батенька, приколист :)
Можно я вас жостко обзову? Или замнем как с супрессором? :roll:
Давай послушаем ответы других...

Radist писал(а):Почему явно не сказал какой АЦП - потому что это не имеет к теме отношения.


НЮ-НЮ.

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

Madf » 03 май 2013, 10:47

мда, так красиво тема начиналась..

Radist, а вы обратили внимание в датащите на то, что фильтры 50/60 Гц есть только у первой модели (не у трехи)? это я к тому, что вроде как серьёзно подошли к теме измерений со всякими извратами, а используется не весь функционал возможностей или программно это всё реализуется? может попробовать сменить модель ацп?

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

Radist » 03 май 2013, 16:58

Обратил. Но у тех моделей время измерение чуть меньше 100 мс. Шум сам по себе маленький. Этот фильтр - погоня за обещанными битами. Раз такой ацп есть - значит с ним можно работать. Обещали 20 неплавающих битов - где они? Или у них сеть 240 Гц? Я запитывался от свинцового аккумулятора, а саму плату помещал в заземленный корпус - уровень болтанки ацп при этом оставался таким же. Несколько дней гуглил как нужно работать с именно этим ацп - ничего полезного. Единственная инфа нашлась в демобордах микрочипа, схемы обвязки и фильтры по питанию. Сделал как там - отсчеты болтанки вы видели.

Добавлено спустя 2 часа 29 минут 46 секунд:
Нашел ответ на мой второй вопрос, про 20 бит ENOB.

http://kit-e.ru/articles/dac/2008_09_42.php
Может еще кому будет интересно.

Добавлено спустя 3 минуты 54 секунды:
А вот в этой статье
http://www.gaw.ru/html.cgi/txt/doc/adc/adc_8_3.htm
рассказывается, что болтанка АЦП - вещь реально существующая, не зависящая от типа ацп.

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

Dmitry__ » 03 май 2013, 17:26

ага, и это все было в пдф. на твой ацп. файл 21950e.pdf, стр 9, FIGURE 2-17: болтанка 30 значений. И не белый шум как ты писал, а Гауссовский.
А пацаны не в кугсе, что 16-ти битный ацп от аналогдевиц ad7709 при шумах 0.6 мкв. на диапазоне 20 мв. дает только 13 значащих бит на частоте выборки 50 гц, против твоего убитого ацп с шумами 6 мкв. на частоте 13 герц, это более чем в 10 раз хуже. :)
Вот так-то, выкини ацп, делай как говорят и понты отключай...

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

Radist » 03 май 2013, 18:32

Насчет типа шума был неправ, признаю. AD7709 мне не нравится, я ухожу от ее аналога AD7705, на котором большая обвеска, малая скорость и малая точность. Шум нормальный, результат у меня соответствует даташиту (примерно) - это хорошо. Так что фильтрануть выход ацп фильтром - самое то. И главное - это реально помогает. Я уже получил неплохой результат, а тему открыл в надежде получить результат еще лучше. Пока это не получилось. Кроме того, фильтровать будет МК, поэтому сложность фильтра должна быть адекватной, чтоб не вылететь из режима реального времени.

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

Dmitry__ » 03 май 2013, 18:50

А вот и след. этап твоих глючных рассуждений. Фильтровать можно сигнал только имея выборки > 4-х раз нужной частоты, иначе будет наложение спектра. Т.е. если тебе надо давить 50 герц ( а тебе надо это делать) , то тебе нужны выборки < 5 мс. Ты их уже не получишь. В однобитных ацп (с чем ты имеешь дело) все построено на фильтрации однобитного потока. Т.е любой дельта-сигма преобразователь имеет сколько угодно нужную разрядность за сколь угодно большой промежуток времени, сравни частоту выборок 16-ти битного AD7709 и своего и поймешь, что AD7709 без вопросов будет тебе делать твои рекламные 20 бит с убитой частотой.

Radist писал(а):AD7709 мне не нравится, я ухожу от ее аналога AD7705

У AD7709 шум на диапазоне значений термопар = 0.6 мкв. Твой ацп на этом диапазоне имеет 6 мкв. AD7709 обещает только 13 бит на таком диапазоне, угадай сколько будет бит на твоем ацп :roll:
И да, фильтры первого порядка ( про которые мужыки не в курсе) тебе ничего не дадут. Это след. этап... :)

Добавлено спустя 1 минуту 17 секунд:
Отключаю свою быдлость, теперь я чоткий пацан.

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

Radist » 03 май 2013, 19:34

Я беру отсчеты в случайные моменты времени, режим однократного преобразования. Раз моменты случайные, то шум, даже если это 50 Гц - случаен, именно по этому я его называл белым. По теории вероятности я не могу всегда попадать в верхнюю полуволну, поэтому считал, что среднее значение (среднеарифметическое) и есть истина.Вот у меня сигнал с шумом, с которым я уже ничего не могу поделать. Там есть малые отклонения, есть и большие, если все усреднить - будет отлично. Про наложение спектров - понятно, но жить то надо с тем что есть. Усреднение за много отсчетов - помогает, и много кто его делает. Если его не делать - показания скачут. Но делать простое усреднение мне нельзя, есть ограничение на время отклика. На старом АЦП с PGA, буфером, фильтром именно на 50 Гц у меня тоже была болтанка, приходилось усреднять 25 отсчетов. Так что пробовать на девятке после пятерки мне не хочется. Есть сигнал со случайными выбросами, но нет информации о них в отдельности. Известно лишь, что выбросы в среднем равны нулю. Надо быстро исключить хоть часть выброса из сигнала. Вот у меня код сигнала около 4000 - это 10 мВ. При этом диапазон 6сигма равен 80, 3сигма значит 40. Уже 1/1000 - уже все хорошо (но это все на отладочной плате и линейном питании). После фильтрации 3сигма равны 12 - вообще замечательно. Как я писал ранее, на входе я поставлю операционник, чтоб сигнал растянуть до 1В. Код будет около 400000, а шум ацп от опера не зависит. Так что MCP3553 - нормальный ацп, и он внутри себя содержит много из обвеса старого ацп, мал размером и ценой, простота кода изумительная (на старом столько регистров и настроек + режимы калибровки). Кроме того, конкретно в AD7705 была обнаружена нелинейность коэффициентов усиления PGA - пришлось калибровать на каждом Кус.
Казалось бы - зачем еще что-то фильтровать, если код 400000, а шум 40? Может быть это перфекционизм, но если можно, то почему нет? При всем при этом я понимаю как работает сигма-дельта ацп, про спектры, Котельникова и прочих. Но вот я больше с практической стороны подхожу к этому вопросу.

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

Dmitry__ » 03 май 2013, 21:18

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

Давай я это сделаю за тебя? :)
По твоему файлу:
Код: Выделить всёРазвернуть
157
143
124
156
130
170
132
118
140
146
88
139
158
133
140
144
121
139
118
112

1.png
1.png (2.68 КиБ) Просмотров: 3168

Код: Выделить всёРазвернуть
985
978
965
950
956
964
942
980
966
971
957
935
931
929
964
993
944
963
974
951

2.png
2.png (2.86 КиБ) Просмотров: 3175

Код: Выделить всёРазвернуть
4304
4286
4317
4280
4352
4330
4317
4326
4312
4295
4290
4302
4283
4308
4306
4284
4287
4301
4270
4267

3.png
3.png (2.97 КиБ) Просмотров: 3137


Остальное лень комментировать. Все равно ты не поверишь...

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

Radist » 03 май 2013, 21:33

Я же уже признал свою ошибку. Шум распределен по нормальному закону. Это видно на гистограммах. Что именно я не понял? И чему не поверю? Если я что-то видел сам - я в это верю. Для поиска истинного среднего можно строить гистограммы, можно еще как-то, но это требует времени. Сейчас я приведу то, что я делаю с отчетами (а именно использование рекурсивного фильтра). Несколько минут на оформление...

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

Dmitry__ » 03 май 2013, 21:39

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

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

Radist » 03 май 2013, 21:47

Левая выборка - не фильтрованная, каждая выборка справа пропущена через фнч первого порядка (четыре раза), внизу размах шума.

Добавлено спустя 3 минуты 30 секунд:
Dmitry__ писал(а):Это не белый шум.

Я уже дважды признал, что шум с нормальным распределением. У белого шума код мог бы с равной вероятностью принимать значения от нуля до максимума. Ведь в данном случае мы говорим об отсчетах. Про белый шум можно говорить на входе ацп, а не на выходе. Поэтому я третий раз признаю свою ошибку и предлагаю к этому больше не возвращаться.
Вложения
adc.txt
(772 байт) Скачиваний: 340

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

Dmitry__ » 03 май 2013, 22:10

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

Radist писал(а): Про белый шум можно говорить на входе ацп, а не на выходе.

Это как?
Если ты на аудио ацп подал белый шум ограниченный 20гц - 20кгц, ацп выдаст не белый шум?

Добавлено спустя 12 минут 26 секунд:
Во, подай реальный сигнал от термопары на свой ацп. А потом фильтруй...

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

Radist » 03 май 2013, 22:21

У меня опыт проходил так: на вход подключен калибратор, выдающий милливольты. С реальной термопары подавать еще рано - у меня нет пока канала компенсации холодного спая, и термостата нет - с термопары сами милливольты будут скакать. Моя демоплата имеет связь с компом через виртуальный компорт. Инфа попадает в комп по запросу. Нажал на кнопку мышкой, получил код, переписал его на бумажку, снова нажал на кнопку. Вот что я имел в виду, говоря о случайных отсчетах.

Добавлено спустя 4 минуты 28 секунд:
Radist писал(а): Про белый шум можно говорить на входе ацп, а не на выходе.

Dmitry__ писал(а):Это как?
Если ты на аудио ацп подал белый шум ограниченный 20гц - 20кгц, ацп выдаст не белый шум?


Если на входе белый шум - на выходе белый шум. Если на входе сигнал + белый шум, то на выходе шум нормальный, с матожиданием в сигнале.

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

Dmitry__ » 03 май 2013, 22:37

Так ты всю дорогу пытаешься фильтровать шум ацп? Он не несет смысловой нагрузки. Если твоя термопара будет давать фон 50 герц в 50 мкв. то ты уже не сможешь ничего отфильтровать тем ацп. Т.к. , как тебе уже заметили, в этом ацп нет режекторного фильтра. Ацп дает очень мало отсчетов на герц, ты не сможешь применить фильтрацию.

Добавлено спустя 8 минут 26 секунд:
Radist писал(а):Если на входе сигнал + белый шум, то на выходе шум нормальный, с матожиданием в сигнале.

Чем это белый шум отличается от сигнала? Сигнал 1 кгц синусоида 1 вольт и сигнал "белый шум ограниченный диапазоном" не пройдут через ацп? Сигнал "белый шум" превратится в "то на выходе шум нормальный, с матожиданием в сигнале" :shock:

Зачем тебе сейчас компенсация холодного спая? Подай термопару на свой ацп и застрелись от сигнала без режекции 50-ти герц.

Добавлено спустя 2 минуты 29 секунд:
Основная проблема построения измерительной схемы на базе термопары связана с ее низким выходным напряжением (около 50 мкВ на градус), поскольку синфазные помехи промышленной частоты 50 Гц и радиопомехи, наведенные на элементах измерительной цепи, намного превышают это значение.

http://www.rlda.ru/Termocouples.htm

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

Radist » 03 май 2013, 22:51

Возможно так оно и будет. Тогда просто перейду на 3550-50, при этом время измерения будет 80 мс. то есть фильтровать шум ацп мне уже не придется. Но это все справедливо для длинных линий термопар. Если ацп находится в измерительной головке датчика, а термопара в арматуре этого датчика, которая заземлена, то 50 Гц не наведется.


Rambler\'s Top100 Mail.ru counter