Strom über Shunt mit Arduino Uno messen

OP #4185661
Hallo liebes Forum,

ich habe eine Frage,
ich möchte gerne mit einem Arduino Uno, über einen Shunt den Strom über 
den Spannungsabfall messen.
Ich möchte 1-2A messen und jetzt weiß ich nicht wie sich der Arduino 
dann verhält, wenn durch den Spannungsteiler so ein großer Strom fließt, 
bzw. wie sich das auf den Analog eingang auswirkt.

Würde mich freuen wenn mir jemand dazu was sagen könnte :)

danke
#4185671
Diek schrieb:
> Der Arduino "sieht" doch nichts vom Strom,

er "sieht" aber möglicherweise eine hohe Spannung, evtl. 1000V oder 
Wechselspannung, das ist alles nicht so prickelnd.

Wenns "nur" Gleichstrom am Shunt ist kann man den Arduino ja mit einem 
DC/DC Wandler galv. getrennt hochlegen.
#4185679
Petr t. schrieb:

> ich möchte gerne mit einem Arduino Uno, über einen Shunt den Strom über
> den Spannungsabfall messen.

Eigentlich läuft das eher umgekehrt: Du baust eine Strommessschaltung
und kannst deren Ausgangsspannung mit Deinem Arduino digitalisieren.
Das macht aber nur Sinn, wenn Du irgendwelche Berechnungen mit dem
Stromwert machen willst. Nur für eine Anzeige nimmt man besser
spezialisierte Anzeigeschaltungen.
OP #4185684
Danke schon mal für die ganzen Antworten,

also das war mein Fehler, ich habe vergessen zu sagen worum es geht ^^.
Die Spannung wird maximal 5V haben und ich wollte den Strom im Arduino 
berechnen: I=Udrop/Rshunt

Wenn es so falsch korrigiert mich bitte.

Danke
#4185691
Petr t. schrieb:
> Danke schon mal für die ganzen Antworten,
>
> also das war mein Fehler, ich habe vergessen zu sagen worum es geht ^^.
> Die Spannung wird maximal 5V haben und ich wollte den Strom im Arduino
> berechnen: I=Udrop/Rshunt
>
> Wenn es so falsch korrigiert mich bitte.

Nö, ist schon ok.

Nichts desto trotz läuft der Strom von 1 bis 2A ja nicht durch den 
Arduino. D.h. der kriegt davon nichts mit. Du solltest dir eher mal 
ausrechnen, wie gross denn der Spannungsabfall am Shuntwiderstand 
überhaupt sein wird und mal überlegen, ob und wie genau du das messen 
kannst.
#4185706
Harald W. schrieb:
> Da Rshunt konstant ist, was soll da noch gross berechnet werden?

na schrieb er doch:

Petr t. schrieb:
> den Strom

Der Arduino sieht nur eine Spannung und gibt dir nur ADC Werte 
einheitenlos aus, um von da auf den Strom zu kommen muss man schon 
rechnen.

Umess/ Shunt = I
Umess = ADC * m + b

m ist die Steigung
b der Offset

somit wäre:

I = ( ADC * m + b ) / R shunt
Gast #4185722
Wenn der Spannungsabfall gering sein muss, kannst du auch z.B. den 
pac1710 nehmen. Der integriert dir sogar den Strom und du bekommst per 
I2C die Energie, Strom oder Spannung.

Dazu gibt es von der z.B. Isabellenhütte 4-Leiter Shunts. Beide Bauteile 
bekommst du für ca. 5€.

So wie beschrieben funktioniert es im prinzip auch, kann aber Probleme 
mit der Genauigkeit geben. Gerade wenn du lange Kabeln zum messen hast 
und vll 50 mV Spannungsabfall.
#4185771
Harald W. schrieb:
> ohne irgendwelche
> Zusatzteile ausser dem Shunt, einen Strom messen, was normalerweise
> nicht geht.

da gebe ich dir Recht,

im günstigsten Fall ist der Strom DC und die Spannungen innerhalb der 
Arduino VCC, dann könnte es mit 2 ADC und einer Differenzmessung 
klappen.

Ab mega32 hat man sogar diff. Eingänge mit wählbarer Verstärkung und 
kann den aufgenommenen Batteriestrom messen, aber Arduino und 
m32/644/1284p muss man sich erst mal beschaffen.
OP #4185888
Harald W. schrieb:
> Joachim B. schrieb:
>
>> aber die Frage vom TO hast du gelesen?
>
> Gelesen habe ich sie schon; sie ist allerdings recht unverständlich
> formuliert. Ich nehme an, er will mit dem Arduino ohne irgendwelche
> Zusatzteile ausser dem Shunt, einen Strom messen, was normalerweise
> nicht geht.

Warum geht das nicht ?
An sich ist es doch ein Spannungsteiler, ich messe die Spannung die über 
den Shunt abfällt.

CAN-Fan schrieb:
> Wenn der Spannungsabfall gering sein muss, kannst du auch z.B. den
> pac1710 nehmen. Der integriert dir sogar den Strom und du bekommst per
> I2C die Energie, Strom oder Spannung.

Der IC sieht gut aus und I2C hat er auch, aber leider im DFN Format, 
somit leider nicht geeignet :( Aber dennoch danke

Joachim B. schrieb:
> Der Arduino sieht nur eine Spannung und gibt dir nur ADC Werte
> einheitenlos aus, um von da auf den Strom zu kommen muss man schon
> rechnen.
>
> Umess/ Shunt = I
> Umess = ADC * m + b
>
> m ist die Steigung
> b der Offset
>
> somit wäre:
>
> I = ( ADC * m + b ) / R shunt

Wird das so funktionieren ?
Wie finde ich m und b beim Arduino heraus ?

Danke
Gast #4185906
Harald W. schrieb:
> ch nehme an, er will mit dem Arduino ohne irgendwelche
> Zusatzteile ausser dem Shunt, einen Strom messen, was normalerweise
> nicht geht.

Wieso sollte das nicht gehen? Du musst nur den Widerstand groß genug 
machen, dann fällt auch genügend Spannung darüber ab.
#4185912
Peter schrieb:
> Harald W. schrieb:
>> ch nehme an, er will mit dem Arduino ohne irgendwelche
>> Zusatzteile ausser dem Shunt, einen Strom messen, was normalerweise
>> nicht geht.
>
> Wieso sollte das nicht gehen? Du musst nur den Widerstand groß genug
> machen, dann fällt auch genügend Spannung darüber ab.

Ja, am besten für 5V dimensionieren. Die zusätzlichen 10W
Heizung sind bei den derzeitigen Aussentemperaturen sicher-
lich erwünscht. :-)
#4185919
Du musst den Shunt gegen GND schalten.
Wenn er 0,5Ohm hat, dann fallen bei 2A 1V ab. Die interne Referenz des 
Mega328 ist 1,1V. Damit kannst du dir bei 10bit ADC ausrechnen wie groß 
die Auflösung ist. Nach Daumenpeilung bei etwa 5mA.
Wenn die das genügt steht dir nichts mehr im Weg.
#4185953
Hubert G. schrieb:

> Wenn die das genügt steht dir nichts mehr im Weg.

Nicht so schnell.
Da gibt es noch eine Nebenbedingung.
Wenn von 5V 1V am Shunt abfällt, bleibt für den Verbraucher (dessen 
Stromverbrauch zu messen ist), nur noch 4V übrig. Der kann damit noch zu 
recht kommen oder auch nicht.
Weiters werden damit logischerweise 20% der eingesetzten Energie im 
Shunt verbraten. Auch nicht gerade wünschenswert.

@Petr
Normalerweise soll ja ein Messgerät das zu messende Gerät möglichst 
wenig beeinflussen. In diesem Fall bedeutet das, das der Shunt 
Widerstand klein sein soll, damit an ihm eben nicht so viel Spannung 
abfällt, dass das die zu messende Schaltung beeinflusst. Je kleiner der 
Widerstand wird, desto kleiner auch der maximale Spannungsabfall bei 2A. 
Aber: je kleiner der Spannungsabfall, desto kleiner wird auch der 
maximale Zahlenwert, den du vom ADC bekommst. Je kleiner der aber 
wiederrum wird, desto schlechter wird die Auflösung des Messergebnisses.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.