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

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

1 119 174

Link: эта нелинейность АЦП постоянна при разном выходном сопротивлении источника сигнала? по идее она будет плавать в зависимости от сопротивления источника сигнала
Ну та нелинейность о которой я говорил связана с тем что пороги дискретизации не распределены равномерно как у идеального АЦП а сдвинуты, эти сдвиги называются DNL в даташитах и являются (относительно) постоянными для конкретного кристалла. Можно получить искажения при измерении сигнала за счет нелинейности УВХ, но это все будет значительно меньше DNL.

 

DNL - Differential Non-Linearity
из вашего файла я правильно понял что дифференциальная нелинейность порой достигает семнадцати квантов?

 

Link: из вашего файла я правильно понял что дифференциальная нелинейность порой достигает семнадцати квантов?
Да, порядок такой, примерно +-15 шагов если одну ступеньку поделить на 100 шагов. Но это одна ступенька измерена в разных местах шкалы АЦП, понятное дело что эти ошибки суммируются и могут быть например с одним знаком и сложатся.

 

Neekeetos: если одну ступеньку поделить на 100 шагов. Но это одна ступенька измерена в разных местах шкалы АЦП, понятное дело что эти ошибки суммируются и могут быть например с одним знаком и сложатся.

Теперь понял в чём подвох...
Спасибо за разъяснение.

 

Пока суть да дело изучаю природу этого DNL, текущий метод измерения позволяет его увидеть воочию, теперь хочется придумать процедуру калибровки, чтобы убрать все нелинейности. Нарисовал тут графики
http://neekeetos.embedders.org/dnl1.PNG , http://neekeetos.embedders.org/dnl2.PNG, первый это график вцелом, второй это кусок где видно что переход между соседними шагами ацп произошел со сдвигом, я немного почеркал красным чтобы было понятно что с чем связано. Желтый график везде это данные с ацп, синий это точный замер с помощью дизера относительно измерения ацп.

 

Neekeetos: Ну вот двигаюсь по вашим следам
Взял stm32l-discovery, прицепил к ней экран от Нокии 1616 аж за 90 рублей и ваш измерительный мостик навесом на разъемы.
За неделю борьбы с чудо-библиотеками (от слова чудовищные) имени СТ-майкро накарябал софтину-полуфабрикат.
Сегодня все это безобразие заработало. В детали лезть было уже некогда, но в значениях векторов вроде как дрожит только пятый знак.
Для расчетов собираю параллельно три массива по 1024 точки, каждая из которых получена усреднением восьми смежных измерений.
Вообще, у этих кортексов сочетанием АЦП, DMA и каскадных таймеров довольно удобно пользоваться.
Смотреть на получившиеся параметры и допиливать до кондиции, пригодной для разведения платки, буду уже, видимо после праздников.

 

evilimp Т.к. тема имеет познавательно обучательный характер, не коммерческий проект, не могли бы Вы выложить свою программу на посмотреть и покомментировать. С комментариями где что какая буква. Понимаю что проще написал подрихтовал заработало и ничего не надо, но вот общаться то же нужно, а для продолжения ету программу бы посмотреть и поучиться чему нибудь. пока все в теме. Оно никогда не вредно, да и в общем форум поднять, а то пора уже общему народу с avr-ов то слезать.

 

viczai: Да выложу, конечно, когда будет достругано до приемлемого результата. Тут, собственно, вся проблема в методике измерений - реализация идеи Neekeetos-а с радикальной передискретизацией, а само программирование штука тривиальная, не бином Ньютона )))

 

Здравствуйте. Хочу поведать о своих экспериментах с с stm32f100c4.
По моим прикидкам им можно генерировать синус в 11 точек на период для частоты примерно 50кГц. Сигнал 50Кгц можно оцифровывать через такт ЦАП, то есть 11 точек на 2 периода. Все это делается с использованием DMA. В обработчике прерывания производится умножение оцифрованной величины на sin и cos и сбор сумм произведений сигнала на sin и cos. На одном периоде сети (20ms) обработчик прерывания отдает посчитанные суммы произведений в основной цикл программы. Все это работает на 24 мегагерцах тактовой. После обработчика прерываний и dma по прикидкам останется мегагерца 2-3 что бы обсчитать полученные суммы.
В качестве аналоговой части я использовал усилитель DAC - фильтр на mcp602. Преобразователь тока в напряжение, инструментальный усилитель и усилитель на 12 на нем же. Инструментальный усилитель имеет 3 ступени регулировки усиления: 1,10,100. После него стоит усилитель на 4 или на 12. Преобразователь тока в напряжение - как у GO: 100, 1k, 10k,100k. Сигнал подается на измеряемый элемент через 100 ом. Схема похожа на rlc2 но у меня нет развязки конденсаторами.
Результаты: Вроде бы сигнал 50 кгц удалось сгенерить и измерить. То есть генерируется 11 точек на периоде, измеряется 11 точек на 2 периодах. Добится стабильности сумм не удалось. То ли происходит пропуск измерений или генерации из-за нехватки чатототы контроллера, то ли шумы огромны. На максимальном усилении при измерении тока шумы составляют примерно 1000 единиц АЦП из 4000. Что бы посмотреть пропуски нужен осциллограф.
Я думаю, что моя ошибка была так же в использовнии связи по постоянному току. У операционников шум на низкой частоте максимален. И весь он передается на вход АЦП.
Я видел термин дизер в обсуждении, но не понял, что это.
Как я понимаю идея Neekeetos в измерении 3-4 точек на периоде меандра. Измерения в этих точках суммируются в счетчики. По окончании измерений нескольких тысяч или десятков тысяч периодов производится умножение сумм на SIN и COS для получения мнимой и действительной части. После этого производится расчет измеряемой величины. Аналоговая часть представляет собой практически только шунт. Я правильно понял идею?

 

http://www.md4u.ru/forum/viewtopic.php?f=22&t=5799
вот интересная статейка