Как измерить коэффициент мощности cos phi с помощью Arduino?

в соответствии с Как измерить коэффициент мощности? Я могу измерить коэффициент мощности (cos phi), сравнив пересечение нулевой точки напряжения и тока. Это ясно.

Проблема, которая у меня есть, заключается в том, что если я не могу точно сказать, когда происходит пересечение нуля? Моя идея состоит в том, чтобы измерить cos phi с помощью Arduino, используя очень простую схему.

В основном я хочу использовать резисторы, чтобы снизить напряжение до +- 5, а затем использовать диод, чтобы иметь только положительные волны. При этом я могу сэмплировать напряжение, используя аналоговый вход Arduino, скажем, как минимум в 2 раза быстрее, чем 50 Гц. Например, Arduino Nano имеет тактовую частоту 16 МГц :-) (Нюквист).

Теперь с текущим планирую сделать то же самое. Возьмите дешевый линейный трансформатор тока и преобразуйте его в напряжение с помощью резистора, так что я получу максимум +5В.

Я рассчитаю резисторы и трансформаторы так, чтобы для максимального напряжения и AI получить нужный мне диапазон, а также я смогу обезопасить свой Arduino с помощью защиты от перенапряжения.

Мне не нужно точно измерять U и A. Мне не нужны эти значения с точностью, поэтому может быть достаточно использования дешевых элементов и простого подхода.

Мне нужно рассчитать фазу. Пожалуйста, взгляните на картинку:ток и напряжение

Предположим, 1. Я могу измерять Ток и Напряжение только как положительные волны от 0 до 5 В максимум 2. Я достаточно быстро сэмплирую 3. Я могу определить точку, в которой они идут от нуля до некоторого значения (здесь я тоже сделаю ошибку). ..) 4. Есть некоторая ошибка в измерении (величина) 5. Я могу рассчитать dt между V и A. С его помощью я могу рассчитать cos phi

Мой вопрос: возможно ли это/осуществимо? Является ли ошибка, которую я делаю в 3, достаточно большой, чтобы сделать это измерение cos phi непрактичным? Как я могу вычислить эту ошибку?

Большое спасибо

Вам нужно будет семплировать намного, намного, намного быстрее, чем 50 Гц, чтобы измерить разность фазового угла линии электропередачи 50 Гц.
Вместо того, чтобы подавать сигнал на АЦП, вы можете запустить оба сигнала в детекторы пересечения нуля, а затем использовать аппаратный таймер для очень точного измерения разницы между ними.
@brhans: тактовая частота 16 МГц намного выше, чем 50 Гц? Конечно, частота дискретизации не будет 16 МГц, но если алгоритм достаточно хорош, может быть около 1 МГц.
@uint128_t это то, о чем ты говоришь? площадка.arduino.cc/Main/ACPhaseControl
Довольно много. Вам просто нужна часть пересечения нуля, вам не нужна часть симистора. И тогда вам понадобится вторая схема пересечения нуля для вашего тока.
Таким образом, измерение коэффициента мощности проблематично. Смотрите мой ответ здесь: electronics.stackexchange.com/questions/202667/… . См. также оба этих ответа: electronics.stackexchange.com/questions/82188/… , а также этот: electronics.stackexchange.com/questions/76213/…

Ответы (1)

Смотрите комментарии под постом после прочтения этого. Мое решение здесь было бы точным только для цепей RLC, а не в случае импульсных токов из-за выпрямителей и т. Д.

Не беспокойтесь о Найквисте. Вместо:

  • Обнаружение пересечения нуля сигнала напряжения. Отметьте, идет ли оно положительно или отрицательно.
  • Запустите два таймера: один для измерения времени до следующего перехода напряжения через нуль (Vzc), а другой для определения времени измерения до текущего перехода через нуль (Izc).
  • Когда происходит Izc, остановите таймер Izc.
  • Выясните, будет ли это положительное или отрицательное движение.
  • На следующем Vzc остановите таймер Vzc. (Это дает вам время полупериода.)

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

Ваша главная проблема будет заключаться в точности измерений ZC, особенно на текущей форме волны (которая может быть равна нулю, не забывайте). Я бы предположил, что это может быть лучше реализовано с помощью внешней дискретной схемы, запускающей цифровые входы. Может помочь широкополосный детектор пересечения нуля Дейва Джонсона .

Я бы очень беспокоился о Найквисте, если вы попытаетесь точно оценить коэффициент мощности. При пересечении нуля для расчета коэффициента мощности отсутствует информация о том, что такое коэффициент мощности и как он применяется к сильно несинусоидальным токам, например, в мостовых выпрямителях. Теоретическая синусоида с резисторной, индуктивной или емкостной нагрузкой — это хорошо, но для остального реального мира забудьте об этом.
Это интересно, Энди. Время от времени я работаю с коррекцией коэффициента мощности и знаю о несинусоидальных токах и гармониках, генерируемых 3-фазными преобразователями частоты и т. д., а также о двойных импульсах, генерируемых на каждом полупериоде фазы. У меня также есть много субметров с PF и гармоническим анализом, но я никогда не рассматривал этот аспект. Как тогда это получается? На основе гармоник?
Я знаю только один разумный способ, и это вычисление реальной мощности и Vrms x Arms и нахождение PF на основе этого - см. ссылки под вопросом, который я указал в качестве комментария. В основном коэффициент мощности можно рассматривать как бессмысленное значение, когда гармоники тока велики.
Это досадная проблема, когда PowerFactor и DisplacementPowerFactor используются взаимозаменяемо. DisplacementPowerFactor — это ТОЛЬКО разность фаз между основным напряжением и основным током. PowerFactor учитывает гармоники и аккуратно преобразует их в RealPower и VA. Для пассивных нагрузок DPF == PF ... но это не всегда так.
@ Andyaka yup ... единственный надежный способ - это мгновенная V & A.
Так что мне кажется, что способ получить реальную ценность измерения — это использовать PowerFactor (включая гармоники). Я немного поработаю с Arduino и некоторыми датчиками и сообщу здесь, что я нашел, но это может занять некоторое время.
@otmezger Очень поздняя информация ... См. «Другую методологию», кросс-детектор не нужен. electronics.stackexchange.com/questions/574979/…