Forum: Mikrocontroller und Digitale Elektronik 12v Strom Zähler selber bauen.


von solarforscher (Gast)


Lesenswert?

hallo

ich habe vor einen Strom Zähler für 12v zu bauen.

als Basis soll ein atmega 8 dienen, ein 2x16 zeiliges Display

die Messung für Spannung über ein spannungsteiler und der Strom über ein 
shunt.

ich hab jetzt schon Ansätze das der Strom Spannung und Watt in LCD 
angezeigt wird.
da ich noch nicht alzuviel Erfahrung habe frage ich wie Mann das weiter 
ausbauen kann oder ob es sowas schon gibt.

den Code werde ich heute Abend mal Posten. den hab ich Grad nicht zur 
Hand.

danke

von MaWin (Gast)


Lesenswert?

> das der Strom Spannung und Watt in LCD angezeigt wird.

Und Watt mal Stunden ergibt Wattstunen.

von Thomas D. (thomasderbastler)


Lesenswert?


von solarforscher (Gast)


Lesenswert?

danke für die schnellen antworten.

das ganze soll ja als Strom Zähler funkieren und wenn möglich auch in 
spannungslosen zustand noch speichern. so das der wie ein steomzahler 
Zuhause funktioniert.

ich hab auch schon mal versucht ein Energiekosten Messgerät um zu bauen 
nur es geht nicht weil die 50hz gebraucht werden.  das ganze soll für 
12volt sein



danke

von Ben _. (burning_silicon)


Lesenswert?

Du brauchst doch nur noch eine Zeitbasis und mußt beide Werte (Strom und 
Spannung) miteinander multiplizieren (zB. einmal pro Sekunde via Timer) 
und diese Werte addieren... Das Ergebnis sind dann Wattsekunden, wenn 
ich mich nicht irre sind 3.600.000 davon eine Kilowattstunde.

Bei Solaranlagen ändern sich Strom und Spannung einigermaßen langsam, 
wenn Du mit 1Hz oder evtl. 2-4Hz abtastest reicht das völlig.

von solarforscher (Gast)


Lesenswert?

hallo,

ich hatte wo anders einen Ansatz gefunden der leider nicht zu ende 
geführt wurde.
dort meinten die 1/10 Sekunde messen.

da ja alles was gemessen wird (Spannung,Strom) immer auf eine Stunde 
bezogen ist musste man ja dann

x/3600/10=y

x = gemmesener wert.


wenn jetzt y immer multipliziert  bekommt man der verbrauchten Strom 
raus unabhängig von der zeit,

kleinste Messung Ware dann halt 1/10 Sekunde. was ja reichen sollte

von solarforscher (Gast)


Lesenswert?

Nachtrag


ich möchte nicht die ladeleistung messen sondern den verbrauch aus den 
Akku

von MaWin (Gast)


Lesenswert?

Sortiere deine wirren Gedanken

> multipliziert

Du meinst wohl addiert.

> verbrauchten Strom raus unabhängig von der zeit

Du meinst wohl die Wattstunden Wh

> kleinste Messung Ware dann

du meinst wohl: währe

von Heinz (Gast)


Lesenswert?

solarforscher schrieb:
> ich möchte nicht die ladeleistung messen sondern den verbrauch aus den
> Akku

Vielleicht möchtest du dir diese Seite 
(http://www.duden.de/rechtschreibpruefung-online) anschauen.

von solarforscher (Gast)


Lesenswert?

ja genau so hätte es ausehen müssen.

blöde Technik die schreibt was sie will (tab)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

MaWin schrieb:
> du meinst wohl: währe
du meinst wohl: wäre

SCNR,

Frank

von MaWin (Gast)


Lesenswert?

> du meinst wohl: wäre

Mist :-(

von solarforscher (Gast)


Lesenswert?

hallo

abgesehen von den Fehlern die hier jeder bemerkt hat. sind meine 
gadankengänge richtig


danke

von Sebastian (Gast)


Lesenswert?

Früher gab es mal bei Conrad einen Gleichstromzähler für Solaranlagen 
als Bausatz. Der funktionerte analog, Spannung und Strom gingen über 
einen Analogmultiplizierer an einen Spannungs-Frequenzwandler (gibt es 
fertig als IC), dessen Ausgang einen Impulszähler ansteuerte.

von John B. (johnbauer)


Lesenswert?

Hier gibt es einen Gleichstromzähler:
http://www.elv.de/Gleichstrom-Z�%A4hler-Akku-Monitor-GZM-500/x.aspx/cid_726/detail_32755

Wie groß ist dein max. zu messender Strom? Das Modul kann 5,12A.

von solarforscher (Gast)


Lesenswert?

hallo,

geplant waren 2 solcher Zähler. einmal bis 20A und einmal bis 100A.

erstes für Licht und zweites für nutzverbraucher wie wechselrichter


danke

von solarforscher (Gast)


Lesenswert?

hallo,


ich glaube ich hab das Programm soweit fertig.

wo jetzt noch der hacken steckt.
wenn ich die Spannung wegnehme ist ja der wert wieder weg.
den wert in eepromm speichern geht zwar auch aber nach 10000 mal ist da 
dann auch Schluss.
 hat da evl jemand gen Lösungsansatz


danke

von MaWin (Gast)


Lesenswert?

> den wert in eepromm speichern geht zwar

Macht man auch, und zwar nur dann,
wenn die Spannung schon weit gesunken ist.

Spannung
   |
   +--|>|--+--uC
           |
         Elko
           |
          GND


Der kleine Elko hält die Spannung für den uC noch
lange genugdamit er ins EEPROM schreiben kann.

Ausserdem kann man mehrere Speicherzellen benutzen.
Beim Lesen nimmt man die letzte die nicht 0 ist.
Erst wenn alle vollgeschrieben sind, löscht man
sie alle auf einmal.

von ich_eben (Gast)


Lesenswert?

Wert im eprom nur speichern wenn der Strom weggeht, Pufferelko 
vorausgesetzt
gibts nen Schaltplan und Code?
Bild?

von H.Joachim S. (crazyhorse)


Lesenswert?

Was ist ein hacken?

Zum Thema:
-MC mit Batterie/Akku/Elko puffern und den Kram im RAM halten
-nicht jeden neuen Wert ins Eeprom speichern, sondern in sinnvollen 
Intervallen (der Strom fällt nicht jeden Tag aus)
-Stromausfall früherkennen und nur dann noch schnell ins Eeprom 
wegspeichern
-entwickle (oder kopiere) einen sinnvollen Eeprom-Algorithmus, der nicht 
einzelne Zellen totschreibt, sondern es über den gesamten Speicher 
verteilt
-verwende einen FRAM

oder oder oder

von Christoph (Gast)


Lesenswert?

Hallo,
der code ist evl noch ein wenig durcheinander.
schaltplan gibts noch nicht auserdem hab ich mich damit noch nicht 
auseinander gesetzt wie und mit was man sowas zeichnet.

ich kenne es ja aus den pc und anderen geräten wo eine puffer batterie 
drin ist kann mann das realisieren das die nicht sofort leer gesaugt 
wird

1
$regfile = "M8DEF.DAT"       'ATMega8
2
$crystal = 8000000
3
'$sim
4
5
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.4 , Rs = Portd.5
6
Config Lcd = 16 * 4
7
8
Cursor Off
9
                                       'LCD Display konfigurieren
10
Config Portd = Output
11
Config Portc = Input
12
13
Dim Ad As Word
14
Dim U As Single
15
Dim I As Single
16
Dim W As Single
17
Dim W2 As Single
18
Dim W3 As Single
19
Dim I2 As Single
20
Dim I3 As Single
21
22
Cls
23
24
25
26
Config Adc = Single , Prescaler = Auto , Reference = Avcc
27
Start Adc
28
29
Ad = 0
30
31
Cls
32
33
Do
34
Upperline
35
  'Cls
36
37
  Ad = Getadc(0)
38
                                ' ab hier steht dann der ADC-Wert
39
                                ' drei Leerzeichen; wenn sich der Wert um eine Stelle verkleinert,
40
41
  U = Ad / 1023       'Berechnung von ADC wert in lesbaren wert
42
  U = U * 200
43
  Locate 1 , 1
44
  Lcd Fusing(u , "##.##")       'Format für die anzeige in LCD
45
46
  Lcd "V" 'Formelzeichen
47
48
  Ad = Getadc(1)
49
                                ' ab hier steht dann der ADC-Wert
50
                                ' drei Leerzeichen; wenn sich der Wert um eine Stelle verkleinert,
51
52
  I = Ad / 1023       'Berechnung von ADC wert in lesbaren wert
53
  I = I * 50
54
  Locate 1 , 10       'Position im LCD
55
  Lcd Fusing(i , "##.##")       'Format für die anzeige in LCD
56
57
  Lcd "A" 'Formelzeichen
58
59
60
  W = U * I       'Umrechnung Spannung * Strom = Watt
61
  Locate 2 , 1
62
  Lcd Fusing(w , "##.##")
63
  Lcd "W"
64
 
65
   Waitms 1       '00
66
67
     'PB1: Signal einschalten (HIGH)          Blink LED für Status
68
   Portd.6 = 1
69
70
   'Eine Sekunde Warten
71
   Waitms 2       '00
72
73
   'PB1: Signal ausschalten (LOW)
74
   Portd.6 = 0
75
76
77
   W2 = W / 3600
78
   W3 = W3 + W2
79
   Locate 3 , 1
80
   Lcd Fusing(w3 , "##.##")
81
   Lcd "Wh"
82
83
84
   I2 = I / 3600
85
   I3 = I3 + I2
86
   Locate 4 , 1
87
   Lcd Fusing(i3 , "##.##")
88
   Lcd "Ah"
89
   'Eine Sekunde Warten
90
   Waitms 5       '00
91
92
93
 
94
Loop

von Unklar (Gast)


Lesenswert?

Ben _ schrieb:
> Du brauchst doch nur noch eine Zeitbasis und mußt beide Werte (Strom und
> Spannung) miteinander multiplizieren

Geht es jetzt um einen Stromzähler, was dann wenig mit der Spannung zu 
tun hätte, oder einen Leistungzähler (Energiemesser)?

von solarforscher (Gast)


Lesenswert?

hallo,

wenn Mann schon mal den Strom beim Wickel hat kann man ja die Leistung 
gleich mit nehmen.

die Spannung muss mit gemessen werden weil es ja nicht konstant 12v sind 
sondern ja nach Ladung zwischen elf und vierzehn.

ist der Grundgedanke richtig oder grundsätzlich falsch.

von Erich (Gast)


Lesenswert?

Man muss die Spannung messen, Einheit Volt, Auflösung hier (besser) 0,1 
Volt.
Man muss den messen, Einheit Ampere, Auflösung hier (besser) 0,1 Ampere.

Wenn man diese beiden Werte (zeitnah, sofort) multipliziert, hat man die 
(momentane) Leistung, Einheit Watt.

Dann braucht man eine Zeitbasis, z.B. einen Sekunden-Takt.
NICHT mit Wartezeit, sondern mit Timer !
Also jede Sekunde die Watt ermitteln, dann mit dem Sekundentakt (hier: 1 
) multiplizieren. Dann hat man die Energie , in Ws  (Wattsekunden, diese 
Einheit nennt sich auch Joule).
Bei 120 Watt kommt also jede Sekunden  120 Ws dazu.

Diese Ws muss man jetzt aufaddieren, möglichst in ein ausfallgesichertes 
EEPROM.  Evtl. nicht jede Sekunde ins EEPROM tun, sondern nur jede 
Minute oder noch seltener. Bei Reset natürlich jedesmal den bisherigen 
Zählerstand auslesen und dort weiterzählen.
Achtung: Es kommen das ganz schnell grosse Werte zusammen, über die 
Zeit.

Daher wird oft eine reduzierte Genauigkeit gespeichert.
Wie man lesen kann bei
http://de.wikipedia.org/wiki/Wattstunde
wäre z.B. 3600000 Ws (Joule)  eine  1 kWh ,
wegen Faktor  Stunde=3600 Sekunden und "k" 1000.

Ich meine, hier sollte eine Auflösung (Anzeigegenauigkeit) in kWh mit 3 
Nachkommastellen passend sein.

Ein prinzieller Ansatz wäre schon auch, ein käufliches 
"Energiekostenmeßgerät" auf 12 Volt umzubauen. Aber dazu müsste man 
natürlich das interne Kondensatornetzteil wegtun bzw. umbauen, ggf. den 
Shunt anpassen, die Spannungsmessung auf jeden Fall anpassen.
Ob so ein Teil dann DC erfasst (wenn quasi die "Frequenz" fehlt --- 
inetrne Fehlerauswertung??) das müsste man prüfen...

Gruss

von Solarforscher (Gast)


Lesenswert?

Hallo,

ich habe jetzt einige dinge über timer gelesen jetzt bin ich zum 
entschluss gekommen das der timer 1 der beste sei.

kann mir jetzt jemand etwas behilflich sein wie man das jetzt mit so nen 
timer macht hab das nicht ganz so verstanden.

der vorschlag wie oben mit einer secunde ist zwar gut aber ich würde 
gern 1/10 secunde nehmen.

muss man da umbedingt ein externen quarz nehmen oder geht auch der 
interne.
wie ungenau ist der interne denn nun genau.

Danke im vorraus

von Purzel H. (hacky)


Lesenswert?

Die Genauigkeit des Taktgebers steht im Datenblatt. (Mein Tip : mit 
XTAL2, dem 32kHz Quarz arbeiten). Ich wuerd mir auch mal Gedanken zum 
Stromverbrauch einer solchen Maschine machen. Wenn damit der Akku nach 
zwei Tagen entladen ist, bringt es wenig. Speziell wenn man den Zwang 
hat durch das Backlight des Displays die spezifizierten 100mA 
durchdruecken zu muessen... Der Eigen-Verbrauch sollte in den mW sein. 
Das Ganze ist vielleicht etwas komplizierter als zuerst ersichtlich.

von Solarforscher (Gast)


Lesenswert?

Hallo,

an den eigenverbrauch habe ich auch schon gedacht nur ob ich den dan mit 
messe oder nicht ist ja dann eigendlich bei der schaltung dann relewand.

ich habe bisher einen 200Ah Blei Akku und ca. 500W Modulleistung.
dementsprechend werden wohl noch akkus folgen müssen. werde erst noch 
eine hochrechnung machen wieviel verbrauch ich hab, aber das hat ja 
jetzt zum thema nicht viel zu sagen.

für die hindergrundbeleuchtung dachte ich mit entweder ein schalter zu 
setzen oder mit ein taster für eine gewisse zeit einzuschalten.

denn es wird später in den wohnraum hängen und da muss ja auch nicht 
nachts das licht an sein.

von Purzel H. (hacky)


Lesenswert?

Der Verbrauch des Zaehlers ist insofern relevat, wie er vom Output der 
Anlage weggeht. Nicht, dass man nun auf Mikrowatt designen muesste, aber 
in den Milliwatt. Ein Stromspardesign muss von Beginn weg als solches 
geplant werden, dass kann man nicht nachher noch drueberstuelpen. Also 
plans von Beginn weg als Solches. Dh kein 7805 und solche Scherze. Es 
gibt ja genuegend Seiten zu Atmel und Stromspar. Ich hab auch eine 
solche seite ...

von Solarforscher (Gast)


Lesenswert?

hallo,

jetzt wäre es nur noch interesant wie die seite ist kann sie nirgens 
finden.


kann mir jetzt aber noch jemand tips geben wie man so nen timer einbaut

von Klaus (Gast)


Lesenswert?

solarforscher schrieb:
> den wert in eepromm speichern geht zwar auch aber nach 10000 mal ist da
> dann auch Schluss.

Aus hackaday: Destroying an Arduino’s EEPROM
posted May 16th 2011 4:05am by Brian Benchoff

> The EEPROM saw it’s first write error after 47 days and 1,230,163 cycles.
> This is an order of magnitude better than the spec on the atmel
> datasheet, but similar to the results of similar experiments.

MfG Klaus

von Solarforscher (Gast)


Lesenswert?

hallo,

da scheint wohl mehr reinzupassen als man denkt

von Purzel H. (hacky)


Lesenswert?

Ich wuerd den Zaehler nicht im EEPROM haben wollen. Besser eine RTC, zB 
eine DS1302 oder so. Eine kleine Litiumbatterie und der laeuft ewig. Mit 
der richtigen Zeit kann man auch ein Verbrauchsprofil auswerten. 
Stromaufnahme kleiner 1uA. Der hat ein RAM und daher unendlich viele 
Schreibzyklen.

von Solarforscher (Gast)


Lesenswert?

Hallo,

kann mir mal jemand zwischendurch sagen mit was für ein programm mann 
gut schaltpläne zeichnen kann und evl. platinen layouts erstellen kann.

Wie soll dann die Li-ion Bat. angeschlossen werden. und was muss ich 
genau beachten wenn ich so ne schaltung stromsparend aufbauen will

MFG

von Solarforscher (Gast)


Lesenswert?

Hallo,


wegen daten in EEpromm speichern dachte ich mir da mann ja sowieso die 
spannung misst kann mann ja gleich sagen wenn die spannung zb. under 9 V 
geht wird einmal gespeichert und dann zb. einmal in der woche. das wäre 
dann, denke ich ein kompromiss zwischen lebensdauer und zählverlust.


MFG

von solarforscher (Gast)


Lesenswert?

hat evl jemand antworten für mich

danke

von Purzel H. (hacky)


Lesenswert?


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.