|
Модераторы: Mazzi |
|
Курсант |
|
|||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Доброго времени суток!
Появилась идея произвести измерение параметров электрической сети с помощью многоканального АЦП микроконтроллера. До этого для этих целей использовались преобразователи напряжение - частота, выход которых заводился на вход таймера, который считал импульсы. Также с помощью компаратора сигнал сравнивался с нулём, и таким образом получался меандр, т.е. можно было понять, какие фазы у напряжений и токов. Теперь появилась мысль вместо преобразователей напряжение - частота использовать АЦП. Но алгоритм обработки получается гораздо сложнее - нужно будет получить всё сэмплы (мгновенные значения напряжений и токов) и некоторым образом обработать их. В связи с этим прошу помощи у более опытных специалистов. Пните пожалуйста в правильном направлении - есть ли готовые эффективные алгоритмы, позволяющие определить точки перехода через нуль синусоиды (при этом синусоида - понятие приближенное, т.к. реальный сигнал будет с искажениями. С вычислением действующего значения напряжения всё более или менее понятно - нужно проинтегрировать сигнал, т.е. действующее значение будет пропорционально сумме семплов за период. Но как отловить сам период? У меня есть некоторые свои соображения, но велосипед не хотелось бы изобретать... |
|||
|
||||
Guest45 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 199 Регистрация: 24.5.2009 Репутация: нет Всего: нет |
А я вот вижу хардварных проблем больше, чем софтовых.
Во-первых, если Вы хотите использовать АЦП, то у Вас МК окажется гальванически связан с сетью. Это не очень хорошо, хотя проблема преодолима: понадобится развязать оптронами все остальные цифровые цепи МК и сделать ему отдельное питание. Во-вторых, диапазон АЦП будет скорее всего от 0 до +5 вольт, а в сети 220, да еще при том переменное. Это значит, что его придется не только делить, но и сместить на середину шкалы. Значит понадобится высокоточный опорный источник на +2.5 вольта. Так что, если прикинуть весь получающийся огород в общей сумме, то может быть действительно проще и эффективнее использовать преобразователь напряжение-частота? Но работа с АЦП имеет и преимущество: значительно более высокую скорость измерения. Это хорошо для контроля быстрых сигналов. А касательно перехода через 0, так это просто: делаем интерполяцию по нескольким соседним точкам, и где линия пересекает 0 - это и есть наиболее близкое к действительности место. Период можно отловить разными способами. Наименее точный, но наиболее быстрый - измерить время между соседними нулями и умножить на 2, полагая, что полупериоды равны. Более точно - измерить время через один нуль, то есть целого периода. Наиболее точный способ - измерить количество переходов через 0 на калиброванном отрезке времени и посчитать обратную величину. Это самый медленный способ. Точность его тем выше, чем длинее измерительный интервал. При работе с АЦП время проще всего измерять количеством снятых АЦП точек, которые снимаются с постоянной частотой. |
|||
|
||||
leocat3 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 25.9.2016 Репутация: нет Всего: нет |
Guest45,
> А касательно перехода через 0, так это просто: делаем интерполяцию по нескольким соседним точкам, и где линия пересекает 0 - это и есть наиболее близкое к действительности место. Дело за малым: определить это самое, значение ноля в единицах АЦП... |
|||
|
||||
Курсант |
|
|||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Спасибо за ответ. На мой взгляд, опорный источник напряжения 2,5 В не нужен, а нужен делитель напряжения, к которому подключится один вывод трансформатора. Второй вывод на АЦП (с ограничивающими стабилитронами либо с диодами). Переход через нуль не хорошо. Если наложить на сеть помехи, то всё полетит в тартарары. Переходов будет слишком много. Нужна ЦПОС. Для ЦПОС нужна частота, но её бы не хотелось привлекать к этому делу, т.к. цифровые вольтметры частоту не спрашивают, они её измеряют. |
|||
|
||||
Guest45 |
|
||||||
Бывалый Профиль Группа: Участник Сообщений: 199 Регистрация: 24.5.2009 Репутация: нет Всего: нет |
Но АЦП микроконтроллеров обычно этого не могут, - только однополярный. Отсюда появляется вопрос: как тогда собираетесь обрабатывать отрицательную полуволну?
Помеха при любом методе будет вмешиваться в ваше измерение. Всё зависит от нужной точности и соотношения сигнал/помеха. В любом случае, чем больше точность хотим, тем больше времени должны затратить на измерение. Вы не указали, какой именно допустимый уровень помех Вы желаете преодолеть. В обычной промышленной сети помехи, сравнимые с величиной напряжения сети- это кратковременные выбросы, которые легко отфильтровываются медианным алгоритмом. Систематический шум невелик в сравнении с напряжением сети, так что его можно подавить усреднением отсчетов. Для этих "нормальных" условий простое накопление нулевых отсчетов может оказаться в конечном итоге выгоднее сложного алгоритма. Если же у Вас особые условия, когда, например, рядом мощный радиопередатчик от которого ВЧ-наводка превышает амплитуду сети - то тут отсчет по нулям конечно не прокатит. (Но и обычный вольтметр в таких условиях не замеряет тоже.) |
||||||
|
|||||||
Guest45 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 199 Регистрация: 24.5.2009 Репутация: нет Всего: нет |
Универсальный вариант - взять все снятые точки, вместе с помехами, и разложить их в спектр Фурье, и в нем замерить первую гармонику. (Или любую другую, какую хотите).
Но это весьма громоздко. |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
детектор перехода через ноль
или более лучший вариант -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
Курсант |
|
|||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Почти хорошее решение. Но не универсальное. Сильно загаженная сеть может обойти и этот детектор, и частота будет завышена. Вообще хорошо сработает операционный усилитель в режиме триггера Шмитта. Но тоже не универсально. Лучше всего, ИМХО, использовать ЦПОС. Т.е. разложить семплы с помощью ДПФ. Но как это сделать, не зная частоту - я не знаю. Нужен ведь период для этого, или я что-то путаю? Это сообщение отредактировал(а) Курсант - 9.1.2017, 18:50 |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
частота в сети - 50 герц
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
Курсант |
|
|||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Не, это нечестно Подгон под результат... Появилась тут идея... Через среднеквадратичное отклонение находить. Т.е. взять период, допустим, 100 мс, взять семплы, разложить их в кучу рядов фурье с разными частотами, вычислить среднеквадратичное отклонение первой гармоники от семпла для каждого ряда, и там, где два меньших среднеквадратичных отклонения - разложить эти же семплы уже в диапазоне от первой до второй частоты. И так до минимального среднеквадратичного отклонения. Хотя затрат на вычисления, думаю, будет катастрофически много. Осталось только с DSP разобраться... Это сообщение отредактировал(а) Курсант - 10.1.2017, 20:51 |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
вы же сказали знаете разложение Фурье.... а теперь ответьте , какая точность при таком преобразовании? (для определения частоты в смысле)
имхо вы пытаетесь по воробьям из пушки палить .... что надо найти ? частоту ? при каких шумах? исходные данные можно в студию... -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
Курсант |
|
|||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Фурье - это одно, а DSP - совсем другое. На обычном МК делать ДПФ - как-то сомнительно... Из пушки по воробьям - может быть и да. У меня выход инвертора, нагруженного на импульсную нагрузку. Там "мех" такой и такие искажения, что иногда синусоиду с трудом удаётся опознать на осциллографе. Точность при таком определении частоты будет зависить от глубины поиска наименьшего искажения. Т.е. сначала находим 2 наиболее близкие к оригиналу 1-е гармоники (например, это частоты 30 и 30,5 Гц), потом разлагаем семплы ряды с частотами 1-й гармоники соответственно 30, 30.05, 30.1, 30.15, 30.2, ... , 30.5 Гц, ищем наиболее близкие к оригиналу 1-е гармоники, далее ищем между ними. Вопрос в практической реализации. Я не пробовал делать ДПФ на МК, мне кажется, для этих целей обычно DSP применяют. Хочется сразу всё правильно сделать. |
|||
|
||||
Romikgy |
|
||||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
в таких помехах и Фурье не поможет! я бы попробовал корреляцию использовать ... но мне кажется , что надо со схемотехникой делать ... убирать такие помехи! дсп это мк с быстрым вычислением мат операций что для вас обычный мк? от TI уже давно есть мк со встроенным дсп .. стм32 некоторые ветки не хуже чем полноценный дсп.... так попробуйте) !!!
так и не ответил(( -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
Курсант |
|
|||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Извините, я не совсем понимаю, о чём Вы говорите. Если Вы предлагаете некую методику оценки точности измерения - предложите её. Если Вы можете подсказать некоторые ограничения, связанные с преобразованием Фурье - просветите, я пока в этом слабо разбираюсь. Я не могу дать оценку точности способа измерения гипотетического алгоритма, для которого ещё не проведены испытания. Щас пилю на Билдере генератор зашумленной синусоиды с последующим распознаванием. Как будут результаты - сообщу. На мой взгляд, никаких предпосылок для серьёзной ошибки нет, т.к. среднеквадратичное отклонение - достаточно хороший способ выбора наиболее близкой частоты, а метод деления пополам также позволяет искать решения с большой точностью. Какого рода исходные данные от меня нужны? Типовая осциллограмма напряжения с помехами? Это же надо вставать, идти и снимать её - влом. Щас в Билдере сгенерю. Выложу приложением к сообщению. Тема стала похожа на холивар Это сообщение отредактировал(а) Курсант - 11.1.2017, 11:12 Присоединённый файл ( Кол-во скачиваний: 7 ) Безымянный.png 101,89 Kb |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
если у вас такой сигнал, как на картинке , которую вы выложили.. то помеха легкоустранимая , достаточно сделать фильтр , который обрежет все частоты выше основной . Создать по фильтру переходную функцию , и сделать свертку с вашим сигналом.
PS переходную функцию можно получить , нарисовав функцию и применив обратное преобразование Фурье PPS а данные о которых я просил , допустим такие (пример) частота оцифровки - 10 кГц дискретность оцифровки - 12 бит макс уровень вх. сигнала - 220 вольт уровень помехи - 30 % что то типа такого ..... -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разное (электроника) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |