Spisu treści:

Moduł pomiaru mocy DIY dla Arduino: 9 kroków (ze zdjęciami)
Moduł pomiaru mocy DIY dla Arduino: 9 kroków (ze zdjęciami)

Wideo: Moduł pomiaru mocy DIY dla Arduino: 9 kroków (ze zdjęciami)

Wideo: Moduł pomiaru mocy DIY dla Arduino: 9 kroków (ze zdjęciami)
Wideo: Arduino 18: PŁYTKA EDUKACYJNA 2024, Listopad
Anonim
Moduł pomiaru mocy DIY dla Arduino
Moduł pomiaru mocy DIY dla Arduino
Moduł pomiaru mocy DIY dla Arduino
Moduł pomiaru mocy DIY dla Arduino
Moduł pomiaru mocy DIY dla Arduino
Moduł pomiaru mocy DIY dla Arduino

Witam wszystkich, mam nadzieję, że świetnie sobie radzicie! W tej instrukcji pokażę, jak zrobiłem ten moduł miernika mocy / watomierza do użytku z płytą Arduino. Ten miernik mocy może obliczyć pobór mocy i obciążenie DC. Wraz z zasilaniem moduł ten może nam również dać dokładne odczyty napięcia i prądu. Z łatwością mierzy niskie napięcia (około 2 V) i niskie prądy, nawet 50 mA z błędem nie większym niż 20 mA. Dokładność zależy od wyboru komponentów w oparciu o Twoje wymagania.

Kieszonkowe dzieci

  • IC LM358 podwójny wzmacniacz operacyjny
  • 8-pinowa podstawa IC
  • Rezystor bocznikowy (8,6 miliomów w moim przypadku)
  • Rezystory: 100K, 10K, 2.2K, 1K (1/2 wat)
  • Kondensatory: kondensatory ceramiczne 3*0,1 uF;
  • Veroboard lub zero board
  • Zaciski śrubowe
  • Lutownica i lut
  • Arduino Uno lub dowolna inna kompatybilna płyta
  • Wyświetlacz OLED
  • Podłączanie przewodów typu breadbard

Krok 1: Zbieranie wymaganych komponentów

Zbieranie wymaganych komponentów
Zbieranie wymaganych komponentów

Ten projekt wykorzystuje bardzo proste i łatwe do zdobycia komponenty: są to rezystory, kondensatory ceramiczne, wzmacniacz operacyjny i veroboard do prototypowania.

Wybór i wartość komponentów zależą od rodzaju zastosowania i zakresu mocy, którą chcesz zmierzyć.

Krok 2: Zasada działania

Zasada działania
Zasada działania
Zasada działania
Zasada działania
Zasada działania
Zasada działania
Zasada działania
Zasada działania

Działanie modułu mocy opiera się na dwóch koncepcjach teorii obwodów i podstawowej elektryczności: koncepcji dzielnika napięcia do pomiaru napięcia wejściowego oraz prawa Ohma do obliczania prądu płynącego przez obwód. Używamy rezystora bocznikowego, aby wytworzyć na nim bardzo mały spadek napięcia. Ten spadek napięcia jest proporcjonalny do natężenia prądu przepływającego przez bocznik. To małe napięcie wzmocnione przez wzmacniacz operacyjny może być wykorzystane jako wejście do mikrokontrolera, który można zaprogramować tak, aby dawał nam wartość prądu. Wzmacniacz operacyjny jest używany jako wzmacniacz nieodwracający, gdzie wzmocnienie jest określane przez wartości sprzężenia zwrotnego rezystor R2 i R1. Użycie konfiguracji nieodwracającej pozwala nam mieć wspólną masę jako odniesienie pomiarowe. W tym celu prąd jest mierzony po niskiej stronie obwodu. Dla mojej aplikacji wybrałem wzmocnienie 46, używając rezystora 100K i 2,2K jako sieci sprzężenia zwrotnego. Pomiar napięcia odbywa się za pomocą układu dzielnika napięcia, który dzieli napięcie wejściowe proporcjonalnie do zastosowanej sieci rezystorów.

Zarówno wartość prądu ze wzmacniacza OP, jak i wartość napięcia z sieci dzielnika można podać na dwa wejścia analogowe arduino, dzięki czemu możemy obliczyć moc pobieraną przez obciążenie.

Krok 3: Łączenie części

Łączenie części razem…
Łączenie części razem…
Łączenie części razem…
Łączenie części razem…
Łączenie części razem…
Łączenie części razem…

Budowę naszego modułu mocy zacznijmy od ustalenia położenia zacisków śrubowych do podłączenia wejścia i wyjścia. Po zaznaczeniu odpowiednich pozycji lutujemy zaciski śrubowe i rezystor bocznikowy na miejsce.

Krok 4: Dodawanie części do sieci wykrywania napięcia

Dodawanie części do sieci wykrywania napięcia
Dodawanie części do sieci wykrywania napięcia
Dodawanie części do sieci wykrywania napięcia
Dodawanie części do sieci wykrywania napięcia
Dodawanie części do sieci wykrywania napięcia
Dodawanie części do sieci wykrywania napięcia

Do wykrywania napięcia wejściowego używam sieci dzielnika napięcia 10K i 1K. Dodałem również kondensator 0,1 uF na rezystorze 1K, aby wygładzić napięcia. Sieć czujnika napięcia jest przylutowana w pobliżu zacisku wejściowego

Krok 5: Dodawanie części do bieżącej sieci wykrywania

Dodawanie części do bieżącej sieci wykrywania
Dodawanie części do bieżącej sieci wykrywania
Dodawanie części do bieżącej sieci wykrywania
Dodawanie części do bieżącej sieci wykrywania
Dodawanie części do bieżącej sieci wykrywania
Dodawanie części do bieżącej sieci wykrywania
Dodawanie części do bieżącej sieci wykrywania
Dodawanie części do bieżącej sieci wykrywania

Prąd jest mierzony poprzez obliczenie i wzmocnienie spadku napięcia na rezystorze bocznikowym z predefiniowanym wzmocnieniem ustawionym przez sieć rezystorów. Wykorzystywany jest nieodwracający tryb wzmocnienia. Pożądane jest, aby ślady lutowania były małe, aby uniknąć niepożądanego spadku napięcia.

Krok 6: Zakończenie pozostałych połączeń i zakończenie kompilacji

Ukończenie pozostałych połączeń i dokończenie kompilacji…
Ukończenie pozostałych połączeń i dokończenie kompilacji…
Ukończenie pozostałych połączeń i dokończenie kompilacji…
Ukończenie pozostałych połączeń i dokończenie kompilacji…
Ukończenie pozostałych połączeń i dokończenie kompilacji…
Ukończenie pozostałych połączeń i dokończenie kompilacji…

Po podłączeniu i lutowaniu sieci wykrywania napięcia i prądu nadszedł czas, aby przylutować męskie styki złącza i wykonać niezbędne połączenia wyjść zasilania i sygnału. Moduł będzie zasilany standardowym napięciem roboczym 5 V, które bez problemu możemy uzyskać z płytki arduino. Dwa wyjścia czujnika napięcia zostaną podłączone do wejść analogowych arduino.

Krok 7: Podłączanie modułu do Arduino

Łączenie modułu z Arduino
Łączenie modułu z Arduino
Łączenie modułu z Arduino
Łączenie modułu z Arduino
Łączenie modułu z Arduino
Łączenie modułu z Arduino
Łączenie modułu z Arduino
Łączenie modułu z Arduino

Gdy moduł jest gotowy, nadszedł czas, aby połączyć go z Arduino i uruchomić. Aby zobaczyć wartości, użyłem wyświetlacza OLED, który używał protokołu I2C do komunikacji z arduino. Parametry wyświetlane na ekranie to napięcie, prąd i moc.

Krok 8: Kod projektu i schemat obwodu

Kod projektu i schemat obwodu
Kod projektu i schemat obwodu

W tym kroku załączyłem schemat i kod modułu zasilania (wcześniej załączałem plik.ino i.txt zawierający kod, ale jakiś błąd serwera spowodował, że kod był niedostępny lub nieczytelny dla użytkowników, więc napisałem całość kod w tym kroku. Wiem, że to nie jest dobry sposób na udostępnienie kodu:(). Zapraszam do modyfikowania tego kodu zgodnie z własnymi wymaganiami. Mam nadzieję, że ten projekt był dla Ciebie pomocny. Proszę podzielić się swoją opinią w komentarzach. Pozdrawiam!

#włączać

#włączać

#włączać

#włączać

#define OLED_RESET 4 Wyświetlacz Adafruit_SSD1306(OLED_RESET);

wartość pływaka=0;

prąd pływaka=0;

napięcie pływaka=0;

moc pływaka=0;

pusta konfiguracja () {

pinMode(A0, WEJŚCIE);

pinMode(A1, WEJŚCIE);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // zainicjuj z adresem I2C 0x3C (dla 128x32) display.display();

opóźnienie (2000);

// Wyczyść bufor.

display.clearDisplay();

display.setTextSize(1);

display.setCursor(0, 0);

display.setTextColor (BIAŁY);

Serial.początek(9600); // Aby zobaczyć wartości na monitorze szeregowym

}

pusta pętla () {

// pobranie średniej dla stabilnych odczytów

for(int i=0;i<20;i++) {

prąd=prąd + odczyt analogowy(A0);

napięcie=napięcie + odczyt analogowy (A1); }

obecny=(bieżący/20); prąd=bieżący * 0,0123 * 5,0; // wartość kalibracji, do zmiany w zależności od użytych komponentów

napięcie=(napięcie/20); napięcie=napięcie* 0,0508 * 5,0; // wartość kalibracji, do zmiany w zależności od użytych komponentów

moc = napięcie * prąd;

//drukowanie wartości na monitorze szeregowym

Serial.print(napięcie);

Serial.print(" ");

Serial.print(bieżący);

Serial.print(" ");

Serial.println(moc);

// drukowanie wartości na wyświetlaczu OLED

display.setCursor(0, 0);

display.print("Napięcie: ");

display.print(napięcie);

display.println(" V");

display.setCursor(0, 10);

display.print("Bieżący: ");

display.print(bieżący);

display.println("A");

display.setCursor(0, 20);

display.print("Moc: ");

display.print(moc);

display.println(" W");

display.display();

opóźnienie (500); // częstotliwość odświeżania ustawiona przez opóźnienie

display.clearDisplay();

}

Zalecana: