Strommessung mit analogen Eingängen des Arduino?

Hallo Arduino Leute,
ich habe ein Verständnisproblem und hoffe Ihr könnt mir helfen.

Ich bin im Besitz eines ATmega1280 mit einem Arduino-Mega-Board, damit möchte ich Strom messen.
Ich dachte da sofort an die analogen Eingänge, wobei 15 Eingänge existieren, ich aber anscheinend zwei zum Messen brauche (also nur ca 6 verschiedene Messungen machen kann)?

Was mir aber noch viel mehr Probleme bereitet ist, dass ich nicht weiss, mit wieviel mA ich die analogen Eingänge belasten darf.

Da ich bei meinen Messungen von bis zu 400 mA messen muss, was sowieso für n direkten Anschluss an ein IC-Beinchen bestimmt tödlich ist, wollte ich fragen wie man da ran gehen kann an die Sache.

Ich habe die Chip-Dokumentation des ATmega1280 von atmel durchgesichtet, jedoch wird dort im Kapitel "Electrical Characteristics" nur von Pull-up Widerständen, Leckströmen und max. Ausgangsspannugnen gelistet. Ich sehe nicht, dass sie einen maximal verkraftbaren am analog-Eingang anliegenden Eingangsstrom angeben.

Nach meiner Rechnung komme ich auf folgendes, was meiner Meinung nach nicht ganz richtig sein kann:

  • 1024 Mess-Schritte -> 0,0048V / Schritt
  • Ich möchte 1mA / Schritt messen.
  • R = U/I = (0,0048V)/(1mA) = 4,8 Ohm ??? (das geht doch nicht, oder?)

selbst wenn ich die Messschritte kleiner gestalte (z.b. 400) komme ich trotzdem auf R=12,8 Ohm... und wo hänge ich die dann rann?

Vielen Dank für die Kritik... Gruss Benny

Also soweit ich das verstehe brauchst Du pro Messung nur einen analogen Eingang. An den schließt Du Deinen 4,8 Ohm-Widerstand gegen Masse an, und zusätzlich Deinen Verbraucher, der gegen 5 Volt geht.

Wenn Dein Verbraucher nun Strom "verbraucht", dieser ihn also durchfließt, dann wird der Strom auch durch den 4,8 Ohm-Widerstand (das ist dann der "Shunt") fließen, es wird eine Spannung abfallen die proportional zum fließenden Strom ist, und das kannst Du messen. :slight_smile:

Optimaler, weil weniger beeinflussend, wäre natürlich eine OpAmp-Schaltung.

Hallo Joguhrt,
danke für die schnelle Antwort.

Ich habe das mit dem “shunt” auch gerade angelesen. Ich arbeite aber mit Stromzangen, die hängt man einfach über das Starkstromkabel und diese liefert einem ein 1000:1 Verhältnis bis zu 400A, also bis zu 400mA… Wie würde es da aussehen mti der Verkabelung?

Das ist ja sogar noch einfacher: :slight_smile:

Einfach zwischen die beiden Pole der Stromzange nen Widerstand schalten, und das eine Ende des Widerstands zusätzlich auf Masse beim Arduino und das andere Ende zusätzlich direkt in einen analogen Eingang.

Über I=U/R kannst Du dann berechnen, wieviel Strom da fließt.

Bei Stromzangen geht aber anscheinend nur Wechselstrom einfach, Gleichstrom ist ungleich komplizierter...

Hallo benny66766

Welche Stromzange hast Du?
Das mit dem Widerstand stimmt, aber Du mußt den richtigen Wert nehmen der vom Innenwidesrtand des Stromwandlers abhängt.
Außerdem darf ein Stromwandler NIE ohne shunt betrieben werden da ansonsten eine hohe Spannung am Augang anliegt.

Grüße Uwe

Hallo benny66766

evtl helfen dir diese Seiten weiter :
http://openenergymonitor.org/emon/
habe auf dieser Basis mit einem Arduino Mega ein Strom Monitoring System mit 10 Eingängen gebaut:
http://www.komputer.de/wordpress/?p=8

Du solltest berücksichtigen dass die Spannung aus deiner Strommesszange auf keinen Fall (z.B. Kurzschluss in deinem "Starkstromkreis") die zulässige Eingangsspannung überschreitet - die internen Schutzdioden vertragen glaube ich aus dem Kopf raus maximal 1mA....
Ausserdem sollte dein Eingangswiderstand auf keinen Fall mehr als 20kOhm betragen (vor allem wenn du mehr als 2-3 Analogeingänge nutzen willst) sonst gibts Messfehler...

Habe mein Projekt auch noch nicht ganz abgeschlossen - muss noch externe Schutzdioden verbauen - hoffe komme in den nächsten Tagen dazu....

Viele Grüsse, Michi

Ich hatte mir beispielsweise diese zange ausgesucht:
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=D15;GROUPID=542;ARTICLE=30701;START=0;SORT=artnr;OFFSET=16;SID=15PMQiUqwQAQ8AAG-WdBg8323c28528246fcc080b76b8a0317c03

Danke für die vielen Anregungen erstmal, ich habe aber immer noch das Problem aus der Doku des ATmega1280 z.B. den Innenwiderstand eines analogen Eingangs zu finden (gibt es überhaupt einen?), oder den max. zulässigen Eingangsstromes.

Die Zange hat ein Ausgabeverhältnis von 1000:1, dh. für gemessenen 1A => 1mA, ich muss maximal 400A => 400mA messen können.

Einen Shunt würde ich nutzen, um den Strom noch kleiner und für die analogen Eingänge verträglicher zu machen.

Ich kann aber nicht anfangen, eh ich mir nicht sicher bin wie die Eingänge zu beschalten sind und was sie vertragen. Das muss doch im Datenblatt bei www.atmel.com stehen, oder?

Einen Shunt würde ich nutzen, um den Strom noch kleiner und für die analogen Eingänge verträglicher zu machen.

Nein, der Shunt wird nicht in Reihe zum analogen Eingang geschaltet, sondern parallel zum Arduino zwischen dem analogen Eingang und Masse. Damit gehts dann nur um Spannung, nicht um Strom. :wink:

Hallo Joghurt,
ja das stimmt natürlich. Da ergeben sich aber noch mehr Fragen. So lange ich nicht aus dem Datenblatt lesen kann wie die max. Strombelastung am Eingang sein darf, kann ich nichts planen.

Nach meiner Rechnung:
-> 1024 Mess-Schritte => 5V/1024 = 0,0048V
-> Leider habe ich im Datenblatt lesen können, dass eine ungenauigkeit von +/- 2 Mess-Schritten existiert.
-> R = U/I = 0,0048V/1mA = 4,8 Ohm
-> Bei einer messung Umess = 1,92V wüsste ich dann bei 4,8 Ohm Widerstand, dass ein Strom von 400mA ~ 400A anliegt.

Bin ich da auf dem richtigen Wege?

Das macht aber kein Sinn mehr, wenn z.B. die max. Strombelastung am analogen Eingang 1mA beträgt, ich aber bis zu 400mA messen können muss...

Die Messzange liefert mir ja schon 1mA ~ 1A, ich müsste demnach einen passenden Widerstand wählen, so dass die Spannung noch für den Arduino messbar ist aber der Strom den Eingang nicht zu sehr belastet.

...ich denke du denkst da verkehrt :wink:

Eingangswiderstand vom Atmel ist erstmal uninteressant.
Du Belastest deine Stromzange mit einem externen Widerstand (hier spricht man von Bürde nicht von Shunt). Wie Joghurt sagte - parallell zur Zange.
An diesem fallt eine Spannung ab die dein Arduino messen kann.

Beispiel: externer Widerstand 1kOhm - Strom von der Messzange 1mA
entspricht 1V and deinem Eingang

Wie hoch dieser Widerstand für optimale Linearität deiner Stromzange ist sollte im Datenblatt stehen.

Viele Grüsse, Michi

hallo benny66766

Warum nimmst Du nicht dieses Model; als Ausgang hast Du eine Spannung proportional zum Strom. PEAKTECH 4200: Zangenadapter, AC, bis 200 A bei reichelt elektronik

So brauchst Du am Arduino nur die Spannung zu messen und Dir keine Sorgen machen um eine Shund ecc.

Grüße Uwe

wow… jetzt bin ich erneut verwirrt (haha)…

Das sind ja super-dinger, aber ich sehe folgendes:

Technische Daten
? ACA: 200 A, ± 2,0 % + 0,5 A (40 - 400 Hz)
? Ausgang: 1 mVAC / A
...

Das heißt:
→ 2 % Fehlertoleranz und in 0,5 A Schritten
→ am Arduino-Eingang würde dann eine Wechselspannung von mind. 1mVAC / A liegen?

Auf der Herstellerseite habe dagegen die Daten gelesen:
→ 200 A; ± 2,0 % + 0,5 A (40 - 400 Hz); 1 mV/A

D.h. es wird mir doch eine Gleichspannung am Ausgang geliefert, richtig?

Ich muss bei <=5% Fehlertoleranz bleiben, ich benötige 6 dieser Zangen. Wäre das da nicht kritisch?

Ich denke mal, nach Ansicht des Angebots von Reichelt, wirst Du nicht umhin kommen die Meßspannung gleichzurichten und zu glätten.
Dann solltest Du eine Mittelwertbildung coden um die Meßfehler zu verringern.

LC_Data

Wozu möchtest Du Strom von was messen? So wie Du fragst kennst Du Dich nicht sehr gut aus. Warum tut es kein einfaches Meßgerät? Also sowas:
Pollin: Ihr Online-Shop für günstige Elektronik und Technik ?

Udo

Diese Stromzange ist für AC-Messung ausgelegt.

Um den Ausgangswert (auch eine Wechselspannung) mit dem Arduino zu messen, muss diese in eine Gleichspannung umgewandelt werden. Du brauchst als einen Messumformer oder eine Messumformerschaltung.

@Herr Klein,
genau an diesem Messgerät habe ich kein Interesse, da ich selbst so eins mal nachbauen möchte in einer sehr vereinfachten Form.

@LC_Data,
ja, das Problem ist nur wie schaffe ich es in der Halbleitertechnik 1mV in Gleichspannung umzuwandeln, wenn ein pn-Übergang erst ab 0,7V reagiert? eventuell eine Schaltstufe zur Signalverstärkung vorbauen?

@komputer,
Du müsstest das Problem ja schon gelöst haben, einen Wechselstrom gleichzurichten, zu glätten und die Messwerte von 0V - 5V zu interpretieren. Habe mir Deine Seite angeschaut, aber wie wandelst Du das Signal genau um?

Du brauchst nicht das Wechselspannungssignal gleichzuichten sondern Du nimmst einen Spannungsteiler mit 2 gleichen Widerständen ( 10 kOhm) und erhälst so 2,5V. An diese schließt Du den einen negativen Pol der Stromzange an und den anderen auf den Analog-Eingang. So kannst Du eine Wechselspannung bis 2,5V messen.

Ich weiß nicht wie große Ströme Du messen willst; gegebenenfalls nußt Du noch das Signal mit einem Operationsverstärker verstärken.

Lies mal auch dies: Page not found | Archived Forum

Grüße Uwe

Hallo Uwe,
toller Link... den werde ich mir anschauen...

ich habe nun einen Stromzangen-Adapter ausgewählt, der bis zu 400A messen kann, dass ist auch genau die Höchtgrenze für den zu messenden Drehstrom (Abnahme am N-Leiter).

Das Gerät meiner Wahl ist folgendes geworden:
http://www.peaktech.de/produktdetails/kategorie/zangenadapter/produkt/p-4300.html

Habe schon mit den Herstellern gesprochen. Bei einer Wechselstrommessung liegt am Ausgang eine Wechselspannung an.
Bei einem Übersetzungsverhältnis von 1mV/A muss ich gewährleisten können, dass max 400mV messbar sind.

Bei Drehstrom kannst Du nicht am Nulleiter messen.
Wenn Du symetrisches Last hast dann genügt die Strommessung an einem Außenleiter und dann ist der Strom auf dem Nulleiter null.; wenn Du einen unsymetrischen Verbraucher oder mehrere einphasige hast dann mußt Du alle 3 Außenleiter messen.

Grüße Uwe

hallo benny66766,

...die Gleichrichtung findet softwaremässig statt :wink:

schau dir den Code an - es werden samples genommen aufaddiert geteilt usw. - auf diese art kann mit einer gleichzeitigen Spannungsmessung Strom, Leistungsfaktor, Wirkleistung, Blindleistung
und sogar die Frequenz ermittelt werden.

Hatte in einem alten Projekt eine Schaltung mit Brückengleichrichter hinter dem Messwandler aber wozu - wenn du schon einen Mikrocontroller einsetzt kann das auch softwaremässig erledigt werden...

Viele Grüsse, Michi