Модераторы: Mazzi

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Измерение параметров электрической сети, DSP, цифровая обработка сигналов 
V
    Опции темы
Курсант
Дата 16.10.2015, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Доброго времени суток!

Появилась идея произвести измерение параметров электрической сети с помощью многоканального АЦП микроконтроллера. До этого для этих целей использовались преобразователи напряжение - частота, выход которых заводился на вход таймера, который считал импульсы. Также с помощью компаратора сигнал сравнивался с нулём, и таким образом получался меандр, т.е. можно было понять, какие фазы у напряжений и токов. Теперь появилась мысль вместо преобразователей напряжение - частота использовать АЦП. Но алгоритм обработки получается гораздо сложнее - нужно будет получить всё сэмплы (мгновенные значения напряжений и токов) и некоторым образом обработать их.

В связи с этим прошу помощи у более опытных специалистов. Пните пожалуйста в правильном направлении - есть ли готовые эффективные алгоритмы, позволяющие определить точки перехода через нуль синусоиды (при этом синусоида - понятие приближенное, т.к. реальный сигнал будет с искажениями. С вычислением действующего значения напряжения всё более или менее понятно - нужно проинтегрировать сигнал, т.е. действующее значение будет пропорционально сумме семплов за период. Но как отловить сам период? У меня есть некоторые свои соображения, но велосипед не хотелось бы изобретать...
PM ICQ Skype   Вверх
Guest45
Дата 28.10.2015, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 24.5.2009

Репутация: нет
Всего: нет



А я вот вижу хардварных проблем больше, чем софтовых.

Во-первых, если Вы хотите использовать АЦП, то у Вас МК окажется гальванически связан с сетью. Это не очень хорошо, хотя проблема преодолима: понадобится развязать оптронами все остальные цифровые цепи МК и сделать ему отдельное питание.

Во-вторых, диапазон АЦП будет скорее всего от 0 до +5 вольт, а в сети 220, да еще при том переменное.
Это значит, что его придется не только делить, но и сместить на середину шкалы. Значит понадобится высокоточный опорный источник на +2.5 вольта.

Так что, если прикинуть весь получающийся огород в общей сумме, то может быть действительно проще и эффективнее использовать преобразователь напряжение-частота?

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

А касательно перехода через 0, так это просто: делаем интерполяцию по нескольким соседним точкам, и где линия пересекает 0 - это и есть наиболее близкое к действительности место.

Период можно отловить разными способами.
Наименее точный, но наиболее быстрый - измерить время между соседними нулями и умножить на 2, полагая, что полупериоды равны.

Более точно - измерить время через один нуль, то есть целого периода.

Наиболее точный способ - измерить количество переходов через 0 на калиброванном отрезке времени и посчитать обратную величину.
Это самый медленный способ. Точность его тем выше, чем длинее измерительный интервал.

При работе с АЦП время проще всего измерять количеством снятых АЦП точек, которые снимаются с постоянной частотой.


PM MAIL   Вверх
leocat3
Дата 30.9.2016, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2016

Репутация: нет
Всего: нет



Guest45,
> А касательно перехода через 0, так это просто: делаем интерполяцию по нескольким соседним точкам, и где линия пересекает 0 - это и есть наиболее близкое к действительности место.

Дело за малым: определить это самое, значение ноля в единицах АЦП...
PM MAIL   Вверх
Курсант
Дата 3.1.2017, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Цитата(Guest45 @ 28.10.2015,  21:28)
А я вот вижу хардварных проблем больше, чем софтовых.

Во-первых, если Вы хотите использовать АЦП, то у Вас МК окажется гальванически связан с сетью. Это не очень хорошо, хотя проблема преодолима: понадобится развязать оптронами все остальные цифровые цепи МК и сделать ему отдельное питание.

Во-вторых, диапазон АЦП будет скорее всего от 0 до +5 вольт, а в сети 220, да еще при том переменное.
Это значит, что его придется не только делить, но и сместить на середину шкалы. Значит понадобится высокоточный опорный источник на +2.5 вольта.

Так что, если прикинуть весь получающийся огород в общей сумме, то может быть действительно проще и эффективнее использовать преобразователь напряжение-частота?

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

А касательно перехода через 0, так это просто: делаем интерполяцию по нескольким соседним точкам, и где линия пересекает 0 - это и есть наиболее близкое к действительности место.

Период можно отловить разными способами.
Наименее точный, но наиболее быстрый - измерить время между соседними нулями и умножить на 2, полагая, что полупериоды равны.

Более точно - измерить время через один нуль, то есть целого периода.

Наиболее точный способ - измерить количество переходов через 0 на калиброванном отрезке времени и посчитать обратную величину.
Это самый медленный способ. Точность его тем выше, чем длинее измерительный интервал.

При работе с АЦП время проще всего измерять количеством снятых АЦП точек, которые снимаются с постоянной частотой.

Спасибо за ответ. На мой взгляд, опорный источник напряжения 2,5 В не нужен, а нужен делитель напряжения, к которому подключится один вывод трансформатора. Второй вывод на АЦП (с ограничивающими стабилитронами либо с диодами).
Переход через нуль не хорошо. Если наложить на сеть помехи, то всё полетит в тартарары. Переходов будет слишком много. Нужна ЦПОС. Для ЦПОС нужна частота, но её бы не хотелось привлекать к этому делу, т.к. цифровые вольтметры частоту не спрашивают, они её измеряют.
PM ICQ Skype   Вверх
Guest45
Дата 7.1.2017, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 24.5.2009

Репутация: нет
Всего: нет



Цитата(Курсант @ 3.1.2017,  17:24)
На мой взгляд, опорный источник напряжения 2,5 В не нужен, а нужен делитель напряжения, к которому подключится один вывод трансформатора. Второй вывод на АЦП (с ограничивающими стабилитронами либо с диодами). 
 Это было бы так, если бы АЦП могло обрабатывать двуполярный входной сигнал.
Но АЦП микроконтроллеров обычно этого не могут, - только однополярный. Отсюда появляется вопрос: как тогда собираетесь обрабатывать отрицательную полуволну?

Цитата(Курсант @ 3.1.2017,  17:24)
Переход через нуль не хорошо. Если наложить на сеть помехи, то всё полетит в тартарары. Переходов будет слишком много. 
 Я вообще-то написал "делаем интерполяцию по нескольким соседним точкам".  Это значит, провести не ломаную, а одну прямую, усредняющую разброс снятых в области нуля точек. Она будет пересекать ноль в одном месте.

Цитата(Курсант @ 3.1.2017,  17:24)
 Нужна ЦПОС. Для ЦПОС нужна частота, но её бы не хотелось привлекать к этому делу, т.к. цифровые вольтметры частоту не спрашивают, они её измеряют.

Помеха при любом методе будет вмешиваться в ваше измерение. Всё зависит от нужной точности и соотношения сигнал/помеха. В любом случае, чем больше точность хотим, тем больше времени должны затратить на измерение.
Вы не указали, какой именно допустимый уровень помех Вы желаете преодолеть.
В обычной промышленной сети помехи, сравнимые с величиной напряжения сети- это кратковременные выбросы, которые легко отфильтровываются медианным алгоритмом.  Систематический шум невелик в сравнении с напряжением сети, так что его можно подавить усреднением отсчетов.
Для этих "нормальных" условий простое накопление нулевых отсчетов может оказаться в конечном итоге выгоднее сложного алгоритма.
Если же у Вас особые условия, когда, например, рядом мощный радиопередатчик от которого ВЧ-наводка превышает амплитуду сети - то тут отсчет по нулям конечно не прокатит. (Но и обычный вольтметр в таких условиях не замеряет тоже.)


PM MAIL   Вверх
Guest45
Дата 7.1.2017, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 24.5.2009

Репутация: нет
Всего: нет



Универсальный вариант - взять все снятые точки, вместе с помехами, и разложить их в спектр Фурье, и в нем замерить первую гармонику. (Или любую другую, какую хотите).
Но это весьма громоздко.

PM MAIL   Вверх
Romikgy
Дата 8.1.2017, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



детектор перехода через ноль
user posted image
или более лучший вариант
user posted image


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Курсант
Дата 9.1.2017, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Цитата(Romikgy @ 8.1.2017,  15:19)
детектор перехода через ноль
user posted image
или более лучший вариант
user posted image

Почти хорошее решение. Но не универсальное. Сильно загаженная сеть может обойти и этот детектор, и частота будет завышена.
Вообще хорошо сработает операционный усилитель в режиме триггера Шмитта. Но тоже не универсально.
Лучше всего, ИМХО, использовать ЦПОС. Т.е. разложить семплы с помощью ДПФ. Но как это сделать, не зная частоту - я не знаю. Нужен ведь период для этого, или я что-то путаю?

Это сообщение отредактировал(а) Курсант - 9.1.2017, 18:50
PM ICQ Skype   Вверх
Romikgy
Дата 10.1.2017, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



частота в сети - 50 герц 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Курсант
Дата 10.1.2017, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Цитата(Romikgy @ 10.1.2017,  09:38)
частота в сети - 50 герц

Не, это нечестно smile Подгон под результат...
Появилась тут идея... Через среднеквадратичное отклонение находить. Т.е. взять период, допустим, 100 мс, взять семплы, разложить их в кучу рядов фурье с разными частотами, вычислить среднеквадратичное отклонение первой гармоники от семпла для каждого ряда, и там, где два меньших среднеквадратичных отклонения - разложить эти же семплы уже в диапазоне от первой до второй частоты. И так до минимального среднеквадратичного отклонения.
Хотя затрат на вычисления, думаю, будет катастрофически много.
Осталось только с DSP разобраться...

Это сообщение отредактировал(а) Курсант - 10.1.2017, 20:51
PM ICQ Skype   Вверх
Romikgy
Дата 10.1.2017, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



вы же сказали знаете разложение Фурье.... а теперь ответьте , какая точность при таком преобразовании? (для определения частоты в смысле) 
имхо вы пытаетесь по воробьям из пушки палить .... что надо найти ? частоту ? при каких шумах? исходные данные можно в студию...


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Курсант
Дата 10.1.2017, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Цитата(Romikgy @ 10.1.2017,  21:24)
вы же сказали знаете разложение Фурье.... а теперь ответьте , какая точность при таком преобразовании? (для определения частоты в смысле) 
имхо вы пытаетесь по воробьям из пушки палить .... что надо найти ? частоту ? при каких шумах? исходные данные можно в студию...

Фурье - это одно, а DSP - совсем другое. На обычном МК делать ДПФ - как-то сомнительно...
Из пушки по воробьям  - может быть и да. У меня выход инвертора, нагруженного на импульсную нагрузку. Там "мех" такой и такие искажения, что иногда синусоиду с трудом удаётся опознать на осциллографе.
Точность при таком определении частоты будет зависить от глубины поиска наименьшего искажения. Т.е. сначала находим 2 наиболее близкие к оригиналу 1-е гармоники (например, это частоты 30 и 30,5 Гц), потом разлагаем семплы ряды с частотами 1-й гармоники соответственно 30, 30.05, 30.1, 30.15, 30.2, ... , 30.5 Гц, ищем наиболее близкие к оригиналу 1-е гармоники, далее ищем между ними.
Вопрос в практической реализации. Я не пробовал делать ДПФ на МК, мне кажется, для этих целей обычно DSP применяют. Хочется сразу всё правильно сделать.
PM ICQ Skype   Вверх
Romikgy
Дата 11.1.2017, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



Цитата(Курсант @  10.1.2017,  21:21 Найти цитируемый пост)
Там "мех" такой и такие искажения, что иногда синусоиду с трудом удаётся опознать на осциллографе.

в таких помехах и Фурье не поможет! я бы попробовал корреляцию использовать ... но мне кажется , что надо со схемотехникой делать ... убирать такие помехи!

Цитата(Курсант @  10.1.2017,  21:21 Найти цитируемый пост)
Фурье - это одно, а DSP - совсем другое.

дсп это мк с быстрым вычислением мат операций 

Цитата(Курсант @  10.1.2017,  21:21 Найти цитируемый пост)
На обычном МК делать ДПФ - как-то сомнительно...

что для вас обычный мк? от TI уже давно есть мк со встроенным дсп .. стм32 некоторые ветки не хуже чем полноценный дсп....
Цитата(Курсант @  10.1.2017,  21:21 Найти цитируемый пост)
 Я не пробовал делать ДПФ на МК

так попробуйте)
Цитата(Курсант @  10.1.2017,  21:21 Найти цитируемый пост)
исходные данные можно в студию...

!!!
Цитата(Курсант @  10.1.2017,  21:21 Найти цитируемый пост)
какая точность при таком преобразовании? (для определения частоты в смысле) 

так и не ответил((


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Курсант
Дата 11.1.2017, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Цитата(Romikgy @ 11.1.2017,  09:58)
какая точность при таком преобразовании? (для определения частоты в смысле)
так и не ответил((

Извините, я не совсем понимаю, о чём Вы говорите. Если Вы предлагаете некую методику оценки точности измерения - предложите её. Если Вы можете подсказать некоторые ограничения, связанные с преобразованием Фурье - просветите, я пока в этом слабо разбираюсь. Я не могу дать оценку точности способа измерения гипотетического алгоритма, для которого ещё не проведены испытания. Щас пилю на Билдере генератор зашумленной синусоиды с последующим распознаванием. Как будут результаты - сообщу. На мой взгляд, никаких предпосылок для серьёзной ошибки нет, т.к. среднеквадратичное отклонение - достаточно хороший способ выбора наиболее близкой частоты, а метод деления пополам также позволяет искать решения с большой точностью.

Какого рода исходные данные от меня нужны? Типовая осциллограмма напряжения с помехами? Это же надо вставать, идти и снимать её - влом. Щас в Билдере сгенерю. Выложу приложением к сообщению.

Тема стала похожа на холивар smile

Это сообщение отредактировал(а) Курсант - 11.1.2017, 11:12

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  Безымянный.png 101,89 Kb
PM ICQ Skype   Вверх
Romikgy
Дата 11.1.2017, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



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

PS переходную функцию можно получить , нарисовав функцию и применив обратное преобразование Фурье
PPS а данные о которых я просил , допустим такие (пример)
частота оцифровки - 10 кГц
дискретность оцифровки - 12 бит
макс уровень вх. сигнала - 220 вольт
уровень помехи - 30 %
что то типа такого ..... 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разное (электроника) | Следующая тема »


 




[ Время генерации скрипта: 0.1540 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.