» Themen » Tipps »Meter-Clamp-Strom in einem weiten Bereich, Spannung und Temperatur

Weitbereichsstrom-, Spannungs- und Temperaturmesser

Termin:
Zum Messen und zeitlichen Fixieren langer Prozesse in Strom und Spannung im Flash-Speicher, z. B. Laden - Entladen von Batterien und Batterien. Es ist möglich, gleichzeitig die Temperatur festzulegen.

Eingangssignalparameter:
Strom I = 25mka - 2a
Spannung U = 0 - 5V
Temperatur t = -30 - + 120 gС
Die Zeit wird von der eingebauten Quarzuhr eingestellt

Ernährung:
von der Quelle 12v / 0,3a
Ich verbrauche <70ma

Konstruktion:
Das Messgerät ist auf zwei Modulen montiert Arduino Nano über das ModBus-Protokoll verbunden, siehe Abbildung. Ein Arduino ist auf einem Riser mit Klemmenblöcken montiert. Die Module sind über Steckverbinder verbunden. Die Drähte und die Module selbst sind gegen thermisch-kambrische Fehler isoliert.

Eingangssignale werden über Schraubklemmen eingespeist

Auf der Vorderseite befindet sich eine Flüssigkristallanzeige der gemessenen Parameter und LEDs, die das Umschalten eines Bereichs oder außerhalb des Bereichs anzeigen.

Das Messgerät ist in einem Gehäuse von 145 x 85 x 40 montiert.
Der Temperatursensor wird über den Stecker ausgeführt. Die Signalübertragung erfolgt über eine Zweidrahtleitung. Speisewiderstand im Stecker.

Zur Vereinfachung der Programmierung sind die Arduino USB-Anschlüsse extern.






Schema

Das Schema kann aus der Datei heruntergeladen werden Meter.rar

Zwei Arduino wurden aus zwei Gründen ausgewählt: Arduino Nano war verfügbar und nicht genug in einem Speicher, und es ist geplant, weitere Sensoren hinzuzufügen. Außerdem wollte ich die Arduino-Assoziation beherrschen, dafür wurde das ModBus-Netzwerkprotokoll ausgewählt. ModBus definiert einen Master-Prozessor - Master und mehrere Slaves - Slave. In dieser Arbeit gibt es einen Slave, auf dem Temperatur, Spannung und Strom gemessen werden. On Master - eine Uhr und ein Dateieintrag. Der Fleischspeicher muss kleiner als 4 GB sein und in FAT formatiert sein.

Da geplant war, Ströme von μA nach A zu messen, werden Ströme in 4 Bereichen gemessen (siehe Bereichstabelle). Der Arduino Slave überwacht den Übergang von einem Bereich zum anderen und bildet den entsprechenden Nebenschlusscode für den aktuell gemessenen Strom von M1-2. Wenn Sie sich dem Rand des Bereichs nähern, wird der nächste Bereich eingeschaltet, dh die aktuelle Taste wird von T1-1 --- T2-2 deaktiviert und der nächste wird eingeschaltet. In diesem Fall ist der maximale Shunt = 100 Ohm konstant eingeschaltet. Wenn der Wert im Bereich überschritten wird, leuchten die LEDs D8, D9.

Aufteilung der Strommessung in Bereiche
Uout_max = 5 V KusOU = 20 & Dgr; = Ish / 1024

Die Verstärkung des Operationsverstärkers M1-2 wird auf 20 gesetzt und ändert sich dann nicht. (Auf der Vorderseite ist es falsch montiert).
Die Spannung wird über einen Mitnehmer an der OU M1-1 gemessen.Die Eingangsschaltungen des Operationsverstärkers und des Arduino sind durch Dioden geschützt (Zenerdioden sind in Arduino, aber ich kenne die Parameter nicht, daher ist es besser, sie zu übertreiben).

LCD1602 ist als Anzeige ausgewählt. Es ist mit dem Arduino Master verbunden. Darüber hinaus kann die Anzeige durch einfaches Umschalten der Arduino-Anschlüsse mit beiden Arduino verbunden werden. (Wenn das Gerät ausgeschaltet ist.) Die Verbindung zum Arduino Slave wird mit einer gestrichelten Linie angezeigt (die beim Schreiben von Programmen verwendet wurde). Mit der Hauptverbindung (zum Master) auf dem LCD1602 können Sie 4 Bildschirme anzeigen, indem Sie den Schieberegler p1-p2 des Schiebeschalters umschalten.

Bildschirm 1: von oben die Serviceinformationen des Austauschs zwischen Arduino: C ist die Anzahl der Austausche zwischen Arduino, E ist die Anzahl der Fehler während des Austauschs der Sh-Nr. Des Shunts;
unterster Tag - Monatszeit.


Bildschirm 2: U1, I1, Shunt-Nr. (0,00 unten rechts)


Bildschirm 3: U2, Temperatur, (Standby)


Bildschirm 4: SD-Aufnahme aktiviert, Aufnahmezeit in Stunden, Zeilennummer in Datei,
00- Zustand des Strombereichs1 0-Normal 1-außerhalb des Bereichs, Zustand des Spannungsbereichs1, feste Leistung einer externen Quelle


Bei Anschluss an Slave - 2 Bildschirme. Der Schalter p3 ermöglicht die Aufnahme im Micro Flesh-Speicher.
Die Stromversorgung wird auf 12 V eingestellt, um lineare Eigenschaften des Operationsverstärkers zu erhalten (um Blockierungen an den Rändern des Bereichs zu vermeiden). Aus dem gleichen Grund wurde eine negative Spannung vom Former bei KR1006VI1 verwendet. Die Verwendung eines Arduino-Generators erzeugt eine weniger stabile Spannung. Um 5-V-Strom zu erzeugen, wurde ein Abwärtswandler verwendet. Sie können jedoch darauf verzichten, indem Sie die VIN-Arduino-Nano-Eingänge mit +12 V versorgen.
Gemeinsame Programmierung Arduino verfügt über Funktionen, da die Kommunikation mit dem Computer mit dem ModBus-Protokoll beschäftigt ist. Um eine Skizze in einen der Arduino zu laden, müssen Sie auf der anderen Seite das RST-Rücksetzsignal aktivieren. Verwenden Sie dazu die Jumper Block S, Block M. Oder halten Sie die Reset-Tasten an den Arduino-Modulen gedrückt, bis der Download abgeschlossen ist. Dies ist weniger praktisch und es besteht die Möglichkeit, dass der Download beschädigt wird. Da ich vorhabe, mein USB-Arduino-Gerät zu erweitern, habe ich das Gehäuse herausgezogen.

Der Transistor T5 (FR024N) soll zum Ein- und Ausschalten eines Prozesses verwendet werden, beispielsweise eines Lade- / Entladevorgangs einer Batterie. Während es nicht beteiligt ist.

Software.
Es wird maximal gekaut, dass Anfänger (und ich selbst) nicht weh tun und als Referenzmaterial dienen können, aber nicht behaupten, optimal zu sein.

Bibliotheken und Programmcodes befinden sich in der Datei Izmeritel PRO.rar.
Skizze für den Master ModBus_Master10_SD_T_10_2. Skizze für Slave ModBus-Slave10_T_UI_10_2. Der Rest der Bibliothek.
Programmiert in der Umgebung von Arduino1.6.0. Es enthält Bibliotheken SD, LiquidCrystal, Wire müssen nicht heruntergeladen werden.

Die Zeit in Stunden wird im Setup wie folgt eingestellt. Stellen Sie die Echtzeit ein und laden Sie die Skizze. Kommentieren Sie dann die Zeilen zum Einstellen von Datum und Uhrzeit aus und laden Sie die Skizze neu.

Das Ergebnis des Programms ist die Anzeige von Uhrzeit und Datum (Stunden), Strom, Spannung, Temperatur auf dem LCD1602 und die Aufzeichnung dieser Parameter in der Datei IZMER1.TXT im Micro Flesh-Speicher. Die Datei enthält eine Tabelle dieser Art:

0; 13.04.2019; 00:11:10; Zap (h) = 0,05; tc = 29,31; U1 = 1,71; I1 = 0,00; P1 = 0,00; U2 = 0,14; DiaI norma; DiaU norma; C = 762
1; 13.04.2019; 00:11:16; Zap (h) = 0,05; tc = 29,38; U1 = 1,79; I1 = 0,00; P1 = 0,00; U2 = 0,19; DiaI norma; DiaU norma; C = 788
2; 13.04.2019; 00:11:22; Zap (h) = 0,05; tc = 29,38; U1 = 1,54; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 813
3; 13.04.2019; 00:11:28; Zap (h) = 0,05; tc = 29,31; U1 = 1,30; I1 = 0,00; P1 = 0,00; U2 = 0,17; DiaI norma; DiaU norma; C = 839
4; 13.04.2019; 00:11:34; Zap (h) = 0,05; tc = 29,31; U1 = 1,90; I1 = 0,00; P1 = 0,00; U2 = 0,17; DiaI norma; DiaU norma; C = 864
5; 13.04.2019; 00:11:40; Zap (h) = 0,05; tc = 29,25; U1 = 1,53; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 890
6; 13.04.2019; 00:11:46; Zap (h) = 0,05; tc = 29,19; U1 = 2,03; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 915
7; 13.04.2019; 00:11:52; Zap (h) = 0,05; tc = 29,13; U1 = 1,81; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 941
8; 13.04.2019; 00:11:58; Zap (h) = 0,05; tc = 29,00; U1 = 1,30; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 966
9; 13.04.2019; 00:12:04; Zap (h) = 0,07; tc = 28,94; U1 = 1,25; I1 = 0,00; P1 = 0,00; U2 = 0,17; DiaI norma; DiaU norma; C = 992
10; 13.04.2019; 00:12:10; Zap (h) = 0,07; tc = 29,00; U1 = 1,85; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 1017
11; 13.04.2019; 00:12:16; Zap (h) = 0,07; tc = 29,00; U1 = 1,21; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 1043
12; 13.04.2019; 00:12:23; Zap (h) = 0,07; tc = 28,94; U1 = 1,55; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 1068
13; 13.04.2019; 00:12:29; Zap (h) = 0,07; tc = 28,88; U1 = 1,82; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 1094
14; 13.04.2019; 00:12:35; Zap (h) = 0,07; tc = 28,88; U1 = 1,30; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 1119

wo sich die Spalten befinden n / a; Datum Zeit Aufnahmezeit in Stunden; Temperatur gemessene Spannung U1; gemessener Strom I1; die zweite gemessene Spannung U2; Informationen über den Ausgang / das Fehlen des Messbereichs; Serviceinformationen zur Anzahl der Austausche zwischen Arduino.

Das Messaufzeichnungsintervall wurde für 6 Sekunden ausgewählt. Es kann leicht geändert werden, indem der Wert der Konstante #define CYCLE_TIME_F 3000 durch eine andere durch die Formel Tsec = Konstante (ms) * 2/1000 im Master ersetzt wird.
Weiterhin kann diese Tabelle in Form von schönen Grafiken dargestellt werden.



Beim Schreiben von Programmen habe ich Materialien verwendet. Ich bedanke mich beim Autor.

Geeignet für das Thema

Verwandte Themen

Kommentar hinzufügen

    • lächelnlächeltxaxaokweiß nichtYahoonea
      ChefKratzerDummkopfjaja-jaaggressivGeheimnis
      Entschuldigungtanzendance2Tanz3VerzeihungHilfeGetränke
      hör aufFreundegutgut gutpfeifenOhnmachtZunge
      RauchklatschenCrayerklärenspöttischdon-t_mentionherunterladen
      Hitzeärgerlichlach1mdaTreffenMoskingnegativ
      not_iPopcornbestrafenlesenerschreckenAngstSuche
      verspottendankedasto_clueumnikakutstimme zu
      schlechtbeeeblack_eyeblum3errötenprahlenLangeweile
      zensiertAngenehmheitsecret2drohenSiegyusun_bespectacled
      shokrespektlolvorgezogenWillkommenKrutoyya_za
      ya_dobryiHelferne_huliganne_othodiFludVerbotschließen
2 Kommentar
Seltsame Aufnahme von NE555 in den negativen Treiber. ((
Damit der Mäander auf das Feld gelangt, müssen Sie ihn mit dem IP-Ausgang verbinden.
Fit Arduino Es ist sicherlich ein nützliches Geschäft für die eigenen Bedürfnisse, aber kürzlich erworben, liegt der Preis der Emission unter 1 t.r.
UM24C-Spezifikationen
• Anzeige: 1,44 ", 128х128, Farbe, Betrachtungswinkel liegen nahe bei 180º
• Eingangsanschlüsse: USB Typ A-Stecker, Micro USB Typ B-Buchse
• Ausgangsanschluss: USB-Buchse Typ A.
• Spannung: 4,50-24,00 V.
• Stromstärke: 0-3.000A
• Auflösung der Spannungsanzeige: 0,01 V.
• Stromstärke der Auflösungsanzeige: 0,001A
• Genauigkeit der Spannungsmessung: ± (0,2% + 1 Stelle)
• aktuelle Messgenauigkeit: ± (0,8% + 3 Stellen)
• Qualcomm Quick Charge-Unterstützung: QC 2.0 und QC 3.0
• 10 Speicherzellen zum Speichern der gemessenen Kapazität und Energie
• Widerstandsmessfunktion für Micro-USB-Kabel
• Manuelle Auswahl der Messstartschwelle: 0,00-0,30A
• Anzeige von Temperatur, Widerstand der angeschlossenen Last, Leistung
• Anzeige von Spannungs- und Stromdiagrammen
• Spannungsanzeige auf Datenleitungen des USB-Anschlusses, aktuelle Betriebsart
• Bildschirm zum automatischen Ausschalten: 1-9 Minuten, aus
• Bildschirmhelligkeit: 0-5 (6 Stufen)
• Temperaturanzeige: in Grad Celsius oder Fahrenheit
• Online-Hilfe
• Bildschirmdrehung um 90º / 180º / 270º
• Drahtlose bidirektionale Bluetooth-Verbindung zu einem PC (SPP - Serial Port Profile)
lächeln

Wir empfehlen Ihnen zu lesen:

Gib es für das Smartphone ...