Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Die Schaltpläne
- Schritt 2: Die Code- und Widerstandsberechnungen
- Schritt 3: Lassen Sie es uns testen
Video: Arduino präzises und genaues Voltmeter (0-90V DC) - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
In diesem anweisbaren habe ich ein Voltmeter gebaut, um hohe Spannungen DC (0-90 V) mit relativer Präzision und Genauigkeit mit einem Arduino Nano zu messen.
Die von mir durchgeführten Testmessungen waren genau genug, meistens innerhalb von 0,3 V der tatsächlichen Spannung, die mit einem Standardvoltmeter gemessen wurde (ich habe ein Astro AI DM6000AR verwendet). Dies ist nahe genug für meine beabsichtigte Verwendung des Geräts.
Um dies zu archivieren, habe ich eine Spannungsreferenz (4.096v) und einen Spannungsteiler verwendet.
Codeseitig habe ich natürlich die Option "externe Referenz" für den Arduino Nano und das Beispiel "Smoothing" in den Arduino-Tutorials verwendet.
Lieferungen
1 x Arduino Nano - Link
1 x Oled-Display (SSD 1306) - Link
1 x 1/4W 1% Widerstände - 1k Ohm - Link
1 x 1/4W 1% Widerstände - 220k Ohm - Link
1 x 1/4W 1% Widerstände - 10k Ohm - Link
1 x 4.096v LM4040DIZ-4.1 Spannungsreferenz - Link
Steckbrett und Drähte - Link
Astro AI DM6000AR - Link
USB-Powerbank - Link
9V Batterien - Link
CanadianWinters ist Teilnehmer am Amazon Services LLC Associates-Programm, einem Partner-Werbeprogramm, das Websites die Möglichkeit bietet, Gebühren durch Verlinkung zu Amazon.com und verbundenen Websites zu verdienen. Durch die Verwendung dieser Links verdiene ich als Amazon-Partner an qualifizierten Käufen, auch wenn Sie etwas anderes kaufen – und es kostet Sie nichts.
Schritt 1: Die Schaltpläne
Ich habe alle Teile gemäß den obigen Schaltplänen angeschlossen. Insbesondere habe ich die Spannungsreferenz von 4.096 gewählt, um so nah wie möglich an der 5-V-Marke zu bleiben, um einen Verlust an Auflösung zu vermeiden.
Nach dem Datenblatt habe ich einen 1K Ohm Widerstand für die Spannungsreferenz gewählt, obwohl ein anderer Wert verwendet werden könnte. Die Spannung für die Referenz wird vom Nano 5v Pin geliefert.
Die Idee der Schaltung besteht darin, dass die zu messende Gleichspannung durch einen Spannungswiderstand geht. Die skalierte Spannung gelangt dann in den analogen Pin des Arduino, um abgetastet, geglättet, neu skaliert und auf dem OLed-Display angezeigt zu werden.
Ich habe versucht, die Dinge einfach zu halten:)
Schritt 2: Die Code- und Widerstandsberechnungen
Die Widerstandswerte wurden so gewählt, dass es ratsam ist (wenn ich mich nicht irre, steht dies auf dem Arduino / Atmega-Datenblatt), um die Impedanz unter 10 k Ohm zu halten.
Zur Vereinfachung habe ich eine Tabelle erstellt, die die Berechnungen automatisiert, falls Sie unterschiedliche Widerstandswerte verwenden möchten: Link zu Google Sheet
Hier ist der Code, den ich für dieses Projekt verwendet habe:
#enthalten
#include U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0); // (Rotation, [Reset]) Float-Spannung = 0; // zum Speichern des Spannungswerts Float Radjust = 0.043459459; // Spannungsteilerfaktor (R2 / R1 + R2) float vbat = 0; // Endspannung nach Calcs- Spannung des Batterieschwimmers Vref = 4.113; // Spannungsreferenz - Realwert gemessen. Nominalwert 4,096 V const int numReadings = 50; // Anzahl der Leseproben - für mehr Glättung erhöhen. Zum schnelleren Lesen verringern. int Messwerte[numReadings]; // die Messwerte vom analogen Eingang int readIndex = 0; // der Index des aktuellen Lesevorgangs unsigned long total = 0; // die laufende Summe int Average = 0; // Variablen zum Aktualisieren des Bildschirms ohne Verzögerung unsigned long previousMillis = 0; // speichert die letzte Aktualisierung des Bildschirms // Konstanten ändern sich nicht: const long interval = 50; // Intervall, in dem der Bildschirm aktualisiert werden soll (Millisekunden) Void setup (void) { analogReference (EXTERNAL); // AREF für Referenzspannung 4.096 verwenden. Meine reale Referenzspannung beträgt 4,113 V u8g2.begin (); for (int thisReading = 0; thisReading = numReadings) { // …umbruch zum Anfang: readIndex = 0; } // den Durchschnitt berechnen: Average = (total / numReadings); Spannung = Durchschnitt * (Vref / 1023.0); // 4,113 ist die Vref vbat = Spannung / Radjust; // Einstellen der Verzögerung für die Bildschirmaktualisierung mit Millis if (currentMillis - previousMillis >= interval) { // Speichern der letzten Aktualisierung des Bildschirms previousMillis = currentMillis; u8g2.clearBuffer(); // lösche das interne Menü // Packspannungsanzeige u8g2.setFont (u8g2_font_fub20_tr); // 20px-Schriftart u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont(u8g2_font_8x13B_mr); // 10 px Schriftart u8g2.setCursor (76, 20); u8g2.print("Volt"); u8g2.setCursor (1, 40); u8g2.print("CanadianWinters'"); u8g2.setCursor (1, 60); u8g2.print("Präzise Spannung"); } u8g2.sendBuffer(); // internen Speicher auf die Anzeigeverzögerung übertragen (1); }
Bitte beachten Sie, dass ich mit der Arduino-Codierung etwas eingerostet bin. Wenn Sie also einen Fehler finden oder den Code verbessern können, bin ich für Vorschläge offen:)
Schritt 3: Lassen Sie es uns testen
Um dieses Voltmeter zu testen, habe ich 8x 9V-Batterien verwendet, die ich in einem lokalen Geschäft bekommen habe. Ich plane, dieses Voltmeter zu verwenden, um die Spannung an den Akkus meiner Elektrofahrräder zu messen (sie haben Spannungen von 24-60 V mit gelegentlichen 72 V).
Sobald die Elektronik in eine Leiterplatte und eine kleine Schachtel verpackt ist, wird dies ein schönes und tragbares Batteriemessgerät sein. Die Grafiken und Schriftarten auf dem OLED können an Ihre Bedürfnisse angepasst werden (z. B. größere Schriftart zum leichteren Lesen).
Mein Ziel war es, einen Spannungswert auf dem Oled / Arduino-Meter nicht zu weit von meinem Digital Multi Meter entfernt zu haben. Ich strebte +/-0, 3v max Delta an. Wie Sie aus dem Video sehen können, konnte ich dies außer am oberen Ende der Messungen archivieren.
Ich hoffe, Sie haben dieses Instructable genossen und lassen Sie mich Ihre Gedanken wissen!
Empfohlen:
Einen Arduino-Gitarren-Tuner herstellen – wikiHow
So bauen Sie einen Arduino-Gitarren-Tuner: Dies sind die Anweisungen, um einen Gitarren-Tuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen. Zuerst müssen Sie wissen, was die Materialien sind. Ma
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: 9 Schritte
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: Este proyecto consiste en a alarma básica que Detecta presencia, activa una sirena de 108dB y visa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
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