Оглавление:

Как измерить коэффициент мощности переменного тока с помощью Arduino: 4 шага
Как измерить коэффициент мощности переменного тока с помощью Arduino: 4 шага

Видео: Как измерить коэффициент мощности переменного тока с помощью Arduino: 4 шага

Видео: Как измерить коэффициент мощности переменного тока с помощью Arduino: 4 шага
Видео: Вольтметр переменного тока - Своими руками - Подключаю к АЦП Arduino 2024, Июль
Anonim
Как измерить коэффициент мощности переменного тока с помощью Arduino
Как измерить коэффициент мощности переменного тока с помощью Arduino
Как измерить коэффициент мощности переменного тока с помощью Arduino
Как измерить коэффициент мощности переменного тока с помощью Arduino

Всем привет! Это мое третье руководство, надеюсь, вы найдете его информативным:-) Это будет инструктаж о том, как выполнить базовое измерение коэффициента мощности с помощью Arduino. Прежде чем мы начнем, нужно помнить о нескольких вещах:

  1. Это будет работать ТОЛЬКО с ЛИНЕЙНЫМИ нагрузками (например, асинхронными двигателями, трансформаторами, соленоидами).
  2. Это НЕ будет работать с НЕЛИНЕЙНЫМИ (например, лампами CFL, импульсными источниками питания, светодиодами)
  3. Я инженер-электрик и очень компетентен в работе с сетевым потенциалом (например, 230 В).

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

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

Для новичков, читающих это, коэффициент мощности представляет собой отношение истинной мощности к полной мощности и может быть рассчитан путем нахождения косинуса фазового угла между напряжением питания и током (см. Прикрепленное изображение от Google). Это важно в приложениях переменного тока, поскольку «Полная мощность» (вольт-амперы) может быть легко рассчитана с помощью умножения напряжения на ток. Однако, чтобы получить реальную мощность или «истинную мощность» (ватт), полную мощность необходимо умножить на коэффициент мощности, чтобы получить истинное значение мощности в ваттах. Это применимо только к нагрузкам, которые имеют значительную индуктивную или емкостную составляющую (например, двигатель). Чисто резистивные нагрузки, такие как электрические нагреватели или лампы накаливания, имеют коэффициент мощности 1,0 (единица), поэтому истинная мощность и полная мощность одинаковы.

Шаг 1: Проектирование схемы

Схемотехника
Схемотехника
Схемотехника
Схемотехника
Схемотехника
Схемотехника
Схемотехника
Схемотехника

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

Я разработал следующую схему в Multisim. Предполагая, что ток и напряжение на нагрузке имеют чисто синусоидальную форму волны, можно измерить коэффициент мощности. Каждая форма волны подается в детектор пересечения нуля (иногда известный как преобразователь синусоидальной формы в прямоугольный), который представляет собой просто операционный усилитель 741 в режиме компаратора, где напряжение сравнения составляет 0 В. Когда синусоидальная волна находится в отрицательном цикле, генерируется отрицательный импульс постоянного тока, а когда синусоидальная волна является положительной, генерируется положительный импульс постоянного тока. Затем две прямоугольные волны сравниваются с использованием логического элемента исключающее ИЛИ (XOR), который выдает положительный импульс постоянного тока с высоким уровнем постоянного тока только в том случае, если прямоугольные волны не перекрываются, и 0 В, когда они перекрываются. Таким образом, выходом логического элемента XOR является разница во времени (дельта t) между двумя волнами от точки, в которой они пересекают нулевую точку. Затем этот разностный сигнал может быть синхронизирован микроконтроллером и преобразован в коэффициент мощности с помощью следующего расчета (убедитесь, что ваш научный калькулятор показывает градусы, а не радианы):

cos (phi) = f * dt * 360

Где:

cos (phi) - коэффициент мощности

f - частота измеряемого питания

dt - дельта t или разница во времени между волнами

360 - константа, используемая для ответа в градусах

На рисунках вы увидите три смоделированных осциллографических кривых для схемы. Два входных сигнала представляют ток и напряжение нагрузки. Я дал второму сигналу разность фаз 18 градусов, чтобы продемонстрировать теорию. Это дает коэффициент мощности примерно 0,95.

Шаг 2: прототипирование и тестирование

Прототипирование и тестирование
Прототипирование и тестирование
Прототипирование и тестирование
Прототипирование и тестирование
Прототипирование и тестирование
Прототипирование и тестирование

Для своего прототипа я поместил схему на макетную плату без пайки. Из таблицы данных UA741CN и таблицы данных CD4070CN обе ИС работают от источника постоянного тока 12-15 В, поэтому я использовал две батареи, чтобы создать источник питания с двумя шинами + 12В, 0В, -12В.

Имитация нагрузки

Вы можете моделировать нагрузку, используя двухканальный генератор сигналов или функциональный генератор. Я использовал эту дешевую и веселую китайскую коробку, чтобы произвести две синусоидальные волны 50 Гц, разнесенные на 18 градусов, и подать сигналы в схему. Вы можете увидеть полученные осциллограммы на осциллографе. На изображениях выше вы можете видеть две перекрывающиеся прямоугольные волны (выход каждого операционного усилителя), а три других изображения иллюстрируют выход логического элемента XOR. Обратите внимание, как ширина выходного импульса становится короче с уменьшением фазового угла. Примеры выше показывают 90, 40, 0 градусов.

Шаг 3: Код Arduino

Как упоминалось выше, выходной сигнал схемы измерения представляет собой разницу во времени между двумя входными сигналами (то есть сигналом тока и напряжения). Код arduino использует "pulseIn" для измерения длины выходного импульса от измерительной схемы в наносекундах и использует ее в формуле коэффициента мощности, упомянутой выше.

Код начинается с определения констант, главным образом для того, чтобы сделать код более организованным и читаемым. Что наиболее важно, код C (код Arduino) работает в радианах, а не в градусах, поэтому для последующего вычисления углов и коэффициентов мощности необходимо преобразование из радиан в градусы. Один радиан - это прибл. 57,29577951 градус. Число 360 также сохраняется и коэффициент умножения 1x10 ^ -6 для преобразования наносекунд в простые секунды. Частота также определяется в начале, если вы используете что-либо, кроме 50 Гц, убедитесь, что это обновлено в начале кода.

Внутри "void loop ()" я сказал Arduino рассчитать угол на основе формулы PF, упомянутой ранее. На моей первой итерации этого кода код возвращал правильный угол и коэффициент мощности, однако между каждым правильным результатом в последовательной консоли также возвращалось некое ошибочное низкое значение. Я заметил, что это было либо каждое второе чтение, либо каждые четыре измерения. Я поместил оператор «if» в цикл «for», чтобы сохранить максимальное значение каждых четырех последовательных чтений. Он делает это путем сравнения вычисления с «angle_max», которое изначально равно нулю, и, если оно больше, сохраняет новое значение внутри «angle_max». Это повторяется для измерения коэффициента мощности. Выполнение этого в цикле «for» означает, что всегда возвращаются правильный угол и pf, но если измеренный угол изменяется (больше или меньше), когда «for» заканчивается, «angle_max» сбрасывается на ноль для следующего теста, когда « void loop () "повторяется. Есть очень хороший пример того, как это работает, на веб-сайте Arduino (https://www.arduino.cc/en/Tutorial/Calibration). Вторая формула «если» просто предотвращает возврат любого значения выше 360 в случае ошибочного измерения высокого уровня, когда тестируемое устройство выключено.

Шаг 4: Кислотный тест

Кислотный тест!
Кислотный тест!
Кислотный тест!
Кислотный тест!
Кислотный тест!
Кислотный тест!

Не пытайтесь сделать следующее, если вы не знаете, как безопасно работать с сетевым напряжением переменного тока. Если вы сомневаетесь в своей безопасности, попробуйте имитировать входные сигналы с помощью двухканального генератора сигналов.

По просьбе последователя я сделал макет платы на Fritzing, чтобы лучше понять схему и схему выборки / измерения (я приложил файл.fzz и диаграмму.png). Двигатель наверху представляет собой настольный вентилятор, который я использовал, а индукционная катушка представляет собой трансформатор тока, намотанный на провод под напряжением. Я запитал микросхему 741 IC от двух аккумуляторных батарей на 12 В, расположенных так, чтобы выдавать +12 В постоянного тока, 0 В постоянного тока (земля) и -12 В постоянного тока. CD4070 также может питаться напрямую от шины питания 5V Arduino.

Чтобы доказать, что концепция работает в реальности, схема была построена на макетной плате без пайки. На картинках вы можете увидеть схему расположения. Я использовал настольный вентилятор в качестве индуктивной нагрузки для проверки концепции. Между источником питания 230 В и нагрузкой находится мое измерительное оборудование. У меня есть понижающий трансформатор, который преобразует 230 В напрямую в 5 В, чтобы можно было выполнить выборку формы волны напряжения. Неинвазивный трансформатор тока, зажатый вокруг токоведущего проводника, использовался для измерения формы волны тока (справа от резистора в алюминиевой оболочке). Обратите внимание, что вам не обязательно знать амплитуду тока или напряжения, только форму волны для операционного усилителя, чтобы идентифицировать переход через нуль. На приведенных выше изображениях показаны фактические формы сигналов тока и напряжения от вентилятора и последовательной консоли Arduino, которая сообщает коэффициент мощности 0,41 и угол 65 градусов.

Этот принцип работы может быть встроен в самодельный энергомонитор для точных измерений мощности. Если вы компетентны, вы можете попробовать контролировать различные индуктивные и резистивные нагрузки и определять их коэффициент мощности. И вот оно! очень простой метод измерения коэффициента мощности.

Рекомендуемые: