mAh-Zähler mit Atmel-AVR

OP (Firma: Elektroniker) #3049617
Lesenswert?

Hallo

Ich möchte gerne eienen Stromzähler für Gleichstrom bauen. Stöme sind so 
zwischen 0A und 50A. Wie mann ne Strommessung macht ist mir soweit klar. 
Aber nicht ganz wie ich das dann in mAh rechnen soll. Ich hab vor einmal 
in der Sekunde eine Messung zu machen und die dann immer einmal in der 
sekunde mit den alten Messungen aufaddieren dann habe ich doch 
Amperesekunden, oder?. Und das dann durch 3600 teilen da die Stunde 3600 
Sekunden hatt dann erhält mann doch mAh, oder?

Dann das etwas andere problem: Wie messe ich am besten 50A? Ich hab nur 
7,2 Volt Stromversorgung die durch nen Schunt nicht zu sehr in die Knie 
gehen solte. Weis da jemand von euch Spezielle Strommess-ICs die leicht 
erhältlich sind?
Gast #3049624
Lesenswert?

Kann man so machen. Wobei ich würde mit 1kHz messen, dann wird's etwas 
genauer. Einschaltsröme gehen sonst evtl. Völlig unter. Musst du halt 
3600 x 1000 Messwerte aufsummieren. Passt noch in eine 32Bit Variable 
bei 10Bit ADC.


Ingo
Gast #3049638
Lesenswert?

> Weis da jemand von euch Spezielle Strommess-ICs die leicht
> erhältlich sind?

Eigentlich braucht man keine speziellen, ein shunt (Widerstand)
reicht, eventuell ein OpAmp um den Messwert zu verstärken.

Es ist nur eien Frage der Genauigkeit, und niemand weiß, welche
du benötigst.
(Firma: Spezialeinheit) #3049670
Lesenswert?

Ich baue gerade auch sowas für ein E Bike, ich habe den Timer zur 
Messung auf 360ms gestellt, dadurch brauchst du nicht mehr eine Division 
mit einen vielfachen von 3,6 es genügt eine Division mit einen 
vielfachen von 10 (ich ignoriere bei der LCD Ausgabe einfach ein Paar 
Nullstellen).
Gast #3049736
Lesenswert?

Fred Feuerstein schrieb:
> Ich baue gerade auch sowas für ein E Bike, ich habe den Timer zur
> Messung auf 360ms gestellt, dadurch brauchst du nicht mehr eine Division
> mit einen vielfachen von 3,6 es genügt eine Division mit einen
> vielfachen von 10 (ich ignoriere bei der LCD Ausgabe einfach ein Paar
> Nullstellen).

du bist ja lustig. Schlauerweise sollte man ein vielfaches von 2 nehmen. 
Das nimmt dem µC die Arbeit ab.
(Firma: Spezialeinheit) #3049802
Lesenswert?

avr schrieb:
> du bist ja lustig. Schlauerweise sollte man ein vielfaches von 2 nehmen.
> Das nimmt dem µC die Arbeit ab.

Bei mir läuft das so:
Beispiel
10A
40V
das wären 400W, in einer Stunde sind das 400Wh, in einer Minute 
400/60=6,66Wh, in einer Sekunde 400/3600=0,111Wh.
1.) Bei einen Intervall von 1Sekunde müsste ich den Wert (400) durch 
3600 teilen, um auf 0,11111 zu kommen.

2.) Bei einer Messung mit 360ms addiere ich den Messwert zu einer großen 
Summe auf die schon den Zahlenwert der Wh entspricht.
Beispiel in einer Sekunde habe ich 400*1/0.36s=1111,11
Also alle 360ms 400 addieren und nichts mehr rechnen. Der Zahlenwert 
passt, und bei der LCD Ausgabe das Komma an die passende Stelle gedacht 
und fertig.

3.) Faktor 2?
Gast #3050227
Lesenswert?

Hallo!

Hm, 50A... Schade.
Bei 30A hätte ich den ACS712 empfohlen. Mit dem kannst Du glavanisch 
getrennt messen und der kostet nicht viel. Bei Ebay für ca. 2€ sogar 
aufgebaut auf einer PCB mit Schraubanschlüssen.

Datenblatt hier: 
http://www.allegromicro.com/Products/Current-Sensor-ICs/Zero-To-Fifty-Amp-Integrated-Conductor-Sensor-ICs/ACS712.aspx

Ciao
Peter

http://www.ullrich.at.tt
#3050459
Lesenswert?

Wenn nur in eine (Strom)Richtung gemessen wird reicht eine OPV-Schaltung 
(RtR verwenden) als nichtinvertierender Verstärker und Shunt 2mOhm (die 
gibt es ua. von Isabellenhütte, zu bekommen bei Bürklin).
In beide Richtungen geht so was wie der LMP8601 recht einfach.

Die Hallsensor-Teile gehen zwar recht gut für hohe Ströme nur ist der 
Messbereich nach unten hin begrenzt.

Infos zu den Detail gibt es zu Hauf hier und im weiteren WEB.
#3050629
Lesenswert?

Walter S. schrieb:
>> Kann man so machen. Wobei ich würde mit 1kHz messen, dann wird's etwas
>> genauer. Einschaltsröme gehen sonst evtl. Völlig unter.
>
> macht aber für die Genauigkeit der Messung wenig aus wenn ich eine
> Stunde lang messe

Das eine hat mit dem anderen nix zu tun.

Magnus M. schrieb:
> Nicht vergessen: Das zu messende Signal noch durch einen Tiefpass
> schicken, bevor du es dem Controller als zu wandelnde Spannung
> anbietest.

Noch besser wäre ein Integrator. Bzw. gleich einen ADC mit einem 
integrierenden Meßverfahren verwenden.

Hui schrieb:
> Wenn 1000 Messungen pro Sekunde gemacht werden , sollte das Rauschen
> doch raus gehen.

Es geht nicht um das Rauschen.

Es geht darum, daß impulsförmige Ströme sonst gar nicht oder nur mit 
sehr großem Fehler erfaßt werden.

Einfaches Beispiel: der Verbraucher sei eine Blink-LED, die mit 1 Hz 
blinkt und dabei immer für 500ms 20mA aufnimmt und für die anderen 500ms 
1mA. Wenn der ADC jetzt einmal pro Sekunde den Strom mißt, dann kann man 
je nach Frequenzkonstanz und Phasenverschiebung zwischen 1mA und 20mA 
jeden Wert herausbekommen. Der richtige Wert wäre aber 10.5mA.

Man löst das Problem entweder durch hinreichend häufige Messung (die 
Herren Shannon & Nyquist lassen grüßen) oder - wenn man ohnehin nur den 
Mittelwert wissen will - durch Integration (ein Tiefpaßfilter wirkt wie 
ein Integrator).


XL
OP (Firma: Elektroniker) #3051024
Lesenswert?

Hallo das mit der 1mal in der Sekunde Messen war nur mal ein Beispiel um 
den Rechenweg zu leichter zu verstehen. Vor habe ich das Teil dann in 
nen Quadrocpter einzubauen der dann per RFM12 und Atemga die messungen 
dann auf ein LCD auf den Boden sendet. Messung reicht nur eine Richtung.

Zu den Hall-Strommwandler wie genau sind die den? Kann der 0-50A Messen?
http://pdf1.alldatasheet.com/datasheet-pdf/view/81497/LEM/HTB50-P/SP5.html

Vom gewicht her würde ich aber zu nem leichten Shunt tendieren und nach 
einem fertigen verstärker/ADC für sowas suchen damit nicht so viel 
Hünerfutter ausenrumm muss.

Für weitere Infos wäre ich noch Dankbar.
Gast #3052038
Lesenswert?

Axel Schwenke schrieb:
> Es geht darum, daß impulsförmige Ströme sonst gar nicht oder nur mit
> sehr großem Fehler erfaßt werden.

Das müsste unter
Hui schrieb:
> Antialising?
fallen.
In einem Quadrokopter dürften die Ströme mit Frequenzen von 20kHz 
rumzuckeln.
da dürfte es gewichtsmäßig leichter sein einen Tiefpass zu basteln, und 
an den bisherigen Prozessor anzubinden. Wobei sich das alles im Bereich 
von <10g abspielen sollte in wieweit das relevant ist, weis ich nicht
#3052262
Lesenswert?

Fred Feuerstein schrieb:
> Ich baue gerade auch sowas für ein E Bike, ich habe den Timer zur
> Messung auf 360ms gestellt, dadurch brauchst du nicht mehr eine Division

Es ist schon komisch, wie wenig einem MC zugetraut wird. Warum soll 
keine Zeit fürs Dividieren sein?

Für den Mensch sind max 5 Werte/s Ableserate ergonomisch, da ist die 
popelige Division nur Peanuts.
Zum Optimieren gehört erstmal einzuschätzen, wo eine Optimierung sich 
überhaupt lohnt.
(Firma: Spezialeinheit) #3053170
Lesenswert?

Peter Dannegger schrieb:

> Zum Optimieren gehört erstmal einzuschätzen, wo eine Optimierung sich
> überhaupt lohnt.

Zeit zum Dividieren hat der sicher noch, ich wollte meine Lösung nur 
erwähnen weil sie mir für meine Anwendung geeignet scheint. Ich wollte 
ursprünglich alle halbe Sekunde messen und bin auf die Idee gekommen den 
Faktor 3,6 auf den Timer abzuwälzen, dadurch spare ich mir die Division. 
Was ist den daran falsch optimiert?
PS. Ich schreibe in Assembler dort ist x/3,6 zumindest fummeliger als 
die Timeranweisung Zähle bis 3,6.
Gast #3053299
Lesenswert?

Fred Feuerstein schrieb:
> dadurch spare ich mir die Division.
> Was ist den daran falsch optimiert?
> PS. Ich schreibe in Assembler dort ist x/3,6 zumindest fummeliger als
> die Timeranweisung Zähle bis 3,6.

Optimieren bedeutet ein Ziel anstreben, Division einzusparen spart im 
besten Fall Laufzeit. Dafür hast du eine geringere Auflösung im 
Zeitbereich.

Was macht dein Prozessor wenn weniger oft und weniger Rechnen muss?
NOP. Und ihm ist es egal ob der NOP macht oder eine Division durchführt.
Irgendwas muss er ja machen.

Wo ist da jetzt die Optimierung?
Gast #3053721
Lesenswert?

Fred Feuerstein schrieb:
> Ich wollte
> ursprünglich alle halbe Sekunde messen und bin auf die Idee gekommen den
> Faktor 3,6 auf den Timer abzuwälzen

Hui schrieb:
> Optimieren bedeutet ein Ziel anstreben, Division einzusparen spart im
> besten Fall Laufzeit. Dafür hast du eine geringere Auflösung im
> Zeitbereich.

Wodurch habe ich da eine geringere Auflösung, wenn ich anstatt aller 
halben Sekunde alle 0,36s den Wert erfasse. Es besteht auch die 
Möglichkeit alle 36ms oder gar 3,6ms zu takten.
Mein Ziel war keine Optimierung sondern eine Einfache Lösung, damit 
wollte ich hilfreich auf den ersten Teil der Frage des TO eingehen, wo 
ist da nun das Problem? Nicht Resourcenvernichtend genug?
#3053825
Lesenswert?

Hui schrieb:
> Was macht dein Prozessor wenn weniger oft und weniger Rechnen muss?
> NOP. Und ihm ist es egal ob der NOP macht oder eine Division durchführt.
> Irgendwas muss er ja machen.
>
> Wo ist da jetzt die Optimierung?

Unter der Annahme der Prozessor macht in seiner Freizeit kein NOP 
sondern sein Power Down Sleep, was viel vernünftiger wäre, dann spart 
man Energie. Das muß optimaler sein als das gleiche Ziel mit gleichen 
Resourcen aber mit höherem Stromverbrauch weil man eben nicht optimal 
programmiert hat.
Gast #3053845
Lesenswert?

Hagen Re schrieb:
> Unter der Annahme der Prozessor macht in seiner Freizeit kein NOP
> sondern sein Power Down Sleep, was viel vernünftiger wäre, dann spart
> man Energie. Das muß optimaler sein als das gleiche Ziel mit gleichen
> Resourcen aber mit höherem Stromverbrauch weil man eben nicht optimal
> programmiert hat.

Und wie wacht er wieder auf?
Gast #3055107
Lesenswert?

Bitte beim nachbau beachten:
Der Autor schlägt den 34063 als Schaltregler vor:
>> Wird IC1 durch einen Schaltregler mit dem MC34063 ersetzt, verringert sich die 
vom Wh-Meter selbst verbrauchte Leistung. Dann kann der Spannungsmeßbereich auch 
bis 50 V vergrößert werden.

Der Verträgt aber maximal 40V und ein Akku der mit 36V angegeben wird, 
hat im aufgeladenen Zustand 42V (10s Liion). Bei einen 24V Akku kein 
Problem, bei 36V und darüber wirds eng.

Vor dem Problem der Spannungsversorgung stehe ich auch gerade, da ich 
auch eine Lampe mit betreiben möchte. Blöderweise sind die meisten IC in 
der Bastelkiste bei der Spannung am Limit.
#3055263
Lesenswert?

feuerstein schrieb:
> Der Verträgt aber maximal 40V

Beim StepUp bekommt der 34063 die Ausgangsspannung nicht zu sehen, wenn 
man einen externen Transistor (oder FET) einsetzt. Somit reicht es, wenn 
der externe Transistor die Spannung verträgt. Es gibt Leute, die 
erzeugen damit die Anodenspannung für Nixie-Röhren. Sollte ein FET 
eingesetzt werden, ist eine Push-Pull-Stufe zum Ansteuern des Gates 
erforderlich. Ansonsten sperrt der FET zu langsam, was ihn zum Schwitzen 
bringt und den Wirkungsgrad drastisch reduziert.

...
#3055391
Lesenswert?

Es geht auch ohne Digital-ICs.
Hier hab ich die Strommeß-Schaltung aus nem Elecraft K2.
Der entsprechende Shunt liegt zwischen 12Vin und 12V, die Schaltung 
funktioniert wunderbar. Ist auch ne schöne Fingerübung sie mal 
durchzurechnen (wenn jemand will). Die Spannung für den ADC wird am 
Punkt 'I Sense' abgenommen. Transistor und OP-Aamp sind beliebig 
(zumindest in der Theorie).
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren