реклама на сайте
подробности

 
 
> Точность измерений на STM32
DrZLO
сообщение Oct 10 2011, 12:20
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946



Народ поделитесь мнениями!

Работаю с процессором STM32F103C8C4, основная задача устройство измерение действующего значения сетевого напряжения. Перед входом АЦП стоит аналоговая схема, которая поднимает «синусоидальный» сигнал сети, снятый с делителя, ровно на середину рабочего диапазона АЦП (беру с ИОН REF196). В итоге на вход АЦП поступает сигнал с постоянной составляющей 1,65 В и размахом синусоиды от 0,15 В до 3,15 В, частой 50 Гц. Для питания АЦП использую внешний ИОН, все резистивные делители и ОУ во входном каскаде относятся к классу прецизионных.

В массив размерностью 1000 значений, с периодом 100 мкс записываются данные из регистра ADC1->DR (ADC_sample[index_adc]= (ADC1->DR)). После заполнения массива на него накладывается оконная функция и вычисляется действующие значение методом прямой дискретизации. Измеренное значение RMS калибрую для 0 В и максимального измеряемого значения.

Для оценки точности использую AC Power Meter GPM-8212 (класс точность 0,1%. Для поверки беру 10 точек, в результате измерения переменного сигнала наблюдаю нелинейность, максимальное отклонение в середине диапазона составляет 3,5%. А хотелось бы убраться в 0,5%, т.е в 5-раз хуже чем AC Meter.

Провожу аналогичный эксперимент только по измерению постоянного напряжения с прецизионного источника. Калибруясь заново провожу поверку по 10 точкам, в результате класс точности на всём диапазоне не превышает 0,25%.

Теперь собственно сам вопрос.
С аналоговой электроникой по серьёзному работаю недавно. Хотелось бы получить совет, каким образом можно повысить точность при измерение переменного сигнала? В чём может быть загвоздка в моём случаи? И как можно поробовать её решить?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 26)
scifi
сообщение Oct 10 2011, 12:35
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(DrZLO @ Oct 10 2011, 16:20) *
С аналоговой электроникой по серьёзному работаю недавно. Хотелось бы получить совет, каким образом можно повысить точность при измерение переменного сигнала? В чём может быть загвоздка в моём случаи?

Для начала надо проверить, что вход АЦП подключен к достаточно низкоомному источнику сигнала, чтобы входная ёмкость успевала заряжаться за время выборки. Кстати, время выборки АЦП регулируется.
Go to the top of the page
 
+Quote Post
Altemir
сообщение Oct 10 2011, 12:52
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686



И второе - а частоты дискретизации достаточно для получения обозначенной точности?
Go to the top of the page
 
+Quote Post
DrZLO
сообщение Oct 10 2011, 12:56
Сообщение #4





Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946



Цитата(Altemir @ Oct 10 2011, 16:52) *
И второе - а частоты дискретизации достаточно для получения обозначенной точности?


В программе АЦП настроена с максимальным временем преобразования ( ADC1->SMPR2 = 0x001C0000; // set sample time channel-6 (111: 239.5 cycles)). Измеряемый входного сигнал с периодом 0,02 с оцифровывается с периодом дискретизации 0,000100 с (1 : 200). Значения массива накапливаются 5 периодов измеряемого сигнала.

Сообщение отредактировал DrZLO - Oct 10 2011, 12:57
Go to the top of the page
 
+Quote Post
stells
сообщение Oct 10 2011, 12:59
Сообщение #5


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(DrZLO @ Oct 10 2011, 16:20) *
ровно на середину

а ровно ли?
Go to the top of the page
 
+Quote Post
Altemir
сообщение Oct 10 2011, 13:03
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686



DrZLO
Тогда надо проверить импеданс источника сигнала для АЦП, его АЧХ, а также, как вариант, найти ошибку в коде при округлении/вычислении результата sm.gif Да, по опыту - после фильтра может требоваться умножение результата на коэффициент, но вот такой нелинейности не было, хоть и калибровался по двум - в начале (офсет) и в конце диапазона (масштабный коэффициент). Надо искать причину. Если будет совсем гореть, то крайний случай - корректирующую функцию вводить.
Go to the top of the page
 
+Quote Post
scifi
сообщение Oct 10 2011, 13:07
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(DrZLO @ Oct 10 2011, 16:56) *
В программе АЦП настроена с максимальным временем преобразования ( ADC1->SMPR2 = 0x001C0000; // set sample time channel-6 (111: 239.5 cycles)).

А про выходное сопротивление источника сигнала - ни слова.
Также можно неправильно настроить тактовую частоту АЦП. Ну и ещё в куче других мест можно ошибиться.
Go to the top of the page
 
+Quote Post
DrZLO
сообщение Oct 10 2011, 13:17
Сообщение #8





Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946



Цитата(scifi @ Oct 10 2011, 16:35) *
Для начала надо проверить, что вход АЦП подключен к достаточно низкоомному источнику сигнала, чтобы входная ёмкость успевала заряжаться за время выборки. Кстати, время выборки АЦП регулируется.


Вход АЦП подключён через RC-фильтр к выходу операционного усилителя, следовательно выходное сопротивление достаточно маленькое.

Цитата(stells @ Oct 10 2011, 16:59) *
а ровно ли?


точно на середину (1,65 В), заводится с внешнего ИОН через делитель, на прецезионных резисторах. Могу привести схему...
Go to the top of the page
 
+Quote Post
stells
сообщение Oct 10 2011, 13:20
Сообщение #9


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(DrZLO @ Oct 10 2011, 17:17) *
точно на середину (1,65 В), заводится с внешнего ИОН через делитель, на прецезионных резисторах. Могу привести схему...

так ИОНы разные у АЦП и аналоговой схемы? наверное надо к одному привязываться
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 10 2011, 14:15
Сообщение #10


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(DrZLO @ Oct 10 2011, 16:17) *
Могу привести схему...

Приведите.
Go to the top of the page
 
+Quote Post
DrZLO
сообщение Oct 11 2011, 06:40
Сообщение #11





Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946



Цитата(ViKo @ Oct 10 2011, 18:15) *
Приведите.

Прикрепленное изображение


Цитата(stells @ Oct 10 2011, 17:20) *
так ИОНы разные у АЦП и аналоговой схемы? наверное надо к одному привязываться


ИОН один и тот же используется для питания АЦП и поднятия сигнала (на схеме это VDDA)
Go to the top of the page
 
+Quote Post
scifi
сообщение Oct 11 2011, 06:45
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



При наличии высокочастотного шума в сети первый ОУ может упираться по скорости нарастания сигнала на выходе. На всякий случай нужно влепить ёмкость на входе.
Не показаны номиналы R10, C2. Интересно всё-таки.
Go to the top of the page
 
+Quote Post
DrZLO
сообщение Oct 11 2011, 06:45
Сообщение #13





Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946



Цитата(Altemir @ Oct 10 2011, 16:52) *
И второе - а частоты дискретизации достаточно для получения обозначенной точности?


А есть ли какая нибудь методика для расчёта точности оцифровки от частоты дискретизации, а то я пока иду эксперементальным путём fman.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Oct 11 2011, 06:55
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(DrZLO @ Oct 11 2011, 10:45) *
А есть ли какая нибудь методика для расчёта точности оцифровки от частоты дискретизации, а то я пока иду эксперементальным путём

Теоретически при наличии фильтра высоких частот перед АЦП достаточно 2-х точек (или чуть больше) на период (для максимальной частоты в сигнале). Если я правильно помню.
Go to the top of the page
 
+Quote Post
stells
сообщение Oct 11 2011, 07:09
Сообщение #15


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



а развязка по постоянке входного сигнала есть?
Go to the top of the page
 
+Quote Post
DrZLO
сообщение Oct 11 2011, 07:15
Сообщение #16





Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946



Цитата(stells @ Oct 11 2011, 11:09) *
а развязка по постоянке входного сигнала есть?


входной сигнал сетевого напряжения развязан,
ОУ, ИОН, STM32 питаются от гальванически развязаного БП
Go to the top of the page
 
+Quote Post
stells
сообщение Oct 11 2011, 07:26
Сообщение #17


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(DrZLO @ Oct 11 2011, 11:15) *
входной сигнал сетевого напряжения развязан

т.е. перед разъемом Х1 трансформатор? он просто развязывающий или еще и силовой?
Go to the top of the page
 
+Quote Post
DrZLO
сообщение Oct 11 2011, 07:46
Сообщение #18





Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946



Цитата(stells @ Oct 11 2011, 11:26) *
т.е. перед разъемом Х1 трансформатор? он просто развязывающий или еще и силовой?


да, перед x1 цепь такая: сеть (220В) - латр - повышающий транс. В итоге на x1 подаётся напряжение 0-400 В
Go to the top of the page
 
+Quote Post
stells
сообщение Oct 11 2011, 07:50
Сообщение #19


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



я все к чему: нет ли у Вас перекоса в измерительной части
Go to the top of the page
 
+Quote Post
DrZLO
сообщение Oct 11 2011, 07:53
Сообщение #20





Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946



Цитата(stells @ Oct 11 2011, 11:50) *
я все к чему: нет ли у Вас перекоса в измерительной части

а в чём может быть сей перекос?
Go to the top of the page
 
+Quote Post
stells
сообщение Oct 11 2011, 07:55
Сообщение #21


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(DrZLO @ Oct 11 2011, 11:53) *
а в чём может быть сей перекос?

ну, например, ЛАТР или повышающий транс нагружены еще чем-то с однополупериодным выпрямителем
Go to the top of the page
 
+Quote Post
dac
сообщение Oct 11 2011, 07:58
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482



а схему то моделировали? а то есть определенные сомнения...
попробуйте убрать конденсатор 1500пФ в ОС ОУ и RC фильтр перед МК
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 11 2011, 08:05
Сообщение #23


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Так осциллографом посмотреть выходы первого и второго ОУ.
А заодно и VDDA.
Go to the top of the page
 
+Quote Post
Turnaev Sergey
сообщение Oct 11 2011, 10:39
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 562
Регистрация: 25-07-06
Из: Зеленоград, Новосибирск
Пользователь №: 19 088



DrZLO

У вас АЦП проца используется примерно на 25% от своей битности, пересчитайте нормально входной делитель под ваши 1,41*220В+10%, чтобы сигнал на входе АЦП был во всём диапазоне, соответствующем опоре.

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

Проверяйте так-же метод измерения, частота сети не ровно 50Гц, поэтому если вы не мерите частоту, то может гнать и метод вычисления действующего значения.


--------------------
"Отсутствие вашей судимости - это не ваша заслуга, а наша недоработка."
Ф.Дзержинский.
Go to the top of the page
 
+Quote Post
777777
сообщение Oct 11 2011, 15:04
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(scifi @ Oct 11 2011, 10:55) *
Теоретически при наличии фильтра высоких частот перед АЦП достаточно 2-х точек (или чуть больше) на период (для максимальной частоты в сигнале). Если я правильно помню.

Это назывется "слышал звон, да не знаю где он". А если одну точку измерить в момент t=0, а второй в 2*PI?

Нужно не меньше четырех значений, что с ними делать дальше - написано здесь. При идеальном синусе этого достаточно, при неидеальном нужно больше. 20 отсчетов на период - вполне достаточная точность, но я бы выбрал количество кратное четырем. А вообще, я не уверен, что с помощью встроенного АЦП можно добиться хорошей точности. 12 бит - это лишь разрешающая способность, а не точность. У этого корпуса хоть отдельный вход для опроного напряжения?
Go to the top of the page
 
+Quote Post
DrZLO
сообщение Oct 19 2011, 11:36
Сообщение #26





Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946



В общем проблема решилась в тот же день, просто тока щас вспомнил что я эту тему запостилsm.gif

Фича в том, что АЦП однополярное и в реале работает не от 0 В ~0 LSB, а от 70 - 80 мВ ~ 60 LSB. Ошибка была в математике, а именно в величине постоянной составляющей приподнятого сигнала. Сейчас оценил точность, с калибровкой мой девайс укладывается в погрешность 0,3.
Go to the top of the page
 
+Quote Post
Altemir
сообщение Oct 19 2011, 13:04
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686



Цитата(DrZLO @ Oct 19 2011, 15:36) *
и в реале работает не от 0 В ~0 LSB, а от 70 - 80 мВ ~ 60 LSB.


и мой второй ответ в начале темы:
Цитата
и калибровался по двум - в начале (офсет) и в конце диапазона (масштабный коэффициент)
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01681 секунд с 7
ELECTRONIX ©2004-2016