Свежие обсуждения
Измерения

Дизайн народного RLC-метра (RLC-3)

1 169 174

Обмерил 16битное ацп, встроенное в 32f373 и ддс ad9833. В общем и целом ацп отличное, шум согласно даташиту ~83дб , причем этот уровень шума сохраняется для всех коэффициентов усиления, соотв с каждым следующим КУ ( ряд коэффициентов там 0,5 - 1 - 2 - 4 - 8 - 16 -32 ) СШ падает на 6дб. Искажений не заметил, все что есть обусловлено кривизной сигнала с ддса, который, надо сказать, тоже довольно хорошо работает выдавая искажения лучше чем -60дб как и обещано.
Схема замера выглядит так : http://neekeetos.embedders.org/373w9833.jpg , такты с опорного генератора МК 12МГц подаются на ддс, выход ддс идет на + вход канала ацп, минусовой вход подключен на резистивный делитель, он дает примерно постоянную составляющую на выходе ддс - 0,3В. Синусоида на выходе ддс имеет размах 0,6В. Частота оцифровки АЦП 50К, на всех графиках горизонтальная шкала всегда +-25кГц ( а цифры на графиках местами неверные). Вертикальная шкала в децибелах относительно шага ацп, 0 соотв 1 шагу квантования ацп. С ацп собиралось 10000 точек( время замера 0,2с ) и по ним строилось фурье, за счет этого сш лучше на ~37дб, для оценки реального уровня шума ацп эту величину соотв нужно добавить.
Частота 1к с ддс для разных коэффициентов усиления :
http://neekeetos.embedders.org/1k_x1.png
http://neekeetos.embedders.org/1k_x2.png
http://neekeetos.embedders.org/1k_x4.png , тут сигнал почти полная шкала, из за этого уровень шума несколько выше чем должен быть.
Частота 10к Ку 2
http://neekeetos.embedders.org/10k_x2.png
Частота 20к
http://neekeetos.embedders.org/20k_x1.png
http://neekeetos.embedders.org/20k_x2.png
http://neekeetos.embedders.org/20k_x4.png
вот что происходит если выход ддс мерить относительно аналоговой земли а не земли на плате ддс, сразу лезут помехи:
http://neekeetos.embedders.org/20k_x1_groundref.png
Постоянка, вход замкнут, мерил для оценки базового уровня шума:
http://neekeetos.embedders.org/dc_x05.png это ку 1/2 , полная шкала +-3В
http://neekeetos.embedders.org/dc_x1.png для ку 1 полная шкала уже +-1,5В
http://neekeetos.embedders.org/dc_x2.png
http://neekeetos.embedders.org/dc_x4.png
http://neekeetos.embedders.org/dc_x8.png
http://neekeetos.embedders.org/dc_x16.png
http://neekeetos.embedders.org/dc_x32.png
http://neekeetos.embedders.org/dc_x64.png в мануале судя по всему пропущен , но работает

Аналогичные картинки получаются и в случае если оба входа подключены на выход ддс, тоесть присутствует синфазный сигнал . Я пробовал для 1к и 20к, неподавленных сигналов не обнаружил, они скрываются за шумами. Подавление синфазной составляющей должно быть лучше чем 100дб, что отлично.

Попробовал также подавать на вход ацп частоты в диапазоне 25кГц - 1,5МГц, кроме незначительного увеличения уровня шума во всем диапазоне больше ничего не обнаружил, никаких левых частот навскидку не обнаружилось. Ацп работает на частоте 6МГц так что все что ниже 3МГц и не должно проникать в рабочую полосу а должно перемалываться сигмадельтой в шум квантования, это и происходит

В общем и целом для 10000 точек получается вполне по теории получить лишних 7 бит, что улучшает СШ в ~100 раз. Для сигнала с ддс, который в 10 раз меньше полной шкалы получаем СШ в районе 100дб, это примерно соответствует измерению в 6 десятичных разрядов без шума (а если посчитать 100дб + 20дб(полная шкала в 10 раз больше) - 37дб(улучшение за счет фильтрации ) = 83дб это величина СШ из даташита МК ). Это в принципе позволяет при желании убрать один-два каскада аналогового усиления в рлц метре. Кроме того такой запас по СШ позволяет с большой точностью откалибровать коэффициенты усиления PGA на маленьком сигнале.

На фото вторая платка ддс с компаратором, цифровой выход с него позволит управлять синхронным детектором, получившийся джиттер в такой схеме составляет менее 5нс на частотах выше 1к, тогда как цифровой выход с самого ддс дает разброс порядка 84нс за счет дискретности в один такт. Собственно следующий шаг это померить как будет СД работать.
Есть еще идея попробовать подать на вход опорного напряжения ацп синус с ддс с постоянной составляющей. Это по идее позволяет избавиться от СД целиком и полностью. Функция умножения правда будет Vin/Vref, тобишь входной сигнал будет не умножаться а делиться на синус, что не есть хорошо.

 

Вы, если мне зрение не изменяет, все ноги 373-му развели. Думаете, что могут понадобится, или просто нет конечной целевой схемы?

 

Михалыч А: Думаете, что могут понадобится, или просто нет конечной целевой схемы?

Это макетка. Конечной целевой схемы и правда нету, проверяю варианты, поэтому макетка удобнее чем перепаивать мк с платы на плату.

 

Выпаивать 373-й будете? И чем?

 

Михалыч А: Выпаивать 373-й будете? И чем?

Нет, выпаивать его я не планировал. Обычно с макетки я отпаиваю процессоры только если горят, с помощью фена.

 

Спасибо , что поделились !

форматированные картинки, pdf 2 MB :
https://drive.google.com/file/d/0B6_wyI8BW9aLQW9PVXpjaHZNWFU/edit?usp=sharing

шум на 10кГц х2 значительно больше того-же на 1 и 20 кГц. Какая причина ? Второй вход оборвался ?

A сколько времени занимает Фурье на 1К и 10К точек ?

 

pixar: шум на 10кГц х2 значительно больше того - же на 1 и 20 к. Какая причина ?

Может с резистором подстроечным что-то. Есть также вариант, что это внеполосные помехи так себя проявляют. Надо перемерить еще разок.

pixar: A сколько времени занимает Фурье на 1К и 10К ?

Условия везде одинаковые, собирается 10 000 точек на частоте оцифровки 50кГц, по ним строится график. По времени это занимает 0,2с Забыл упомянуть - в фурье используется окно HFT95.

 

Такой вопрос. Если мы делаем FFT (STM32F100) и частота выборок строго кратна частоте синуса на входе то не нулевым будет один единственный бин. То есть по большому счету большинство остсчетов умножается на ноль. А если мы сделаем програмный синхронный детектор, т.е. сделаем выборки на 0, 90, 180 и 270 градусов для I и Q умножая на +/- 1, не получим ли мы тот же результат при гораздо меньших вычислениях и частоте дискретизации? Естественно в предположении что синус таки синус. И если так, то можно сделать больше oversampling при тех же затратах?
Или честный FFT дает дополнительную точность даже если нет гармоник?

 

Neekeetos: собирается 10 000 точек на частоте оцифровки 50кГц, по ним строится график

т.е. процессором считать ещё не пробовали ?

 

alexf58: частота выборок строго кратна частоте синуса на входе то не нулевым будет один единственный бин

Я именно FFT и не делал, делал DFT ака ДПФ для одной единственной гармоники фурье - частоты которую мы измеряем. Сложность вычислений значительно меньше чем у БПФ, два умножения на один замер ацп( всего 20 000 * 2 умножений на одно измерение) против log(N)*N ~ 86000 комплексных умножений для БПФ. Думаю БПФ станет выгодно делать если потребуется анализировать одновременно 4 и более частот.

alexf58: А если мы сделаем програмный синхронный детектор, т.е. сделаем выборки на 0, 90, 180 и 270 градусов для I и Q умножая на +/- 1, не получим ли мы тот же результат при гораздо меньших вычислениях и частоте дискретизации?

Так можно сделать но во1 замеров будет значительно меньше - всего 4 на период, во2 при 4 точках на период будут сильно влиять гармоники тестового сигнала, причем как искажения самого тестового сигнала так и шум присутствующий на этих частотах. Лучше ДПФ, он дает выигрыш в точности измерений и на результат не влияют искажения сигнала.

pixar: т.е. процессором считать ещё не пробовали ?

Попробовал посчитать с использованием матсопроцесора разное, считает на флоатах очень быстро, умножения за 1 такт . Именно БПФ еще не пробовал.