Strom über Shunt mit Arduino Uno messen

OP #4185661
Lesenswert?
• ▲
▼
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
#4185679
Lesenswert?
• ▲
▼
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.
#4185691
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
#4185912
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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.
#4186044
Lesenswert?
• ▲
▼
Petr t. schrieb:
> Wie finde ich m und b beim Arduino heraus ?

https://de.wikipedia.org/wiki/Geradengleichung

m = (y1-y2) / (x1-x2)

y1 = ein Spannungswert, x1 der gemeldete ADC Wert
y2 = ein Spannungswert, x2 der gemeldete ADC Wert

kann ja von einem Netzgerät oder ein Poti angelegt werden und mit einem 
Voltmeter gemessen werden.

b = Umess bei ADC 0  (kann ja 0 sein muss aber nicht)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.