Inhoudsopgave:
- Benodigdheden
- Stap 1: Verzamelen van de benodigde componenten
- Stap 2: Het werkingsprincipe
- Stap 3: De onderdelen bij elkaar brengen
- Stap 4: De onderdelen voor het Voltage Sense-netwerk toevoegen
- Stap 5: De onderdelen voor het Current Sense Network toevoegen
- Stap 6: Voltooiing van de resterende verbindingen en voltooiing van de build
- Stap 7: De module aansluiten met Arduino
- Stap 8: Projectcode en schakelschema
- Stap 9: instructievideo
Video: DIY-vermogensmeetmodule voor Arduino - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Hallo allemaal, ik hoop dat het goed met jullie gaat! In deze instructable laat ik je zien hoe ik deze Power meter/Wattmeter-module heb gemaakt voor gebruik met een Arduino-bord. Deze vermogensmeter kan het verbruikte vermogen en de DC-belasting berekenen. Naast vermogen kan deze module ons ook nauwkeurige metingen van spanning en stroom geven. Het kan gemakkelijk lage spanningen (ongeveer 2V) en lage stromen meten, zo laag als 50 mA met een fout van niet meer dan 20mA. De nauwkeurigheid hangt af van de keuze van de componenten op basis van uw vereisten.
Benodigdheden
- IC LM358 dubbele OP-AMP
- 8-pins IC-basis
- Shuntweerstand (8,6 milliOhm in mijn geval)
- Weerstanden: 100K, 10K, 2,2K, 1K (1/2watt)
- Condensatoren: 3 * 0.1uF keramische condensatoren;
- Veroboard of nulbord
- Schroefklemmen
- Soldeerbout en soldeer
- Arduino Uno of een ander compatibel bord
- OLED-scherm
- Breadbard-draden aansluiten
Stap 1: Verzamelen van de benodigde componenten
Dit project maakt gebruik van zeer eenvoudige en gemakkelijk te verkrijgen componenten: ze omvatten weerstanden, keramische condensatoren, operationele versterker en een veroboard voor prototyping.
De keuze en waarde van componenten hangt af van het type toepassing en het bereik van het vermogen dat u wilt meten.
Stap 2: Het werkingsprincipe
De werking van de vermogensmodule is gebaseerd op twee concepten van circuittheorie en basiselektriciteit: het spanningsdelerconcept voor het meten van de ingangsspanning en de wet van Ohm om de stroom die door het circuit vloeit te berekenen. We gebruiken een shuntweerstand om er een zeer kleine spanningsval over te creëren. Deze spanningsval is evenredig met de hoeveelheid stroom die door de shunt vloeit. Deze kleine spanning, wanneer versterkt door een operationele versterker, kan worden gebruikt als invoer voor een microcontroller die kan worden geprogrammeerd om ons de huidige waarde te geven. De operationele versterker wordt gebruikt als een niet-inverterende versterker waarbij de versterking wordt bepaald door de waarden van de feedback weerstand R2 en R1. Door de niet-inverterende configuratie te gebruiken, hebben we een gemeenschappelijke basis als meetreferentie. Hiervoor wordt de stroom gemeten aan de lage kant van de schakeling. Voor mijn toepassing heb ik een versterking van 46 gekozen door 100K en 2.2K weerstand als feedbacknetwerk te gebruiken. De spanningsmeting wordt gedaan met behulp van een spanningsdelerschakeling die de ingangsspanning verdeelt in verhouding tot het gebruikte weerstandsnetwerk.
Zowel de huidige waarde van de OP-Amp als de spanningswaarde van het scheidingsnetwerk kunnen in twee analoge ingangen van de arduino worden ingevoerd, zodat we het door een belasting verbruikte vermogen kunnen berekenen.
Stap 3: De onderdelen bij elkaar brengen
Laten we beginnen met de constructie van onze voedingsmodule door de positie van de schroefklemmen voor de ingangs- en uitgangsaansluiting te bepalen. Na het markeren van de juiste posities solderen we de schroefklemmen en de shuntweerstand op hun plaats.
Stap 4: De onderdelen voor het Voltage Sense-netwerk toevoegen
Voor ingangsspanningsdetectie gebruik ik een spanningsdelernetwerk van 10K en 1K. Ik heb ook een condensator van 0,1 uF over de 1K-weerstand toegevoegd om de spanningen af te vlakken. Het spanningsdetectienetwerk is gesoldeerd in de buurt van de ingangsklem
Stap 5: De onderdelen voor het Current Sense Network toevoegen
De stroom wordt gemeten door de spanningsval over de shuntweerstand te berekenen en te versterken met een vooraf gedefinieerde versterking die is ingesteld door het weerstandsnetwerk. Er wordt een niet-inverterende versterkingsmodus gebruikt. Het is wenselijk om de soldeersporen klein te houden om een ongewenste spanningsval te voorkomen.
Stap 6: Voltooiing van de resterende verbindingen en voltooiing van de build
Met de spannings- en stroomdetectienetwerken aangesloten en gesoldeerd, is het tijd om de mannelijke header-pinnen te solderen en de nodige aansluitingen van stroom- en signaaluitgangen te maken. De module wordt gevoed door de standaard bedrijfsspanning van 5 volt die we gemakkelijk van een arduino-bord kunnen krijgen. De twee spanningsdetectie-uitgangen worden verbonden met de analoge ingangen van de arduino.
Stap 7: De module aansluiten met Arduino
Nu de module compleet is, is het nu eindelijk tijd om hem te verbinden met een Arduino en hem aan de gang te krijgen. Om de waarden te zien, heb ik een OLED-display gebruikt dat het I2C-protocol gebruikte om met de Arduino te communiceren. De parameters die op het scherm worden weergegeven zijn Spanning, Stroom en Vermogen.
Stap 8: Projectcode en schakelschema
Ik heb het schakelschema en de code van de voedingsmodule in deze stap bijgevoegd (voorheen had ik het.ino- en.txt-bestand met de code bijgevoegd, maar door een serverfout was de code ontoegankelijk of onleesbaar voor gebruikers, dus ik schreef de hele code in deze stap. Ik weet dat dit geen goede manier is om de code te delen:(). Voel je vrij om deze code aan te passen aan je vereisten. Ik hoop dat dit project nuttig voor je was. Deel uw feedback in de opmerkingen. Proost!
#erbij betrekken
#erbij betrekken
#erbij betrekken
#erbij betrekken
#define OLED_RESET 4 Adafruit_SSD1306 display (OLED_RESET);
vlotterwaarde=0;
vlotterstroom = 0;
vlotterspanning = 0;
drijfvermogen = 0;
ongeldige setup() {
pinMode (A0, INGANG);
pinMode (A1, INGANG);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialiseer met de I2C-adr 0x3C (voor de 128x32) display.display();
vertraging (2000);
// Wis de buffer.
display.clearDisplay();
display.setTextSize(1);
display.setCursor(0, 0);
display.setTextColor(WIT);
Serieel.begin(9600); // Om de waarden op de seriële monitor te zien
}
lege lus() {
// het gemiddelde nemen voor stabiele metingen
for(int i=0;i<20;i++) {
huidige = huidige + analoog lezen (A0);
spanning = spanning + analoog lezen (A1); }
huidige=(huidige/20); stroom=stroom * 0,0123 * 5,0; // kalibratiewaarde, te wijzigen volgens gebruikte componenten
spanning=(spanning/20); spanning=spanning* 0,0508 * 5,0; // kalibratiewaarde, te wijzigen volgens gebruikte componenten
vermogen = spanning * stroom;
// afdrukken van de waarden op de seriële monitor
Seriële.afdruk (spanning);
Serieel.print(" ");
Serial.print (huidig);
Serieel.print(" ");
Seriële.println(stroom);
// afdrukken van de waarden op het OLED-display
display.setCursor(0, 0);
display.print("Spanning: ");
display.print(spanning);
display.println ("V");
display.setCursor(0, 10);
display.print("Huidige: ");
display.print(huidig);
display.println ("A");
display.setCursor(0, 20);
display.print("Power: ");
display.print(kracht);
display.println(" W");
weergave.weergave();
vertraging (500); // verversingssnelheid ingesteld door de vertraging
display.clearDisplay();
}
Aanbevolen:
Installatie voor externe Bluetooth GPS-provider voor Android-apparaten: 8 stappen
Installatie voor externe Bluetooth GPS-provider voor Android-apparaten: deze instructable legt uit hoe u uw eigen externe Bluetooth-compatibele GPS voor uw telefoon kunt maken, wat dan ook voor ongeveer $ 10. Materiaallijst: NEO 6M U-blox GPSHC-05 bluetooth-module Kennis van interface Blutooth Low energy-modulesArdui
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
Systeem voor het bewaken van de luchtkwaliteit voor fijnstofverontreiniging: 4 stappen
Systeem voor monitoring van luchtkwaliteit voor fijnstofverontreiniging: INTRO: 1 In dit project laat ik zien hoe ik een deeltjesdetector bouw met dataweergave, databack-up op SD-kaart en IOT. Visueel geeft een neopixels ringdisplay de luchtkwaliteit aan. 2 Luchtkwaliteit is een steeds belangrijker zorg t
Relaisbord voor Arduino voor minder dan $8: 5 stappen
Relaisbord voor Arduino voor minder dan $8.: Hallo vrienden, vandaag ga ik je vertellen hoe je een relaisbord voor Arduino maakt voor minder dan $8. In dit circuit gaan we geen IC of transistor gebruiken. Dus laten we het doen
3.3V Mod voor ultrasone sensoren (bereid HC-SR04 voor 3.3V Logic op ESP32/ESP8266, Particle Photon, enz.): 4 stappen
3.3V Mod voor ultrasone sensoren (bereid HC-SR04 voor 3.3V Logic op ESP32/ESP8266, Particle Photon, enz.): TL;DR: Knip op de sensor het spoor naar de Echo-pin en sluit het opnieuw aan met een spanningsdeler (Echo trace -> 2.7kΩ -> Echo pin -> 4.7kΩ -> GND). Bewerken: Er is enige discussie geweest over de vraag of de ESP8266 daadwerkelijk 5V-tolerant is op GPIO in