Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Sammeln der erforderlichen Komponenten
- Schritt 2: Das Arbeitsprinzip
- Schritt 3: Zusammenbringen der Teile
- Schritt 4: Hinzufügen der Teile für das Spannungserfassungsnetzwerk
- Schritt 5: Hinzufügen der Teile für das Current Sense-Netzwerk
- Schritt 6: Vervollständigen der verbleibenden Verbindungen und Beenden des Builds
- Schritt 7: Verbinden des Moduls mit Arduino
- Schritt 8: Projektcode und Schaltplan
- Schritt 9: Tutorial-Video
Video: DIY Leistungsmessmodul für Arduino - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Hallo zusammen, ich hoffe euch geht es gut! In diesem anweisbaren werde ich Ihnen zeigen, wie ich dieses Leistungsmesser / Wattmeter-Modul für die Verwendung mit einem Arduino-Board gemacht habe. Dieser Leistungsmesser kann die von der DC-Last verbrauchte Leistung berechnen. Neben der Leistung kann dieses Modul uns auch genaue Werte von Spannung und Strom liefern. Es kann problemlos niedrige Spannungen (ca. 2 V) und niedrige Ströme bis zu 50 mA mit einem Fehler von nicht mehr als 20 mA messen. Die Genauigkeit hängt von der Wahl der Komponenten nach Ihren Anforderungen ab.
Lieferungen
- IC LM358 dualer OP-AMP
- 8-poliger IC-Sockel
- Shunt-Widerstand (8,6 MilliOhm in meinem Fall)
- Widerstände: 100K, 10K, 2,2K, 1K (1/2 Watt)
- Kondensatoren: 3 * 0,1uF Keramikkondensatoren
- Veroboard oder Zeroboard
- Schraubklemmen
- Lötkolben und Lot
- Arduino Uno oder ein anderes kompatibles Board
- OLED-Display
- Steckverbindungsdrähte anschließen
Schritt 1: Sammeln der erforderlichen Komponenten
Dieses Projekt verwendet sehr einfache und leicht zu beschaffende Komponenten: Sie umfassen Widerstände, Keramikkondensatoren, Operationsverstärker und ein Veroboard für das Prototyping.
Die Auswahl und der Wert der Komponenten hängen von der Art der Anwendung und dem Leistungsbereich ab, den Sie messen möchten.
Schritt 2: Das Arbeitsprinzip
Die Funktionsweise des Leistungsmoduls basiert auf zwei Konzepten der Schaltungstheorie und der Grundelektrik: Das Spannungsteilerkonzept zur Messung der Eingangsspannung und das Ohmsche Gesetz zur Berechnung des durch den Stromkreis fließenden Stroms. Wir verwenden einen Shunt-Widerstand, um einen sehr kleinen Spannungsabfall darüber zu erzeugen. Dieser Spannungsabfall ist proportional zur Strommenge, die durch den Shunt fließt. Diese kleine Spannung, wenn sie von einem Operationsverstärker verstärkt wird, kann als Eingang für einen Mikrocontroller verwendet werden, der so programmiert werden kann, dass er uns den Stromwert liefert. Der Operationsverstärker wird als nicht invertierender Verstärker verwendet, bei dem die Verstärkung durch die Werte der Rückkopplung bestimmt wird Widerstand R2 und R1. Die Verwendung der nicht invertierenden Konfiguration ermöglicht es uns, eine gemeinsame Masse als Messreferenz zu haben. Dazu wird der Strom auf der Low-Side der Schaltung gemessen. Für meine Anwendung habe ich eine Verstärkung von 46 gewählt, indem ich 100K- und 2,2K-Widerstände als Rückkopplungsnetzwerk verwendet habe. Die Spannungsmessung erfolgt über eine Spannungsteilerschaltung, die die Eingangsspannung proportional zum verwendeten Widerstandsnetzwerk teilt.
Sowohl der Stromwert vom OP-Amp als auch der Spannungswert vom Teilernetzwerk können in zwei analoge Eingänge des Arduino eingespeist werden, damit wir die von einer Last aufgenommene Leistung berechnen können.
Schritt 3: Zusammenbringen der Teile
Beginnen wir mit der Konstruktion unseres Leistungsmoduls, indem wir die Position der Schraubklemmen für den Ein- und Ausgangsanschluss festlegen. Nachdem wir die entsprechenden Positionen markiert haben, verlöten wir die Schraubklemmen und den Shunt-Widerstand.
Schritt 4: Hinzufügen der Teile für das Spannungserfassungsnetzwerk
Für die Eingangsspannungsmessung verwende ich ein Spannungsteilernetzwerk von 10K und 1K. Ich habe auch einen 0,1-uF-Kondensator über den 1K-Widerstand hinzugefügt, um die Spannungen zu glätten. Das Spannungsmessnetzwerk ist in der Nähe des Eingangsanschlusses gelötet
Schritt 5: Hinzufügen der Teile für das Current Sense-Netzwerk
Der Strom wird gemessen, indem der Spannungsabfall am Shunt-Widerstand berechnet und mit einer vordefinierten Verstärkung, die durch das Widerstandsnetzwerk eingestellt wird, verstärkt wird. Der nicht invertierende Verstärkungsmodus wird verwendet. Es ist wünschenswert, die Lötspuren klein zu halten, um einen unerwünschten Spannungsabfall zu vermeiden.
Schritt 6: Vervollständigen der verbleibenden Verbindungen und Beenden des Builds
Wenn die Spannungs- und Strommessnetzwerke angeschlossen und verlötet sind, ist es an der Zeit, die Stiftleistenstifte zu verlöten und die erforderlichen Verbindungen der Strom- und Signalausgänge herzustellen. Das Modul wird mit der Standardbetriebsspannung von 5 Volt betrieben, die wir problemlos von einem Arduino-Board erhalten können. Die beiden Spannungsmessausgänge werden mit den analogen Eingängen des Arduino verbunden.
Schritt 7: Verbinden des Moduls mit Arduino
Nachdem das Modul fertig ist, ist es nun endlich an der Zeit, es mit einem Arduino zu verbinden und zum Laufen zu bringen. Um die Werte zu sehen, habe ich ein OLED-Display verwendet, das das I2C-Protokoll verwendet, um mit dem Arduino zu kommunizieren. Die auf dem Bildschirm angezeigten Parameter sind Spannung, Strom und Leistung.
Schritt 8: Projektcode und Schaltplan
Ich habe den Schaltplan und den Code des Leistungsmoduls in diesem Schritt angehängt (Zuvor hatte ich die.ino- und.txt-Datei mit dem Code angehängt, aber ein Serverfehler führte dazu, dass der Code für Benutzer unzugänglich oder unlesbar war, also habe ich das gesamte geschrieben Code in diesem Schritt. Ich weiß, dass dies keine gute Möglichkeit ist, den Code zu teilen:(). Fühlen Sie sich frei, diesen Code gemäß Ihren Anforderungen zu ändern. Ich hoffe, dieses Projekt war hilfreich für Sie. Bitte teilen Sie Ihr Feedback in den Kommentaren mit. Prost!
#enthalten
#enthalten
#enthalten
#enthalten
#define OLED_RESET 4 Adafruit_SSD1306-Anzeige (OLED_RESET);
Schwimmerwert = 0;
Schwimmerstrom = 0;
Schwebespannung = 0;
Schwimmerleistung = 0;
Leere Einrichtung () {
PinMode (A0, EINGANG);
PinMode (A1, EINGANG);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // mit der I2C-Adresse 0x3C (für die 128x32) initialisieren display.display();
Verzögerung (2000);
// Löschen Sie den Puffer.
display.clearDisplay();
display.setTextSize(1);
display.setCursor(0, 0);
display.setTextColor (WEISS);
Serial.begin (9600); // Um die Werte auf dem seriellen Monitor zu sehen
}
Leere Schleife () {
// Mittelwertbildung für stabile Messwerte
for(int i=0;i<20;i++) {
Strom = Strom + analogRead (A0);
Spannung = Spannung + analogRead (A1); }
aktuell = (aktuell/20); Strom = Strom * 0,0123 * 5,0; // Kalibrierwert, je nach verwendeten Komponenten zu ändern
Spannung = (Spannung/20); Spannung = Spannung * 0,0508 * 5,0; // Kalibrierwert, je nach verwendeten Komponenten zu ändern
Leistung = Spannung * Strom;
// die Werte auf dem seriellen Monitor drucken
Serial.print (Spannung);
Serial.print (" ");
Serial.print (aktuell);
Serial.print (" ");
Serial.println (Leistung);
// Drucken der Werte auf dem OLED-Display
display.setCursor(0, 0);
display.print("Spannung:");
display.print (Spannung);
display.println("V");
display.setCursor(0, 10);
display.print("Aktuell:");
display.print (aktuell);
display.println(" A");
display.setCursor(0, 20);
display.print("Leistung:");
display.print (Leistung);
display.println(" W");
display.display();
Verzögerung (500); // Bildwiederholrate durch die Verzögerung eingestellt
display.clearDisplay();
}
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
DIY IoT-Lampe für die Hausautomation -- ESP8266-Tutorial: 13 Schritte (mit Bildern)
DIY IoT-Lampe für die Hausautomation || ESP8266-Tutorial: In diesem Tutorial werden wir eine mit dem Internet verbundene intelligente Lampe erstellen. Dies wird tief in das Internet der Dinge eintauchen und eine Welt der Heimautomatisierung eröffnen! Die Lampe ist über WLAN verbunden und verfügt über ein offenes Nachrichtenprotokoll. Das heißt, Sie können wählen
So erstellen Sie einen Tiefpassfilter für einen Subwoofer mit dem NE5532-IC - DIY (ELECTROINDIA): 4 Schritte
So erstellen Sie einen Tiefpassfilter für einen Subwoofer mit dem NE5532-IC | DIY (ELECTROINDIA): In diesem Projekt zeige ich Ihnen, wie Sie einen Tiefpassfilter für Subwoofer herstellen können. Los geht's
DIY Dock für Telefon, Pda & Zubehör: 8 Schritte
DIY Dock für Telefon, Pda & Zubehör: Wiederverwendung gefundener oder veralteter Gegenstände zum Andocken von Telefon, PDA & Zubehör in einem ordentlichen kleinen Desktop-Paket. Ich weiß, dass dies eine wirklich einfache Anleitung ist, aber ich wollte es posten, nachdem ich eine Liste hässlicher, komplexer oder unpraktischer "Lösungen" gesehen hatte