Съдържание:

Как да измервате фактора на променливотоковото захранване с помощта на Arduino: 4 стъпки
Как да измервате фактора на променливотоковото захранване с помощта на Arduino: 4 стъпки

Видео: Как да измервате фактора на променливотоковото захранване с помощта на Arduino: 4 стъпки

Видео: Как да измервате фактора на променливотоковото захранване с помощта на Arduino: 4 стъпки
Видео: How measure DC Voltage and Current and build Energy meter with LCD Display | Lesson 104 2024, Юли
Anonim
Как да измерваме фактора на променливотоковото захранване с помощта на Arduino
Как да измерваме фактора на променливотоковото захранване с помощта на Arduino
Как да измерваме фактора на променливотоковото захранване с помощта на Arduino
Как да измерваме фактора на променливотоковото захранване с помощта на Arduino

Здравейте всички! Това е третата ми инструкция, надявам се да ви е полезна:-) Това ще бъде инструкция как да направите основно измерване на коефициента на мощност с помощта на Arduino. Преди да започнем, трябва да имате предвид няколко неща:

  1. Това ще работи САМО с ЛИНЕЙНИ натоварвания (например индуктивни двигатели, трансформатори, соленоиди)
  2. Това НЯМА да работи с НЕЛИНЕЙНИ (напр. CFL крушки, захранващи устройства в режим на превключване, светодиоди)
  3. Аз съм електроинженер и много компетентен, когато работя с мрежов потенциал (напр. 230V)

Внимание! Ако не сте обучени или не знаете как да работите правилно с мрежовото напрежение, предлагам да не продължавате с тази част от инструкциите и ще ви покажа безопасен метод за доказване на работата на веригата.

Това е хардуерно решение на проблема с измерването на PF при линейни натоварвания. Това може да се направи и чисто чрез код, включително възможността за измерване на нелинейни натоварвания, което ще се опитам да обхвана в друга инструкция.

В полза на всички начинаещи, които четат това, коефициентът на мощност е съотношението на истинската мощност към видимата мощност и може да бъде изчислен чрез намиране на косинуса на фазовия ъгъл между захранващото напрежение и тока (вижте приложеното изображение от Google). Това е значително в приложенията за променлив ток, тъй като "видимата мощност" (волт-ампери) може лесно да се изчисли, като се използва напрежение, умножено по ток. Въпреки това, за да се получи реалната мощност или "Истинска мощност" (Ватове) видимата мощност трябва да се умножи по коефициента на мощност, за да се направи истинско измерване на мощността в Ватове. Това се отнася само за товари, които имат значителен индуктивен или капацитетен компонент (като двигател). Чисто резистивни натоварвания като електрически нагреватели или крушки с нажежаема жичка имат коефициент на мощност 1,0 (единица) и следователно Истинската мощност и видимата мощност са еднакви.

Стъпка 1: Дизайн на верига

Дизайн на вериги
Дизайн на вериги
Дизайн на вериги
Дизайн на вериги
Дизайн на вериги
Дизайн на вериги
Дизайн на вериги
Дизайн на вериги

Коефициентът на мощност може да се изчисли с помощта на осцилоскоп, чрез измерване на времевата разлика между напрежението и токовия сигнал. Те могат да бъдат измерени във всяка точка на вълната, стига да са взети проби на едно и също място. В този случай беше логично да се измерва между нулевите точки на пресичане (точки във вълната, където напрежението пресича оста X).

Проектирах следната схема в Multisim. Ако приемем, че токът и напрежението на товара са чисти синусоидални форми на вълната, коефициентът на мощност може да бъде измерен. Всяка форма на вълната се подава в детектор за пресичане на нула (понякога известен като преобразувател на синус към квадратна вълна), който е просто 741 оп-усилвател в режим на сравнение, където напрежението за сравнение е 0V. Когато синусоидата е в отрицателен цикъл, се генерира отрицателен DC импулс, а когато синусоидата е положителна, се генерира положителен DC импулс. След това двете квадратни вълни се сравняват с помощта на изключителна логическа порта OR (XOR), която ще извежда положителен висок DC импулс само когато квадратните вълни не се припокриват, и 0V, когато се припокриват. Следователно изходът на порта XOR е времева разлика (делта t) между двете вълни от точката, в която те пресичат нулевата точка. След това този сигнал за разлика може да бъде синхронизиран от микроконтролер и преобразуван във фактор на мощността, като се използва следното изчисление (уверете се, че вашият научен калкулатор е в градуси, а не в радиани):

cos (phi) = f * dt * 360

Където:

cos (phi) - фактор на мощността

f - Честотата на измереното захранване

dt - делта t или времева разлика между вълните

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

На снимките ще видите три симулирани следи от осцилоскоп за веригата. Двата входни сигнала представляват тока и напрежението към товара. Дадох на втория сигнал фазова разлика от 18 Deg, за да очертая теорията. Това дава PF от приблизително 0,95.

Стъпка 2: Прототипиране и тестване

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

За моята прототипна конструкция поставих схемата на схема за спойка. От листа с данни UA741CN и листа с данни CD4070CN и двете IC се захранват от 12-15 Vdc захранване, така че захранвах с две батерии, за да направя захранване с двойна шина +12V, 0V, -12V Volt.

Симулиране на натоварване

Можете да симулирате натоварване, като използвате двуканален генератор на сигнал или функционален генератор. Използвах тази евтина и весела китайска кутия, за да произведа две 50 Hz синусоиди на 18 градуса един от друг и подадох сигналите във веригата. Можете да видите получените форми на вълни на осцилоскоп. На снимките по-горе можете да видите двете припокриващи се квадратни вълни (изход от всеки операционен усилвател), а другите три снимки илюстрират изхода на порта XOR. Забележете как ширината на изходния импулс намалява с намаляване на фазовия ъгъл. Примерите по -горе показват 90, 40, 0 градуса.

Стъпка 3: Arduino код

Както бе споменато по -горе, изходът от измервателната верига е времевата разлика между двата входни сигнала (т.е. тока и сигнала на напрежението). Кодът arduino използва "pulseIn" за измерване на дължината на изходния импулс от измервателната верига в нано секунди и го използва във формулата PF, спомената по -горе.

Кодът започва с дефиниране на константи, главно за да стане кодът по -организиран и четлив. Най -важното е, че C кодът (кодът arduino) работи в радиани, а не в градуси, така че преобразуването от радиани в градуси е необходимо за изчисляване на ъглите и PF по -късно. Един радиан е приблизително. 57.29577951 градуса. Съхранява се и числото 360 и коефициентът на умножение 1x10^-6 за преобразуване на наносекунди в обикновени секунди. Честотата също е дефинирана в началото, ако използвате нещо различно от 50Hz, уверете се, че това е актуализирано в началото на кода.

Вътре в „void loop ()“казах на Arduino да изчисли ъгъла въз основа на формулата PF, спомената по -рано. При първата ми итерация на този код кодът щеше да върне правилния ъгъл и коефициент на мощност, но между всеки правилен резултат някои погрешно ниска стойност също ще бъде върната в серийната конзола. Забелязах, че това е било всяко друго четене или на всеки четири измервания. Поставих оператор "if" в цикъл "for", за да съхранявам максималната стойност на всеки четири последователни показания. Той прави това, като сравнява изчислението с "angle_max", което първоначално е нула, и ако е по -голямо, съхранява новата стойност в "angle_max". Това се повтаря за измерването на PF. Правейки това в цикъл "за", това означава, че правилният ъгъл и pf винаги се връщат, но ако измереният ъгъл се промени (по -голям или по -нисък), когато "за" завършва "angle_max" се нулира за следващия тест, когато " void loop () "се повтаря. Има много добър пример за това как работи това на уебсайта на Arduino (https://www.arduino.cc/en/Tutorial/Calibration). Втората формула "ако" просто предотвратява връщането на стойност, по -висока от 360, в случай на грешно високо измерване, когато изпитваното устройство е изключено.

Стъпка 4: Киселинният тест

Киселинният тест!
Киселинният тест!
Киселинният тест!
Киселинният тест!
Киселинният тест!
Киселинният тест!

Не се опитвайте следното, освен ако не знаете как да работите безопасно с променливо напрежение в мрежата. Ако се съмнявате в безопасността си, опитайте да симулирате входните сигнали с двуканален генератор на вълнова форма.

По искане на последовател направих макет на Fritzing, за да дам по -добра представа за схемата и схемата за вземане на проби/сензор (приложих файла.fzz и-p.webp

За да се докаже, че концепцията работи в действителност, схемата е изградена върху спойка без дънна платка. От снимките можете да видите подреждането на веригата. Използвал съм настолен вентилатор като свой индуктивен товар, за да тествам концепцията. Между захранването от 230V и товара е моето сензорно оборудване. Имам понижаващ трансформатор, който трансформира 230V директно в 5V, за да позволи да се вземе проба от формата на вълната на напрежението. Неинвазивен токов трансформатор, затегнат около проводника под напрежение, беше използван за вземане на проби от формата на вълната на тока (вдясно от алуминиевия резистор). Имайте предвид, че не е задължително да знаете амплитудата на тока или напрежението, а само формата на вълната за оп-усилвателя, за да идентифицирате пресичането на нулата. Горните снимки показват действителните форми на ток и напрежение от вентилатора и серийната конзола arduino, която отчита PF от 0,41 и ъгъл от 65 градуса.

Този работещ принцип може да бъде включен в домашно направен енергиен монитор, за да се направят истински измервания на мощността. Ако сте компетентни, можете да опитате да наблюдавате различни индуктивни и резистивни натоварвания и да определите техния коефициент на мощност. И ето го! много прост метод за измерване на коефициента на мощност.

Препоръчано: