Beztransformatorowy obwód woltomierza AC wykorzystujący Arduino

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym artykule dowiemy się, jak wykonać beztransformatorowy woltomierz AC za pomocą Arduino.

Zrobienie woltomierz analogowy nie jest łatwym zadaniem, ponieważ aby go zbudować, trzeba dobrze znać wielkości fizyczne, takie jak moment obrotowy, prędkość, która może być bardzo trudna w praktycznym zastosowaniu.



PrzezAnkit Negi

Ale a woltomierz cyfrowy w stosunku do można wykonać woltomierz analogowy szybko i to też przy niewielkim wysiłku. Teraz dzienny woltomierz można wykonać za pomocą mikrokontrolera lub płytki rozwojowej, takiej jak arduino, przy użyciu kodu 4-5 liniowego.



Dlaczego ten obwód woltomierza AC jest inny?

Jeśli przejdziesz do Google i wyszukasz „AC voltmeter using arduino”, znajdziesz wiele obwodów w całym Internecie. Ale w prawie wszystkich tych obwodach znajduje się transformator.

Teraz użycie transformatora nie jest dobrym pomysłem, jeśli chcesz wykonać niezawodny i wydajny woltomierz, ponieważ sprawia, że ​​obwód jest nieporęczny i ciężki.

Obwód w tym projekcie całkowicie rozwiązuje ten problem, zastępując transformator z obwodu dzielnika napięcia o dużej mocy. Ten obwód można łatwo wykonać na małej płytce prototypowej w ciągu kilku minut.

Do wykonania tego projektu potrzebne są następujące komponenty:

1. Arduino

2. Rezystor 100 kΩ (2 W)

3. Rezystor 1 kΩ (2 W)

4. Dioda 1N4007

5. Jedna dioda Zenera 5 woltów

6. 1 uf kondensator

7. Przewody połączeniowe

SCHEMAT OBWODU:

Wykonaj połączenia zgodnie ze schematem połączeń.

A) Wykonaj dzielnik napięcia za pomocą rezystorów pamiętając, że rezystor 1 kΩ powinien być podłączony do masy.

B) Podłączyć końcówkę p diody bezpośrednio za rezystorem 1 kΩ, jak pokazano na rys. a jego n-zacisk do 1 uf kondensatora.

C) Nie zapomnij podłączyć diody Zenera równolegle do kondensatora (wyjaśniono poniżej)

D) Podłącz przewód z dodatniego bieguna kondensatora do analogowego pinu A0 arduino.

E) ** podłącz styk uziemienia arduino do ogólnego obwodu uziemienia, w przeciwnym razie obwód nie będzie działać.

CEL ARDUINO:

Możesz użyć dowolnego mikrokontrolera, ale ja używałem arduino ze względu na jego łatwe IDE. Zasadniczo funkcją arduino lub dowolnego mikrokontrolera jest tutaj pobranie napięcia na rezystorze 1 kΩ jako wejście analogowe i przekształcenie tej wartości w sieć prądu przemiennego. wartość napięcia za pomocą wzoru (wyjaśnionego w części roboczej). Arduino dodatkowo drukuje tę wartość sieci na monitorze szeregowym lub ekranie laptopa.

OBWÓD DZIELNIKA NAPIĘCIA:

Jak już wspomniano w części poświęconej komponentom, rezystory (które tworzą obwód dzielnika napięcia) muszą mieć dużą moc znamionową, ponieważ zamierzamy podłączyć je bezpośrednio do sieci zasilającej.

I stąd ten obwód dzielnika napięcia zastępuje transformator. Ponieważ arduino może przyjmować maksymalnie 5 V jako wejście analogowe, obwód dzielnika napięcia służy do dzielenia wysokiego napięcia sieciowego na niskie (mniejsze niż 5 V). Załóżmy, że napięcie sieciowe wynosi 350 woltów (r.m.s)

Co daje maksymalne lub szczytowe napięcie = 300 * 1,414 = 494,2 wolta

Więc napięcie szczytowe na rezystorze 1 kilooma wynosi = (494,2 wolta / 101 k) * 1 k = 4,9 wolta (maksymalnie)

Uwaga: * ale nawet dla 350 r.m.s to 4,9 V nie jest r.m.s, co oznacza, że ​​w rzeczywistości napięcie na pinie analogowym arduino będzie mniejsze niż 4,9 V.

Stąd z tych obliczeń wynika, że ​​obwód ten może bezpiecznie zmierzyć napięcie prądu przemiennego około 385 r.m.s.

DLACZEGO DIODA?

Ponieważ arduino nie może przyjmować ujemnego napięcia na wejściu, bardzo ważne jest, aby usunąć ujemną część wejściowej fali sinusoidalnej a.c na rezystorze 1 kΩ. W tym celu jest prostowany za pomocą diody. Możesz także użyć prostownika mostkowego, aby uzyskać lepsze wyniki.

DLACZEGO KONDENSATOR?
Nawet po wyprostowaniu występują zmarszczki na fali i aby je usunąć, używany jest kondensator. Kondensator wygładza napięcie przed podaniem go do arduino.

DLACZEGO ZENER DIODE

Napięcie większe niż 5 woltów może uszkodzić arduino. Dlatego w celu jego ochrony zastosowano diodę Zenera 5 V. Jeśli napięcie sieciowe a.c wzrośnie powyżej 380 V, tj. Powyżej 5 V na pinie analogowym, nastąpi przebicie diody Zenera. W ten sposób zwarcie kondensatora do masy. Zapewnia to bezpieczeństwo arduino.

KOD:

Nagraj ten kod w swoim arduino:

int x// initialise variable x
float y//initialise variable y
void setup()
{
pinMode(A0,INPUT) // set pin a0 as input pin
Serial.begin(9600)// begin serial communication between arduino and pc
}
void loop()
{
x=analogRead(A0)// read analog values from pin A0 across capacitor
y=(x*.380156)// converts analog value(x) into input ac supply value using this formula ( explained in woeking section)
Serial.print(' analaog input ' ) // specify name to the corresponding value to be printed
Serial.print(x) // print input analog value on serial monitor
Serial.print(' ac voltage ') // specify name to the corresponding value to be printed
Serial.print(y) // prints the ac value on Serial monitor
Serial.println()
}

Zrozumienie kodu:

1. ZMIENNA x:

X jest wejściową wartością analogową otrzymaną (napięcie) ze styku A0, jak określono w kodzie, tj.

x = pinMode (A0, INPUT) // ustaw pin a0 jako pin wejściowy

2. ZMIENNE I:

Aby dojść do tego wzoru y = (x * .380156), najpierw musimy wykonać jakieś obliczenia:

Ten obwód tutaj zawsze zapewnia napięcie mniejsze niż rzeczywista wartość na pinie A0 arduino z powodu kondensatora i diody. Co oznacza, że ​​napięcie na pinie analogowym jest zawsze mniejsze niż napięcie na rezystorze 1 kΩ.

Stąd musimy znaleźć wartość wejściowego napięcia przemiennego, przy której otrzymujemy 5 woltów lub 1023 wartość analogową na pinie A0. Według metody trafienia i próby wartość ta wynosi około 550 woltów (wartość szczytowa), jak pokazano na symulacji.

W r.m.s 550 szczytowych woltów = 550 / 1,414 = 388,96 woltów r.m.s. Stąd dla tej r.m.s wartości otrzymujemy 5 woltów na pinie A0. Więc ten obwód może mierzyć maksymalnie 389 woltów.

Teraz dla 1023 wartości analogowej na pinie A0 --- 389 a.c volts = y

Co daje dla dowolnej wartości analogowej (x) y = (389/1023) * x a.c woltów

LUB y = 0,38015 * x a.c woltów

Na rys. Można wyraźnie zauważyć, że wydrukowana wartość a.c na monitorze szeregowym również wynosi 389 woltów

Drukowanie wymaganych wartości na ekranie:

Wymagamy wydrukowania dwóch wartości na monitorze szeregowym, jak pokazano na obrazku symulacyjnym:

1. Wartość wejścia analogowego odebrana przez pin analogowy A0 jak określono w kodzie:

Serial.print ('analaog input') // podaj nazwę odpowiadającej wartości do wydrukowania

Serial.print (x) // wypisuje wejściową wartość analogową na monitorze szeregowym

2. Rzeczywista wartość napięcia przemiennego z sieci, jak określono w kodzie:

Serial.print ('napięcie AC') // podaj nazwę odpowiadającej wartości do wydrukowania

Serial.print (y) // wyświetla wartość ac na monitorze szeregowym

DZIAŁANIE TEGO BEZ TRANSFORMATORA WOLTOMIERZA AC PRZY UŻYCIU ARDUINO

1. Obwód dzielnika napięcia przekształca lub obniża napięcie sieciowe prądu przemiennego do odpowiedniej wartości niskiego napięcia.

2. To napięcie po wyprostowaniu jest pobierane przez analogowy pin arduino i za pomocą wzoru

y = 0,38015 * x a.c woltów jest konwertowane na rzeczywistą wartość napięcia prądu przemiennego.

3. Przekonwertowana wartość jest następnie drukowana na monitorze szeregowym arduino IDE.

SYMULACJA:

Aby zobaczyć, jak blisko wartości drukowanej na ekranie do rzeczywistej wartości a.c, przeprowadzana jest symulacja dla różnych wartości napięć a.c:

A) 220 woltów lub 311 amplitud

B) 235 V lub 332,9 amplitudy

C) 300 V lub 424,2

Z poniższych wyników wynika, że ​​przy zasilaniu 220 prądu przemiennego arduino wykazuje napięcie 217 woltów. Wraz ze wzrostem tej wartości a.c wyniki symulacji stają się dokładniejsze, czyli bardziej zbliżone do wejściowej wartości a.c.




Poprzedni: Obwód timera sieciowego 220V LCD - włącznik czasowy Dalej: Spadek napięcia w falowniku - jak go rozwiązać