Опеделение угла сдвига фаз.

Простейшие вопросы в области инженерной разработки
Boxa
beginner
beginner
Сообщения: 48
Зарегистрирован: 10 янв 2021, 17:41
Версия LabVIEW: 2019
Благодарил (а): 13 раз
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение Boxa »

jane_wild писал(а): 11 ноя 2021, 19:24 Я правильно поняла, как то так? Diff betweet Phases.png
По такой схеме рассчитываю сдвиг фаз между током и напряжением для расчета активной и реактивной мощности, работает прекрасно. Наверное самый простой вариант реализации.
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение jane_wild »

Юрий писал(а): 12 ноя 2021, 17:54 Если Вы сами формируете квадратурные сигналы для датчика, то более точного определения фазы, чем обработка его с помощью синхронной фильтрация не найдёте. Для этого: теми же самыми импульсами, которыми формируете квадратурный сигнал (имеется ввиду программно), делаете оцифровку полученного сигнала.
Идея конечно интересная, только не совсем понимаю как это реализовать на практике. Например я формирую синусоиду (3000 Hz) с помощью (AO) USB-6218 и после усиления питаю датчик. Этот же USB-6218 (Ai) задействую для чтения обоих синусоид - питания и сигнала. И если при создании обеих задач, установить одинаковый Sample Rate (DAQmx Timing.vi), скажем в100kHz , будет ли это означать, что обе tasks синхронизированы?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3392
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение Artem.spb »

jane_wild писал(а): 12 ноя 2021, 23:48 будет ли это означать, что обе tasks синхронизированы?
Не будет
Нужно "экспортировать" тактовую частоту и стартовый триггер, посмотрите примеры, например,
examples\DAQmx\Synchronization\Analog Input - Synchronization.vi

Вот только зачем синхронизировать вход/выход?
У вас же оба сигнала идут на вход, так что просто сравнение сигналов с двух каналов. При частоте 100 кГц можно даже пренебречь задержкой семплирования, если модуль с мультиплексированием
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Опеделение угла сдвига фаз.

Сообщение Borjomy_1 »

Подтверждаю. Берется два сигнала: возбуждение и сигнал. Если удастся запитать ЦАП и АЦП от одного тактового генератора- прекрасно - можно добиться того, что сигнал возбуждения становится ненужным. Далее просто вычисляется Фурье для частоты возбуждения. Не надо спектр считать, достаточно одной гармоники. Ну и далее синусы-косинусы переводятся в амплитуды-фазы и вычитаются фазы сигналов.
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение Юрий »

jane_wild писал(а): 12 ноя 2021, 23:48 Например я формирую синусоиду (3000 Hz) с помощью (AO) USB-6218 и после усиления питаю датчик.
Не знаю, что у Вас за датчик, но, если это классика, то надо запитывать одну катушку синусом, а другую - косинусом. Посмотрите https://www.google.com/url?sa=t&source= ... pEjC4NG1EO, данную taras_33.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3392
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение Artem.spb »

Borjomy_1 писал(а): 13 ноя 2021, 11:11 Далее просто вычисляется Фурье для частоты возбуждения.
А можно подробности?

В аналогичной задаче (вычисление сдвига фазы ток-напряжение) вычислял фазу с помощью Extract Single Tone Information VI и брал разность двух величин.
Чем Фурье лучше?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Опеделение угла сдвига фаз.

Сообщение IvanLis »

Artem.spb писал(а): 13 ноя 2021, 21:01 В аналогичной задаче (вычисление сдвига фазы ток-напряжение) вычислял фазу с помощью Extract Single Tone Information VI и брал разность двух величин.
Чем Фурье лучше?
Я сомневаюсь, что результат будет прям сильно отличаться.
В основе Extract Single Tone Information VI так же лежит FFT с окном Хеннинга
Artem.spb

Activity Автор
professor
professor
Сообщения: 3392
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение Artem.spb »

IvanLis писал(а): 13 ноя 2021, 21:49 В основе Extract Single Tone Information VI так же лежит FFT с окном Хеннинга
Если FFT не требует ловить полный период, то это уже лучше :)
Хотя в той задаче такая "медлительность" вполне устраивала.
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 391
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение taras_33 »

Юрий писал(а): 13 ноя 2021, 13:12 Не знаю, что у Вас за датчик, но, если это классика, то надо запитывать одну катушку синусом, а другую - косинусом. Посмотрите https://www.google.com/url?sa=t&source= ... pEjC4NG1EO, данную taras_33.
В смысле запитывать? Здесь как бы наоборот сигнал считывается с обоих плеч.

Вставлю и я свои пять копеек. По работе постоянно сталкиваюсь с различными LVDT, RVDT, Synchro и Resolver все это различные датчики положения линейного, углового, давления (не удивляйтесь есть и такие) которые очень широко применяются в авиации...
На истину не претендую, чисто из личного опыта. Упомянутый чип хорош если датчик простой и имеет среднюю точку, тогда сигнал возбуждения не нужен, достаточно посмотреть разность потенциалов обоих плеч по отношению к этой точке далее отфильтровать, выпрямить и выдать. Собственно это и делает чип. А что если LVDT имеет только четыре провода или даже три? Возбуждение, общий и выход. В этом случае нужно считывать амплитуду выхода и фазу по отношению к возбуждению. Путем эксперементов, проб и ошибок, для себя я нашел решение. Для начала складываю две синусоиды. Затем конвертирую в DC. Конвертирую в DC также сигнал возбуждения. А дальше все просто путем вычитания из DC результата сложения двух синусоид, DC сигнала возбуждения получаем DC выход с полярностью соответствующему текущему положению.

Это мало относиться к LabVIEW. Но как упоминал Andrew Lunev, если нужна точноть и скорость, без аппаратного решения здесь не обойтись.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение Юрий »

taras_33 писал(а): 14 ноя 2021, 20:40 В смысле запитывать? Здесь как бы наоборот сигнал считывается с обоих плеч.
Речь идёт о датчиках с тремя катушками. Две катушки со своими магнитопроводами участвуют в модуляции опорного сигнала за счет изменения зазора в соответствующем магнитопроводе. Конструктивно сделано так, что зазор в каждой изменяется деференциальным образом. Т.е. при увеличении одного, другой уменьшается. На третью катушку подаётся опорный сигнал. Это один вариант включения. При этом на первых двух катушках сигнал получается той же частоты и фазы, что и опорный, но модулированный по амплитуде положением датчика. В этом случае работать надо с амплитудами измерительных катушек, то есть с двумя сигналами. Решений тут несколько, но не хочу на них останавливаться. На много эффективнее по затратам и по точности второй вариант, когда первые две катушки запитываются квадратурным сигналом (sin, cos). Тогда на третьей катушке получается сигнал той же самой частоты, что и запитывающий, и в идеале этот сигнал имеет постоянную амплитуду, не зависящую от положения. А вот фаза этого сигнала пропорциональна перемещению. Вариант обработки для этого случая я уже представлял. Такое решение использую уже очень давно и на микропроцессорах и на ПК и на микросхеме, упомянутой taras_33. К стати, если мне память не изменяет, то на этой микросхеме можно реализовать оба варианта.
Что касается использования преобразования Фурье, то в этом частном случае синхронную фильтрацию можно рассматривать как оптимизированное преобразовние Фурье для одной гармоники. В самом деле, вместо помножения каждой точки выборки на соответствующее значение SinCos с дальнейшим ссумированим, это умножение можно отложить на самый конец всего для одного периода, полученного ссумированием одноимённых точек (все одноимённые точки имют один свой множитель), что, конечно, рациональнее.
Но это не значит, что синхронная фильтрация это оптимизированное преобразование Фурье для одной гармоники. Если какие то параметры при измерении плавают, например, скорость, то синхронной фильтрацией можно получить значительно лучшие показатели, чем при использовании Фурье. При этом, конечно, алгоритмы усложнятся за счёт приведения каждого периода к одинаковому количеству точек. Правда, если это делается аналоговым образом, то задача упрощается.
Да, вот ещё что можно сказать. Запитывать можно и двумя прямоугольными импульсами со скважностью 2, сдвинутыми на четверть периода. Так тоже делал. И это было оправдано, поскольку индуктивности катушек были маленикие. При этом при обработке с синусами и косинусами не связывался, а манипулировал с суммами по четвертям периода.
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение jane_wild »

Artem.spb писал(а): 13 ноя 2021, 01:20 Вот только зачем синхронизировать вход/выход?
Если я правильно уловила мысль, то если использовать общий тактовый генератор для формирования синусоиды и для сэмплирования входного сигнала, (так же синусоиды) то это минимизирует шумы. Только как это сделать в пределах одного DAQ, использовав его внутренний генератор, так и не поняла.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3392
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение Artem.spb »

jane_wild писал(а): 16 ноя 2021, 21:00 если использовать общий тактовый генератор для формирования синусоиды и для сэмплирования входного сигнала,
Если выходной синус идёт на вход, и там читается два сигнала (управляющий и результат), то синхронизация не требуется.
Импорт-экспорт тактов есть в примерах, как я уже говорил
syn.png
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Опеделение угла сдвига фаз.

Сообщение Andrew Lunev »

Если хотите использовать для запитки датчика выход AO обычной платы NI, то не забывайте, что выходной ток ЦАП обычно ограничен 2-4 мА (зависит от типа платы). Этого может не хватить для запитки низкоомных обмоток. Проверьте обязательно осциллографом реальную форму синусоиды при запитке. Возможно увидите вместо синуса что-то типа трапеции и тогда вся эта обработка не даст нужной точности.
Чтобы избежать искажения синусоиды запитки, можно уменьшить её амплитуду и увеличить её частоту, в этом случае ток не будет выходить за ограничения и искажений не будет. Но чем меньше амплитуда и чем выше частота, тем ниже будет точность определения положения. Так как уменьшается и выходной сигнал, уменьшается отношение сигнал/шум и частота АЦП имеет ограничения и чем выше будет частота синуса, тем меньше точек на период получите в оцифрованном сигнале. Удачи в экспериментах!
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение jane_wild »

Чтобы не плодить темы решила написать здесь. С осцилографа NI USB-5132, получаю две синусоиды. Мне нужно вычислить сдвиг фаз между ними. Модифицировала пример от NI, подключила оба входа осцилографа к двухканальному генератору.
Установила на Генераторе сдвиг в 90 градусов Угол отображается верно.
Phase Detector 90.PNG
Сдвиг синусоид на генераторе устанавливаю в ноль
Phase Detector BD.PNG
Phase Detector.PNG
Вопрос - почему на выходе detected phases (deg) Extract Single Tone Information.vi присутствует странная цифра? (в случае нулевого сдвига -144) что это за номер и откуда он взялся?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3392
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Опеделение угла сдвига фаз.

Сообщение Artem.spb »

jane_wild писал(а): 21 фев 2022, 22:25 Вопрос - почему на выходе detected phases (deg) Extract Single Tone Information.vi присутствует странная цифра? (в случае нулевого сдвига -144) что это за номер и откуда он взялся?
Ничего странного, это и есть сдвиг для детектора. Он же произвольный кусок на анализ получает
ph.jpg
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»