roboforum.ru

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


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

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

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

Сообщение Dmitry__ » 03 май 2013, 00:18

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

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

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


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

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

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

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

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

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
рассказывается, что болтанка АЦП - вещь реально существующая, не зависящая от типа ацп.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

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

Сообщение Dmitry__ » 03 май 2013, 17:26

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

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

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

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

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 секунд:
Отключаю свою быдлость, теперь я чоткий пацан.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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? Может быть это перфекционизм, но если можно, то почему нет? При всем при этом я понимаю как работает сигма-дельта ацп, про спектры, Котельникова и прочих. Но вот я больше с практической стороны подхожу к этому вопросу.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

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 КиБ) Просмотров: 3172

Код: Выделить всёРазвернуть
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 КиБ) Просмотров: 3179

Код: Выделить всёРазвернуть
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 КиБ) Просмотров: 3141


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

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

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

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

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

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

Это не белый шум.
Или этот файл делался до этого? :
Radist писал(а):Я беру отсчеты в случайные моменты времени, режим однократного преобразования. Раз моменты случайные, то шум, даже если это 50 Гц - случаен, именно по этому я его называл белым.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

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

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

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

Я уже дважды признал, что шум с нормальным распределением. У белого шума код мог бы с равной вероятностью принимать значения от нуля до максимума. Ведь в данном случае мы говорим об отсчетах. Про белый шум можно говорить на входе ацп, а не на выходе. Поэтому я третий раз признаю свою ошибку и предлагаю к этому больше не возвращаться.
Вложения
adc.txt
(772 байт) Скачиваний: 341
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

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

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

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

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

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

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

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

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

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

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

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


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

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
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

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

Возможно так оно и будет. Тогда просто перейду на 3550-50, при этом время измерения будет 80 мс. то есть фильтровать шум ацп мне уже не придется. Но это все справедливо для длинных линий термопар. Если ацп находится в измерительной головке датчика, а термопара в арматуре этого датчика, которая заземлена, то 50 Гц не наведется.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Пред.След.

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

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

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