|
Точность измерений на STM32 |
|
|
|
Oct 10 2011, 12:20
|
Группа: Участник
Сообщений: 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%.
Теперь собственно сам вопрос. С аналоговой электроникой по серьёзному работаю недавно. Хотелось бы получить совет, каким образом можно повысить точность при измерение переменного сигнала? В чём может быть загвоздка в моём случаи? И как можно поробовать её решить?
|
|
|
|
|
Oct 10 2011, 12:56
|
Группа: Участник
Сообщений: 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
|
|
|
|
|
Oct 10 2011, 13:03
|
Местный
  
Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686

|
DrZLOТогда надо проверить импеданс источника сигнала для АЦП, его АЧХ, а также, как вариант, найти ошибку в коде при округлении/вычислении результата  Да, по опыту - после фильтра может требоваться умножение результата на коэффициент, но вот такой нелинейности не было, хоть и калибровался по двум - в начале (офсет) и в конце диапазона (масштабный коэффициент). Надо искать причину. Если будет совсем гореть, то крайний случай - корректирующую функцию вводить.
|
|
|
|
|
Oct 10 2011, 13:17
|
Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946

|
Цитата(scifi @ Oct 10 2011, 16:35)  Для начала надо проверить, что вход АЦП подключен к достаточно низкоомному источнику сигнала, чтобы входная ёмкость успевала заряжаться за время выборки. Кстати, время выборки АЦП регулируется. Вход АЦП подключён через RC-фильтр к выходу операционного усилителя, следовательно выходное сопротивление достаточно маленькое. Цитата(stells @ Oct 10 2011, 16:59)  а ровно ли? точно на середину (1,65 В), заводится с внешнего ИОН через делитель, на прецезионных резисторах. Могу привести схему...
|
|
|
|
|
Oct 11 2011, 06:40
|
Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946

|
Цитата(ViKo @ Oct 10 2011, 18:15)  Приведите.
Цитата(stells @ Oct 10 2011, 17:20)  так ИОНы разные у АЦП и аналоговой схемы? наверное надо к одному привязываться ИОН один и тот же используется для питания АЦП и поднятия сигнала (на схеме это VDDA)
|
|
|
|
|
Oct 11 2011, 06:45
|
Группа: Участник
Сообщений: 11
Регистрация: 31-08-11
Пользователь №: 66 946

|
Цитата(Altemir @ Oct 10 2011, 16:52)  И второе - а частоты дискретизации достаточно для получения обозначенной точности? А есть ли какая нибудь методика для расчёта точности оцифровки от частоты дискретизации, а то я пока иду эксперементальным путём
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|