Forum: Analoge Elektronik und Schaltungstechnik Amperemeter Datenlogger


von Andy (Gast)


Lesenswert?

Hallo, ich hoff ich habe das richtige sub-forum erwischt,

Ich suche schon seit langem eine möglichkeit den strom langfristig zu 
messen.

Spannung 9-15v
Strom 0-5A
Messzeitraum: 4 Monate +

Das ganze sollte mit zeit und datum gespeichert werden...

Was ist da günstig?

Um es kurz zu sagen, ich möchte die ampere der solar anlage aufzeichnen 
um auswertungen erstellen zu können, ein pc der 24 std läuft wäre auch 
vorhanden... Nur was für hardware benötige ich?
Ist es möglich 2-4 wege aufzuzeichnen z.b. Für verbraucher ?

Ich finde leider nichts wirklich praktikables.. Oder es kostet 200€+

von Michael (Gast)


Lesenswert?

Andy schrieb:
> Ich suche schon seit langem eine möglichkeit den strom langfristig zu
> messen.

Das langfristig Messen ist nicht das Problem. Eine Möglichkeit wäre z.B. 
ein µC mit SD-Card als Massenspeicher. Erstmal sind jedoch ein paar 
Vorüberlegungen nötig:
 - Wie oft möchtest du einen Datenpunkt haben?
 - Wie stark schnell schwankt der Strom (Bandbreite)?
 - Wie genau und wie hoch aufgelöst muss die Messung sein?
 - Darf der µC galvanisch mit der Solaranlage verbunden sein?
 - brauchst du eine High Side Messung?
 - Möchtest du nur den Strom wissen oder eher die Leistung?

von Andreas W. (andreas_w11)


Lesenswert?

Danke für die schnelle antwort

>  - Wie oft möchtest du einen Datenpunkt haben?
Mit datenpunkt meinst du wie oft die messung sein soll?
Die messung sollte in 1-30 sec intervallen sein.

>  - Wie stark schnell schwankt der Strom (Bandbreite)?
Schwankungen von 1A in 1 sec oder länger

>  - Wie genau und wie hoch aufgelöst muss die Messung sein?
Die genauichkeit ist nicht so wichtig, solang die werte konstant 
"ungenau" sind
Sprich es wird eh in ein diagramm verarbeitet, da sind nur die 
veränderungen bei wolken und wetter wichtig. Wenn du verstehst was ich 
meine.

>  - Darf der µC galvanisch mit der Solaranlage verbunden sein?
Damit meinst du ob ich es direkt per kabel verbinden kann?
Ja es besteht bereiz eine leitung.


>  - brauchst du eine High Side Messung?
Was ist das?

>  - Möchtest du nur den Strom wissen oder eher die Leistung?
Die erzeugten A, Ah, und Watt (wenn mögl. Auch Volt)

Danke schon ein mal.

von Alex S. (thor368)


Lesenswert?

Tach Andreas,

das Problem ist wirklich simpel gelöst. Ein AVR, eine Hallstromsonde und 
alle Fragen und Anforderungen an solch ein Messystem sind abgedeckt. 
Materialkosten mit produzierter Platine gut 100€. Mit selbst geätzter 
Platine vielleicht 50€.

Die Frage ist nun, ob du in der Lage bist so etwas zu bauen? Selbst wenn 
sind Arbeitsaufwand + Materialkosten nicht unbedingt günstiger als ein 
entsprechendes Fertigprodukt.

Fertiglösung mit PC: UT 61A@reichelt
Laufzeit wird wegen der Baterieversorgung wahrscheinlich ein Problem. 
Aber ein 9V Netzteil ist ja schnell gebaut.

Thor

von Andreas W. (andreas_w11)


Lesenswert?

Das mit nem usb multi hab ich bereits, nur da kann ich nur V oder A 
seperat messen...
Ich möchte bis zu 4 messwerte bleichzeitig aufzeichnen...

von Thomas R. (Gast)


Angehängte Dateien:

Lesenswert?

Dafür reicht ein Atmega1281, eine RTC, eine SD-Karte und ein wenig 
Bauteile für ein paar Cent und eine Lochrasterplatte locker aus.
Sowas habe ich früher mal als Wärmepumpenmonitor gebaut.
Da werden geloggt:
2 Spannungen (der Atmega könnte 8 Spannungen/Ströme)
2 Leistungen über S0-Bus
2*Energieverbrauch über S0-Bus
6 Temperaturen (DS1820)
Eine 2GB SD-Karte ist nach 15 Jahren voll mit Textfiles wie im Anhang.

Heute würde ich statt des Atmega aber ein ST32F4discovery verwenden, da 
ist die RTC mit drauf.
Der hat auch genug RAM, um die Messergebnisse in einer grafische Anzeige 
als Kurven darzustellen.

von Alex S. (thor368)


Lesenswert?

OK, zwei solche Multimeter sind immer noch billiger als ein Messlabor.

Alternativ bleibt wirklich nur die Frage, ob du genügend 
Erfahrung/Wissen besitzt um so etwas selbst zu bauen. Schwierig ist es 
mit dem nötig know how nicht.

Thor

von Andreas W. (andreas_w11)


Lesenswert?

Danke thomas,

Was würde der ST32F4 discovery  so kosten?
Ist der soweit "fertig"?

Edit:
An alex

Ist nicht nur für dieses projekt, und wie soll ich 2 multis mit einem pc 
mit schneiden, kann nur eins auswählen...

von Thomas R. (Gast)


Angehängte Dateien:

Lesenswert?

Das STM32F4discovery-Board kostet bei rs-online 12.65 € + 19 % USt = 
15.05 €:
http://de.rs-online.com/web/p/entwicklungskits-prozessor-microcontroller/7458434/
Ein 320*240-Farbdisplay kostet beim Chinesen über ebay ca 15 €.
Diese Teile adaptiere ich z.Zt. noch mit einer Lochrasterplatte - siehe 
Foto.
Da ist noch ein Bluetooth-Modul und ein UART-USB-Konverter drauf.
Dann brauchst du noch eine 3 V-Batterie für die RTC.
Der STM32F4 hat 16 freie Analogeingänge, da musst du deine Ströme und 
Spannungen drauf anpassen und die Software schreiben - und fertig ist 
der Logger.
Billiger und leistungsfähiger gehts dann aber nicht ;-)

von Andreas W. (andreas_w11)


Lesenswert?

Danke dir thomas,
Auf das risiko das ich ausgelacht werde,
Ist die software auf dem STM32 drauf? Oder muss ich das selbst erst 
flashen?

Was muss ich beim display beachten?

Edit---
Das kann ich benutzen oder?
Ebay auktionsnummer: 170918821153

kann ich da den sd kartenleser für den STM32 nutzen oder is der nur für 
das flashen des displays? Würde der touchscreen gehen?

Edit2---

Wer lesen kann ist klar im vorteil....
Das flashen bzw software schreiben, was würdest du da empfehlen?

Was für einen kentnisstand braucht man da?

Z.b. Bei der skala:    I----------I
1-10 mein stand: II---------I

von Thomas R. (Gast)


Lesenswert?

Im Auslieferungszustand ist auf dem Board nur eine Demo-Software drauf.
Damit benimmt sich das Board als Beschleunigungsmesser und/oder als 
PC-Maus.
Du kannst aber beliebige Software für das Board schreiben und dann 
entsprechend verwenden:
z.B.
einen Fahrradcomputer, ein Oszilloskop, einen MP3-Player, eine 
Digitalkamera, einen Videorecorder, einen Wärmepumpen- oder Solarlogger, 
oder alles, was dir einfällt.
Das Flashen ist weniger das Problem, das ist in ein paar Sekunden 
erledigt.
Du musst aber die Software schreiben, damit sich das Ding so verhält, 
wie du es brauchst.
Mit Erfahrung und entsprechender Software-Bibliothek braucht man zur 
Programmierung deiner Anwendung ungefähr einen Tag.
Wenn man diesen Background noch nicht hat, muss man den sich erarbeiten.
Als Display verwende ich dieses hier: 
http://www.ebay.de/itm/-/261053931637
Das funktioniert wunderbar und war das billigste, das ich finden konnte.

von Thomas R. (Gast)


Lesenswert?

Andreas Weiß schrieb:
> Was für einen kentnisstand braucht man da?
>
> Z.b. Bei der skala:    I----------I
> 1-10 mein stand: II---------I

Es erfordert und rentiert sich, dahin zu kommen:
I------I---I

von Andreas W. (andreas_w11)


Lesenswert?

Nice,

Wo könnte man das nötige wissen erlernen um damit arbeiten zu können?

Ich bin soweit neuling ( oh schande) aber das ist so ein interessantes 
gebiet!
Selbst arbeite ich ja beim teufel (apple) aber ich will das lernen, was 
sollte ich als beginner beachten, wo soll ich anfangen?

Edit:
Geht das display?
http://www.ebay.de/itm/170918821153;jsessionid=C81C97D1A2AF959C5B4AFD0EAE521E10?ru=http%3A%2F%2Fwww.ebay.de%2Fsch%2Fi.html%3F_sacat%3D0%26_from%3DR40%26_nkw%3D170918821153%26_rdc%3D1#ht_2526wt_1002

von Thomas R. (Gast)


Lesenswert?

Andreas Weiß schrieb:
> aber ich will das lernen, was
> sollte ich als beginner beachten, wo soll ich anfangen?

Wenn du Anfänger bist, würde ich mit Arduino anfangen. (googeln!!)
http://de.wikipedia.org/wiki/Arduino-Plattform
Das ist eine Plattform für die Atmel-8-Bit Prozessoren.
Da gibt es preiswerte Hardware und eine Software-Plattform für absolute 
Anfänger.
Dann würde ich versuchen, diese Anfänger-Software-Plattform zu verlassen 
und "normales" C zu lernen. Dabei kannst du die Hardware weiter 
verwenden.
Infos dazu gibt es hier im Forum mehr als genug.

von Andreas W. (andreas_w11)


Lesenswert?

Danke dir, kann ich das STM32 board auch zum einstieg nutzen?

Mit ströme anpassen meinst du wiederstände errechnen und davor 
schalten?!

von Thomas R. (Gast)


Lesenswert?

Wenn du noch nie embedded programmiert hast, würde ich nicht mit dem 
STM32 anfangen. Das ist zwar wegen seiner Leistungsfähigkeit und 
geringem Preis reizvoll, aber so komplex, dass ein Anfänger daran 
verzweifeln und die Lust verlieren kann. Das passiert mit Arduino so 
schnell nicht.
Für deinen geplanten Logger reichen die Möglichkeiten von Arduino locker 
aus.

Widerstand schreibt man nicht mit "ie"!!

Du musst deine Spannungen und Ströme an die ADC-Eingänge des Prozessors 
anpassen. Da können auch Operationsverstärker oder Stromsensoren (z.B. 
von LEM) nötig sein.

von avr (Gast)


Lesenswert?

Thomas R. schrieb:
> Dafür reicht ein Atmega1281
Bei mir hat ein Atmega8 dafür gereicht.

> Heute würde ich statt des Atmega aber ein ST32F4discovery verwenden, da
> ist die RTC mit drauf.

Ein Quarz ist nicht ausreichend?

> Der hat auch genug RAM, um die Messergebnisse in einer grafische Anzeige
> als Kurven darzustellen.

Man muss ja nicht den Bildschirminhalt im Ram speichern. Eine grafische 
Anzeige bekommt sogar selbst der kleinste Avr hin. Massenweise Ram 
braucht man nur bei ungeschickter Programmierung.

Für das einfache Projekt ist die Einarbeitung in die deutlich komplexere 
32bit CPU wahrscheinlich schon länger als man Zeit für die 
Programmierung bräuchte...

von Andreas W. (andreas_w11)


Lesenswert?

Welches board sollte ich nehmen? Um möglichst lang mit arduino arbeiten 
/ basteln zu können?

von Thomas R. (Gast)


Lesenswert?

avr schrieb:
> Thomas R. schrieb:
>> Dafür reicht ein Atmega1281
> Bei mir hat ein Atmega8 dafür gereicht.

Der ist zu klein für ein SD-Filesystem.

avr schrieb:
>> Heute würde ich statt des Atmega aber ein ST32F4discovery verwenden, da
>> ist die RTC mit drauf.
>
> Ein Quarz ist nicht ausreichend?

Woher nimmst du Uhrzeit/Datum nach einem Stromausfall?

avr schrieb:
>> Der hat auch genug RAM, um die Messergebnisse in einer grafische Anzeige
>> als Kurven darzustellen.
>
> Man muss ja nicht den Bildschirminhalt im Ram speichern. Eine grafische
> Anzeige bekommt sogar selbst der kleinste Avr hin. Massenweise Ram
> braucht man nur bei ungeschickter Programmierung.

Um den Tages/Wochenverlauf darzustellen, reicht das RAM des Atmega 
niemals, das ginge nur über Zugriffe auf die SD-Karte, aber dafür ist 
der ohnehin zu klein. s.o.

avr schrieb:
> Für das einfache Projekt ist die Einarbeitung in die deutlich komplexere
> 32bit CPU wahrscheinlich schon länger als man Zeit für die
> Programmierung bräuchte...

Das stimmt.

von Thomas R. (Gast)


Lesenswert?

Andreas Weiß schrieb:
> Welches board sollte ich nehmen? Um möglichst lang mit arduino arbeiten
> / basteln zu können?

Da würde ich ein Arduino-Board mit dem Atmega1281 oder Atmega2561 
nehmen.
Dann programmiere mal das Blinken einer LED, dann schreibe was in ein 
LCD-Display und dann lese mal die ADCs... und so kommst du rein in die 
Geschichte!

von Andreas W. (andreas_w11)


Lesenswert?

Was hat das für nen hintergrund? Ist es das "beste"?

Edit
Die syntax ist ja mir leicht bekannt ... Hab ne zeit bissle objectiv c 
gelernt ;) ja wissen wiederverwenden ;)

von Thomas R. (Gast)


Lesenswert?

Mit einem kleineren Arduino-Board wirst du wegen des kleineren RAMs sehr 
schnell an dessen Grenzen stossen.
Ein Atmega128/256 ist genauso leicht in C zu programmieren wie ein 
Atmega8, aber du bringst da viel mehr unter, so kostet z.B. die 
Benutzung der SD-Karte mehr Platz als ein Atmega8 bietet.

von Andreas W. (andreas_w11)


Lesenswert?

Thx für die info.

Ich find nur 2560 und 328 @ebay

von avr (Gast)


Lesenswert?

Thomas R. schrieb:
> avr schrieb:
>> Thomas R. schrieb:
>>> Dafür reicht ein Atmega1281
>> Bei mir hat ein Atmega8 dafür gereicht.
>
> Der ist zu klein für ein SD-Filesystem.

Naja, es ist möglich (elmChan Petit Fat) - ich habe trotzdem einen 
EEprom benutzt.

> Woher nimmst du Uhrzeit/Datum nach einem Stromausfall?

Ok, wenn man das Teil Stromausfallsicher machen möchte muss man sich was 
überlegen (Mein Vorschlag: Clockprescaler auf das Maximum und Sleep).

> avr schrieb:
>>> Der hat auch genug RAM, um die Messergebnisse in einer grafische Anzeige
>>> als Kurven darzustellen.
>>
>> Man muss ja nicht den Bildschirminhalt im Ram speichern. Eine grafische
>> Anzeige bekommt sogar selbst der kleinste Avr hin. Massenweise Ram
>> braucht man nur bei ungeschickter Programmierung.
>
> Um den Tages/Wochenverlauf darzustellen, reicht das RAM des Atmega
> niemals, das ginge nur über Zugriffe auf die SD-Karte
Genau das meine ich: Über die SD-Karte geht es wunderbar. Dafür braucht 
man keine 192KB Ram. Klar macht es die Programmierung einfacher, aber 
wenn wir so weiter machen dann reichen 4GB Ram bald nicht mal mehr für 
ein Malprogramm.

Aber für die SD-Karte würde ich wirklich eher zu 2KB Ram tendieren.

von Thomas R. (Gast)


Lesenswert?

avr schrieb:
> Thomas R. schrieb:
>> Dafür reicht ein Atmega1281
> Bei mir hat ein Atmega8 dafür gereicht.

Wie hast du es mit dem Atmega8 gemeistert, den Jahresverlauf von 12 
Parametern alle paar Minuten zu loggen, also zu speichern?
Der Atmega8 hat 8 kB Flash und 1 kB RAM.
Du schreibst, dass ein SD-Mini-Filesystem schon 2 kB RAM braucht.
Das Wärmepumpen-Loggerprogramm braucht bei mir 59 kB Flash.
Unter Verzicht auf Software-Qualität und -Zuverlässigkeit liesse sich 
das auf 32 kB reduzieren.
Die Preisdifferenz zwischen Atmega32 und Atmega128 rechtfertigt diesen 
Verzicht aber nicht.
Mit dem 128er habe ich auch noch genug Platz für eine optionale 
Steuerung.

von avr (Gast)


Lesenswert?

Thomas R. schrieb:
> Wie hast du es mit dem Atmega8 gemeistert, den Jahresverlauf von 12
> Parametern alle paar Minuten zu loggen, also zu speichern?

Ich weiß nicht was dein Programm alles macht, meines hat ein Menü über 
das man die Anzahl der Kanäle (1-4) und Messintervall festlegen kann. 
Danach werden die Daten in den EEprom über ein kleines Filesystem 
gespeichert. Die aktuellen Messwerte werden auch auf einem Lcd 
angezeigt. Den EEprom liest man über den Uart raus. Mehr ist es nicht. 
Ich weiß nicht wo du 59KB Flash benötigst. Nutzt du float o.ä.? (Ich 
nutze nur 16bit Festkomma.)

2KB Ram braucht man übrigens nur für komfortablere SD-Libs. Die von 
elmChan benötigt <64Byte Ram.

von Andreas W. (andreas_w11)


Lesenswert?

Muss ich das verstehen?
Ich hab das bestellt:
http://rover.ebay.com/rover/0/e11400.m1842.l3160/7?euid=2551a75406ec4017812d7e0de499141f&loc=http%3A%2F%2Fcgi.ebay.de%2Fws%2FeBayISAPI.dll%3FViewItem%26item%3D221082189384%26ssPageName%3DADME%3AL%3AOC%3ADE%3A3160

Ist der ok für das was ich machen will/ ist er erst mal ausreichend für 
anfänger bis fortgeshritten?

Wo wird der an seine grenzen kommen?

Lg

von Thomas R. (Gast)


Lesenswert?

Andreas Weiß schrieb:
> Ist der ok für das was ich machen will/ ist er erst mal ausreichend für
> anfänger bis fortgeshritten?
>
Für das, was du vor hast, reicht der mehr als genug!
Er hat z.B. 8 Analogeingänge und genügend RAM, Flash und EEprom, sodass 
du als Anfänger nicht auch noch mit Speicherplatz geizen musst.
> Wo wird der an seine grenzen kommen?
Die Grenzen liegen wahrscheinlich mehr bei dir und was du schaffst.

von Thomas R. (Gast)


Lesenswert?

avr schrieb:
> Ich weiß nicht was dein Programm alles macht, meines hat ein Menü über
> das man die Anzahl der Kanäle (1-4) und Messintervall festlegen kann.
> Danach werden die Daten in den EEprom über ein kleines Filesystem
> gespeichert. Die aktuellen Messwerte werden auch auf einem Lcd
> angezeigt. Den EEprom liest man über den Uart raus. Mehr ist es nicht.
> Ich weiß nicht wo du 59KB Flash benötigst. Nutzt du float o.ä.? (Ich
> nutze nur 16bit Festkomma.)

Mein Logger macht da schon erheblich mehr.
Floating Point nutze ich nicht.
Die Messwerte werden auch nicht in festen Zeitabständen, sondern immer 
nach relevanten Änderungen gespeichert. Es macht keinen Sinn, Messwerte, 
die sich nicht ändern, in festen, vorgegebenen Zeitabständen zu 
speichern.
Ich logge umso häufiger, je schneller sich die Messwerte ändern.
Dann sind da noch verschiedene Massnahmen zur Datensicherheit drin.
Die 6 digitalen Temperatursensoren sind über insgesamt 20 m Kabel 
angeschlossen und da kippt schon mal ein Bit um, wenn jemand in der Nähe 
drahtlos telefoniert oder sonstige EMV-Störungen auftreten.
Solche Störungen werden erfasst und in der Spalte "err" in dem obigen 
Textfile mitprotokolliert. Ich verwende ein speicherplatzfressendes 
ASCII-Format auf der SD-Karte, da sich diese Files problemlos mit Matlab 
oder Excel weiterverarbeiten lassen. Die SD-Karte ist trotzdem erst nach 
15 Jahren voll.
Wie oft müsste ich das EEProm des Atmega8 auslesen, weil es voll ist?
Es ist auch nicht von Nachteil, dass noch genügend Speicherplatz für 
eine spätere WLAN-Anbindung vorhanden ist.
Der Atmega128 kostet beim Reichelt gerade mal 7 € mehr wie ein 
Atmega8...

von avr (Gast)


Lesenswert?

Thomas R. schrieb:
> Es macht keinen Sinn, Messwerte,
> die sich nicht ändern, in festen, vorgegebenen Zeitabständen zu
> speichern.

Sollte man aber doch mal schwankende Werte speichern wollen, kostet die 
Zeit mehr Speicherplatz als der eigentliche Messwert. Es hat alles seine 
Vor- und Nachteile.

> Wie oft müsste ich das EEProm des Atmega8 auslesen, weil es voll ist?

Ich habe den Logger nicht dafür gebaut um Jahrelang zu messen.
Zurzeit ist ein 32KB EEPROM drin. Das reicht für 16000 Messpunkte.

> Der Atmega128 kostet beim Reichelt gerade mal 7 € mehr wie ein
> Atmega8...

Und damit 5 mal so viel.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.