- Wymagane komponenty:
- Schemat obwodu woltomierza Arduino:
- Działanie woltomierza AC opartego na Arduino:
- Symulacja:
- Objaśnienie kodu:
W tym projekcie zamierzamy wykonać przyrząd do pomiaru napięcia AC przy użyciu Arduino, który będzie mierzył napięcie zasilania prądem przemiennym w naszym domu. Zamierzamy wydrukować to napięcie na monitorze szeregowym Arduino IDE, a także pokazać na multimetrze.
Wykonanie woltomierza cyfrowego jest o wiele łatwiejsze niż wykonanie analogowego, ponieważ w przypadku woltomierza analogowego trzeba mieć dobrą znajomość parametrów fizycznych, takich jak moment obrotowy, straty tarcia itp., Podczas gdy w przypadku woltomierza cyfrowego wystarczy użyć matrycy LCD lub LED lub nawet twój laptop (jak w tym przypadku), aby wydrukować wartości napięcia dla ciebie. Oto kilka projektów woltomierzy cyfrowych:
- Prosty obwód woltomierza cyfrowego z płytką drukowaną przy użyciu ICL7107
- Obwód woltomierza LM3914
- Woltomierz cyfrowy 0-25 V za pomocą mikrokontrolera AVR
Wymagane komponenty:
- Jeden transformator 12-0-12
- Dioda 1N4007
- Kondensator 1uf
- Rezystory 10k; 4,7 km.
- Dioda Zenera (5 V)
- Arduino UNO
- Przewody łączące
Schemat obwodu woltomierza Arduino:
Schemat obwodu tego woltomierza Arduino pokazano powyżej.
Znajomości:
- Podłączyć stronę wysokiego napięcia (220 V) transformatora do sieci zasilającej, a niskie napięcie (12 V) do obwodu dzielnika napięcia.
- Podłącz rezystor 10 k szeregowo z rezystorem 4,7 k, ale pamiętaj, aby pobierać napięcie jako wejście na rezystor 4,7 k.
- Podłącz diodę, jak pokazano.
- Podłącz kondensator i diodę Zenera do 4,7k
- Podłącz przewód z końcówki n diody do analogowego pinu A0 Arduino.
** Uwaga: podłącz pin uziemienia Arduino do punktu pokazanego na rysunku lub obwód nie będzie działał.
Potrzebujesz obwodu dzielnika napięcia?
Ponieważ używamy transformatora 220/12 V, otrzymujemy 12 V po stronie lv. Ponieważ to napięcie nie nadaje się jako wejście dla Arduino, potrzebujemy obwodu dzielnika napięcia, który może podać odpowiednią wartość napięcia jako wejście do Arduino
Dlaczego dioda i kondensator są podłączone?
Ponieważ Arduino nie przyjmuje ujemnych wartości napięcia na wejściu, najpierw musimy usunąć ujemny cykl obniżania prądu przemiennego, aby Arduino pobierał tylko dodatnią wartość napięcia. Stąd dioda jest podłączona, aby skorygować napięcie obniżające. Sprawdź nasz prostownik półokresowy i obwód prostownika pełnookresowego, aby dowiedzieć się więcej o prostowaniu.
To wyprostowane napięcie nie jest gładkie, ponieważ zawiera duże tętnienia, które nie mogą dać nam dokładnej wartości analogowej. Stąd kondensator jest podłączony, aby wygładzić sygnał AC.
Cel diody Zenera?
Arduino może ulec uszkodzeniu, jeśli zostanie do niego doprowadzone napięcie większe niż 5 V. Stąd podłączona jest dioda Zenera 5V, aby zapewnić bezpieczeństwo Arduino, które ulegnie awarii w przypadku, gdy napięcie to przekroczy 5V.
Działanie woltomierza AC opartego na Arduino:
1. Napięcie obniżające napięcie uzyskuje się po stronie niskiego napięcia transformatora, które jest odpowiednie do użycia na rezystorach o normalnej mocy znamionowej.
2. Następnie otrzymujemy odpowiednią wartość napięcia na rezystorze 4,7k
Maksymalne napięcie, które można zmierzyć, można znaleźć, symulując ten obwód na proteusie (wyjaśniono w sekcji symulacji).
3. Arduino pobiera to napięcie jako wejście z pinu A0 w postaci wartości analogowych od 0 do 1023. 0 to 0 V, a 1023 to 5 V.
4. Arduino konwertuje następnie tę wartość analogową na odpowiednie napięcie sieciowe AC za pomocą wzoru. (Wyjaśniono w sekcji kodu).
Symulacja:
Dokładny obwód jest tworzony w proteusie, a następnie symulowany. Aby znaleźć maksymalne napięcie, które ten obwód może zmierzyć, stosuje się metodę próbną.
Podczas wykonywania szczytowego napięcia alternatora 440 (311 rms), stwierdzono, że napięcie na pinie A0 wynosi 5 woltów, tj. Maksymalne. Stąd ten obwód może mierzyć maksymalne napięcie 311 rms.
Symulacja jest przeprowadzana dla różnych napięć od 220 rms do 440v.
Objaśnienie kodu:
Pełny kod ArduinoVoltmeter jest podany na końcu tego projektu i jest dobrze wyjaśniony w komentarzach. Tutaj wyjaśniamy kilka jego części.
m to wejściowa wartość analogowa odebrana na pinie A0, tj.
m = pinMode (A0, INPUT); // ustaw pin a0 jako pin wejściowy
Aby przypisać zmienną n do tej formuły n = (m * . 304177), najpierw wykonuje się jakieś obliczenia, korzystając z danych uzyskanych w sekcji symulacji:
Jak widać na fotografii symulacyjnej, wartość analogowa 5v lub 1023 jest uzyskiwana na pinie A0, gdy napięcie wejściowe AC wynosi 311 woltów. W związku z tym:
Zatem dowolna losowa wartość analogowa odpowiada (311/1023) * m, gdzie m jest wartością analogową.
Stąd dochodzimy do tego wzoru:
n = (311/1023) * m woltów lub n = (m * 0,304177)
Teraz ta wartość napięcia jest drukowana na monitorze szeregowym za pomocą poleceń szeregowych, jak wyjaśniono poniżej. Pokazano również na multimetrze, jak pokazano na poniższym filmie.
Wartości wydrukowane na ekranie to:
Wartość wejścia analogowego określona w kodzie:
Serial.print („wejście analogowe”); // to daje nazwę, która jest „wejściem analogowym” wydrukowanej wartości analogowej Serial.print (m); // to po prostu wypisuje wejściową wartość analogową
Wymagane napięcie AC określone w kodzie:
Serial.print („napięcie AC”); // daje to nazwę „napięcie prądu przemiennego” wydrukowanej wartości analogowej Serial.print (n); // to po prostu wypisuje wartość napięcia AC