Forum: Mikrocontroller und Digitale Elektronik erste Schritte: AC-Messungen mit AVR


von Marcel P. (souko)


Lesenswert?

Hallo Profis,
ich habe mich ein bisschen belesen und mir mal ein paar Gedanken 
gemacht, und würde gerne eure Meinung dazu hören, ob ich hier vielleicht 
zu komplex oder in die völlig falsche Richtung denke.

ich möchte gerne Strom und Spannung von AC-Verbrauchern messen um damit 
hinterher verschiedene Werte berechnen zu können. (Blindleistung, 
Wirkleistung, Scheinleistung, cos_phi , etc.)

Hintergund: Ich möchte mich einfach damit beschäftigen, weil es mich 
interessiert und in Zukunft die Kenntnisse vielleicht auch für das ein 
oder andere Projekt im Bereich Energietechnik einzusetzen gedenke. Daher 
möchte ich auch keine fertigen IC's oder Messgeräte verwenden, sondern 
alles selbst per Software berechnen !

Gleich vorne Weg, ich bin vollwertiger Elektroniker ;-), und mir über 
Risiken, Gefahren und nötige Sicherheitsregeln bei Spannungen > 50V AC 
bewusst!

Nun möchte ich zunächst ein wenig experimentieren, und daher werde ich 
NICHT direkt an 230V arbeiten wollen, sondern erstmal mit 24V aus einem 
Trafo o.ä. basteln.

Zunächst möchte ich mal Spannung, Strom und Leistung (S und P) 
ermitteln. Dazu dachte ich mir, das ich den Strom per Hall-Sensor 
(schöner) oder Shunt (billiger) messe sowie die Spannung über einen 
Dioden-Gleichrichter und Spannungsteiler mit zwei ADC des AVR.

Um nun den Effektivwert der Spannung zu berechnen, würde ich die 
Spannung pro Periode etwa 200 mal abtasten und in ein Array schreiben.
Dann mit diesen Werten aus dem Array nach der bekannten RMS-Formel 
(Wiki: 
https://upload.wikimedia.org/math/c/8/a/c8a773f2ab0b62f983bbfbb2d160b65f.png)
den Effektivwert berechnen.

Das selbe würde ich für den Strom machen.

Daraus könnte ich mir dann ja auch den Spitzenwert der Spannung 
berechnen -> Ueff * sqrt(2) und brauche damit nicht in meinem Array nach 
dem höchsten Wert suchen (weil das könnte ja ein Peak sein, der mit 
meine Berechnungen verhaut)

Somit sollte ich doch Ueff, Û, Ieff und Î haben, oder ?

Wenn ich das nun als Energiezähler weiter stricken möchte, muss ich ja 
nur u und i (Momentanwerte) aus meinen Arrays multiplizieren und habe 
damit die Wirkleistung p dieser Abtastung, welche wieder in ein Array 
kommen. Diese Werte mittle ich wieder und habe damit meine Wirkleistung 
P / Sekunde. Diese schreibe ich jede Sekunde in ein weiteres Array und 
nach 60 Sekunden / Werten dann mitteln und durch 60 (Minuten) teilen. 
Dann hätte ich doch die umgesetzte Energie in Wh (Wattstunden) dieser 
Minute, oder ?

Messen und rechnen würde ich alles in mV, mA und mW, damit mir hier 
keine float-Zahlen entstehen, welche mir Speicher fressen ohne Ende.

Bin ich bis dahin auf dem richtigen Weg, oder habt ihr Tipps aus der 
Praxis bezüglich Sampling-Rate, Berechnungen, Fehler welche zu 
Ungenauigkeit führen ?
Ich will hiermit keine Energiekosten abrechnen oder ähnlich genaues 
vollbringen, es geht prinzipiell erstmal nur um das Verständnis und den 
Lerneffekt.

Vielen dank für eure Geduld beim lesen und helfen !

Grüße, Marcel

von Düsendieb (Gast)


Lesenswert?

Aufpassen: µc können keine negativen Spannungen messen. Also nur 0-5V

von Marcel P. (souko)


Lesenswert?

Das ist mir klar,
daher ja auch einen Gleichrichter vor die ADC's ;-)

von Wolfgang (Gast)


Lesenswert?

Marcel P. schrieb:
> Das ist mir klar, daher ja auch einen Gleichrichter vor die ADC's ;-)

Hoffentlich ein Messgleichrichter, der die Vorwärtsspannung der Dioden 
ausregelt.

von Marcel P. (souko)


Lesenswert?

darüber habe ich mir noch keine gedanken gemacht. Ich hätte normale 
Dioden genommen und die Spannungsdifferenz zwischen ADC und wirklichem 
Wert einmal in Software kalibriert.

Wie gesagt, es geht hier primär erstmal ums experimentieren. Genauigkeit 
ist zweitrangig...

von Karl H. (kbuchegg)


Lesenswert?

Marcel P. schrieb:
> darüber habe ich mir noch keine gedanken gemacht. Ich hätte normale
> Dioden genommen und die Spannungsdifferenz zwischen ADC und wirklichem
> Wert einmal in Software kalibriert.
>
> Wie gesagt, es geht hier primär erstmal ums experimentieren. Genauigkeit
> ist zweitrangig...

OK. Damit das in Gang kommt.
Die Idee klingt nicht schlecht.

Reicht das, damit du mit experimentieren anfängst?
(Warum ich das so sage: Weil das immer so klingt, als ob es ein 
Weltuntergang wäre, wenn man dann rausfindet das man irgendwas 
grundlegendes übersehen hat. Nein, dem ist nicht so. Auch ein 
fehlgeschlagenes Experiment hat einen Lerneffekt. Ganz im Gegenteil. 
Gerade die Fehlschläge sind es, die einen weiter bringen! Das Wichtigste 
ist, ds du machst. Was hast du zu verlieren? Du brauchst 1 Widerstand, 
der dir im schlimmsten Fall abbrennen kann. Nicht wirklich eine 
grossartige INvestition)

: Bearbeitet durch User
von Marcel P. (souko)


Lesenswert?

Das Problem ist nicht, das ich scheu habe vorm experimentieren oder so.
Ich gehe viele Sachen nur gerne vorher in der Theorie durch, bevor ich 
sie aufbaue.

Das eine Messung mit ADC und der Kalibrierung über Software 
funktioniert, das weiss ich. Das habe ich beispielsweise bei meiner 
Technikerarbeit angewandt (ADC misst DC-Supply-Spannung und wird über 
EEPROM-Eintrag abgeglichen/kalibriert)

Mir geht es Zentral um die Thematiken Samplingraten bei AC-Messungen, 
Berechnungen, oder wie man die Mittelwertbildung fortlaufend lösen 
könnte.

Mal sehen. Werde mir wohl mal ein Steckbrett leer räumen und ein 
bisschen was drauf aufbauen...

von Ingo (Gast)


Lesenswert?

Nimm bitte einen STM32F030 dafür. Mit nem AVR machst du dir hier das 
Leben unnötig schwer.

von Marcel P. (souko)


Lesenswert?

Hm. Ich sehe hier keinen Vorteil für mich.
Für AVR's habe ich alles da. Tools, IDE, controller.

Mit ST habe ich mich noch nie beschäftigt.. Ausserdem denke ich das die 
leistung eines AVR hierfür weit ausreichend ist, oder irre ich mich da ?

von Axel S. (a-za-z0-9)


Lesenswert?

Marcel P. schrieb:
> Hm. Ich sehe hier keinen Vorteil für mich.
> Für AVR's habe ich alles da. Tools, IDE, controller.
>
> Mit ST habe ich mich noch nie beschäftigt.. Ausserdem denke ich das die
> leistung eines AVR hierfür weit ausreichend ist

Ganz richtig. Das Limit setzt in jedem Fall der ADC, nicht der CPU-Kern. 
Mein Vorschlag: ignoriere die ARMen Würstchen, wenn sie dir ihr 
Lieblingsspielzeug andienen wollen.

Düsendieb schrieb:
> Aufpassen: µc können keine negativen Spannungen messen. Also nur 0-5V

Marcel P. schrieb:
> Das ist mir klar,
> daher ja auch einen Gleichrichter vor die ADC's ;-)

(vorweg: es wäre schön gewesen, wenn du Daniel hier gequotet hättest vor 
deiner Antwort)

Dazu möchte ich noch bemerken, daß ein Gleichrichter (egal ob die 
Präzisionsvariante oder nicht) gerade nicht ausreicht wenn man eine 
Wirkleistungsmessung implementieren will. Denn dazu braucht man neben 
dem Absolutwert von Spannung/Strom auch die Information über das 
Vorzeichen. Denn das Merkmal einer Blindleistung ist ja gerade, daß das 
Vorzeichen der Momentanleistung auch mal negativ werden kann.

von Marcel P. (souko)


Lesenswert?

Axel S. schrieb:
> (vorweg: es wäre schön gewesen, wenn du Daniel hier gequotet hättest vor
> deiner Antwort)

Jaa, das mit den quotes muss ich mir noch angewöhnen. Ich gelobe 
Besserung !

> Dazu möchte ich noch bemerken, daß ein Gleichrichter (egal ob die
> Präzisionsvariante oder nicht) gerade nicht ausreicht wenn man eine
> Wirkleistungsmessung implementieren will. Denn dazu braucht man neben
> dem Absolutwert von Spannung/Strom auch die Information über das
> Vorzeichen. Denn das Merkmal einer Blindleistung ist ja gerade, daß das
> Vorzeichen der Momentanleistung auch mal negativ werden kann.

irgendwie stehe ich gerade auf der Leitung.
Meine wirkleistung ist doch immer positiv ?

Klar kann strom und spannung negativ werden, aber selbst dann.. minus 
mal minus ergibt plus.. und Q=sqrt(S²-P²)

von Marcel P. (souko)


Lesenswert?

Ach.. verdammt.. klar..  phasenverschiebung bei induktiver oder 
kapazitiver belastung..
Und schon ist Strom und Spannung nicht mer phasengleich... somit... plus 
mal minus ergibt minus -> negative Leistung !

von Ingo L. (corrtexx)


Lesenswert?

Axel S. schrieb:
> Das Limit setzt in jedem Fall der ADC
Ganz klar

Axel S. schrieb:
> ignoriere die ARMen Würstchen
OK

Marcel P. schrieb:
> Hm. Ich sehe hier keinen Vorteil für mich.
> Für AVR's habe ich alles da. Tools, IDE, controller.
Das erwähntest du bis jetzt nicht, aber der Vorteil ist nicht von der 
Hand zu weisen: Der ADC ist deutlich schneller, die Datenverarbeitung 
geht auch deutlich schneller. Ich nutze die AVRs auch sehr gerne. Aber 
für manche Dinge sind die die ARMen Würstchen doch besser geeignet ;)

von Walter S. (avatar)


Lesenswert?

Ingo L. schrieb:
> Der ADC ist deutlich schneller, die Datenverarbeitung
> geht auch deutlich schneller.

ja und, ein Porsche ist auch deutlich schneller als ein Polo,
das ist aber völlig irrelevant wenn man damit um die Ecke Brötchen holen 
fährt

von Ingo L. (corrtexx)


Lesenswert?

Walter S. schrieb:
> ja und, ein Porsche ist auch deutlich schneller als ein Polo,
> das ist aber völlig irrelevant wenn man damit um die Ecke Brötchen holen
> fährt
Also würdest du einen Polo einem Porsche vorziehen, wenn du den Porsche 
für weniger Geld bekommst? Was stimmt denn mit dir nicht?

Mal ganz abgesehen davon, das der TE sich bis jetzt noch nicht dazu 
geäußert hat, ob er evtl. auch drei-phasig messen will. Dann nämlich 
wirds recht eng mit nem AVR.

Und mal ganz im Ernst: Das Jonglieren mit 16 bzw 32 Bit Variablen und 
viele Daten verarbeiten ist nicht wirklich das, was ein AVR gut kann.
Been there, done that!

Aber der TE hat ja nun auch gesagt, das er alles da hat und nicht 
umsteigen möchte. Alles gut.


P.S.:
Atmega328: 2kB RAM, 32kB Flash, 20MHz, 15kS/s ADC, LQFP32 => ~3€
STM32F030: 4kB RAM, 32kB Flash, 48MHz, 1MS/s ADC, DMA, LQFP32 => ~1,5€
SCNR

von Dirk K. (dekoepi)



Lesenswert?

Ohne den Glaubenskrieg mitzumachen: Ich habe den ersten Testaufbau für 
solche Messungen mit AVR gefrickelt. Wie so oft ging mir ganz schnell 
der 10-Bit-ADC auf die Nerven, weil die Auflösung zu gering ist. Rasch 
auf STM32F030-Minimalboard umgestrickt und schon schön glatte 
12-Bit-Kurven erhalten. (Und jetzt geht es weiter mit externen 16- oder 
gar 24-Bit-ADCs.) Da ist dann der µC wieder zweitrangig, ich präferiere 
jedoch den STM32.
Anbei mal zwei Graphen - einmal 10 Bit, einmal 12 Bit. Ist schon ein 
Unterschied.

: Bearbeitet durch User
von Ingo L. (corrtexx)


Lesenswert?

Dirk K. schrieb:
> Ohne den Glaubenskrieg mitzumachen:
Ist kein Glaubenskrieg, denn ich benutze AVRs auch sehr gern. Mein 
Vorschlag war lediglich eine Empfehlung an den TE, sich Probleme von 
vorn herein aus dem Weg zu schaffen, bevor er auf diese stößt, weil sich 
der STM bei diesem Projekt einfach in allen Belangen deutlich besser 
eignet. Die Peripherie ist einfach besser 
(ADC,DMA,32-Bit,Rechenleistung,...).
Ich habe ja nie gesagt, dass es mit nem AVR nicht geht, es geht nur mit 
nem STM deutlich besser/einfacher:

- Messung über alle Kanäle per Timer triggern (hier 10kHz)
- DMA schaufelt die Daten in ein Array
- Nach 200 Messungen sagt der DMA Bescheid und es kann gerechnet werden

Marcel P. schrieb:
> Um nun den Effektivwert der Spannung zu berechnen, würde ich die
> Spannung pro Periode etwa 200 mal abtasten und in ein Array schreiben.
Außerdem halte ich das schon für nicht möglich, denn das würde bedeuten 
er müsste bei Strom und Spannung jeweils mit 10kHz abtasten, was dann 
grundsätzlich 20kHz entspricht => schafft der ADC nicht...

Marcel P. schrieb:
> Das selbe würde ich für den Strom machen.
Macht aber nur Sinn, wenn Strom und Spannung annähernd simultan gemessen 
werden, also nicht periodenweise abwechselnd. Ansonsten wird das eher ne 
Schätzung als ne Messung.

von Marcel P. (souko)


Lesenswert?

Ingo L. schrieb:
> Dirk K. schrieb:
>> Ohne den Glaubenskrieg mitzumachen:
> Ist kein Glaubenskrieg, denn ich benutze AVRs auch sehr gern. Mein
> Vorschlag war lediglich eine Empfehlung an den TE, sich Probleme von
> vorn herein aus dem Weg zu schaffen, bevor er auf diese stößt, weil sich
> der STM bei diesem Projekt einfach in allen Belangen deutlich besser
> eignet. Die Peripherie ist einfach besser
> (ADC,DMA,32-Bit,Rechenleistung,...).
> Ich habe ja nie gesagt, dass es mit nem AVR nicht geht, es geht nur mit
> nem STM deutlich besser/einfacher:
>
> - Messung über alle Kanäle per Timer triggern (hier 10kHz)
> - DMA schaufelt die Daten in ein Array
> - Nach 200 Messungen sagt der DMA Bescheid und es kann gerechnet werden
>
> Marcel P. schrieb:
>> Um nun den Effektivwert der Spannung zu berechnen, würde ich die
>> Spannung pro Periode etwa 200 mal abtasten und in ein Array schreiben.
> Außerdem halte ich das schon für nicht möglich, denn das würde bedeuten
> er müsste bei Strom und Spannung jeweils mit 10kHz abtasten, was dann
> grundsätzlich 20kHz entspricht => schafft der ADC nicht...

Die 200 Samples waren nur ein Beispiel/Schätzung. Das ich das eventuell 
mit dem internen ADC nur schwer bis garnicht hin bekomme, habe ich bis 
hier außer acht gelassen und das mehrphasiges Messen entsprechend mehr 
Aufwand/Rechenleistung bedeuten, ist sowieso klar.

Wie gesagt, es geht mir hier erstmal nur um die Grundprinzipien der 
AC-Messung und der Rechnerei hinterher. Und die Berechnungen an sich 
sind wohl auf jeden µC die gleichen.
Das ich für entsprechende Anwendungen, welche Genauigkeit erfordern, 
einen schnelleren Controller bzw. ADC mit höherer Auflösung nehme, ist 
mir klar !
Ich habe hier auch noch ein paar Boards mit entsprechenden Controllern 
liegen (SAKXC2080 sowie eines mit STM32F746) aus dem Automotive-Bereich. 
Bisher aber keine Muße mich damit zu befassen, da bisher alle meine 
Projekte mit Tiny's Megas oder Xmegas abgedeckt werden konnten. Und ein 
AT-SAM liegt hier auch noch...

>
> Marcel P. schrieb:
>> Das selbe würde ich für den Strom machen.
> Macht aber nur Sinn, wenn Strom und Spannung annähernd simultan gemessen
> werden, also nicht periodenweise abwechselnd. Ansonsten wird das eher ne
> Schätzung als ne Messung.

Auch das ist klar. Bringt ja nichts wenn ich nen Strom und ne Spannung 
mit 20ms zeitlicher Differenz miteinander verrechne !

von Ingo L. (corrtexx)


Lesenswert?

Marcel P. schrieb:
> Die 200 Samples waren nur ein Beispiel/Schätzung.
Marcel P. schrieb:
> Ich gehe viele Sachen nur gerne vorher in der Theorie durch, bevor ich
> sie aufbaue.
Und das ist auch gut so. Nichts desto trotz musst du dir erstmal Ziele 
stecken und gucken, ob die mit deiner Hardware möglich sind.

Ziel1
20kHz Samplefrequenz
Festellen: Geht nicht!
Samplefrequenz runter nehmen bis es geht, prüfen ob`s dann noch reicht

Ziel2
...
Ziel3
...
Also erstmal alles aufschreiben was du willst, dann aufschreiben was du 
kannst. Engpässe abschätzen/bewerten, ggf. Specs anpassen.

Erst wenn das alles geschehen ist, den Lötkolben in die Hand nehmen. 
Sonst drehst du dich ständig im Kreis und verlierst die Motivation.

Gleiches dann auch für die Software, dass geht dann wesentlich leichter 
von der Hand wenn du weisst wo du hinwillst und was bei raus kommen 
soll.

Marcel P. schrieb:
> Auch das ist klar.
Na dann ist doch alles klar ;)
Los geht`s.

von Lurchi (Gast)


Lesenswert?

Wenn man echte Leistung erfassen will, braucht man das Vorzeichen und 
sollte deshalb nicht gleichrichten. Einen DC Offset kann man relativ gut 
dazu addieren, dann kann der ADC auch die Wechselspannung abtasten, nur 
mit einem ggf. echten DC Anteil, also etwa überlagertem Gleichstrom tut 
man sich ggf. etwas schwer.

Als Stromsensor bietet sich ggf. auch noch ein Stromtransformator an - 
für den ersten Test ggf. einfach eine Ringkerndrossel (eher weiches 
Material, also etwa eine Stromkompensierte Drossel).

Der 10 Bit ADC der klassischen AVRs ist schon eine kleine Einschränkung, 
vor allem wenn der Strom über einen größeren Bereich variiert. Da müsste 
man sich dann ggf. über eine Bereichsumschaltung (ggf. auch einfach das 
Signal noch einmal verstärkt auf einen 2. Eingang) Gedanken machen. Die 
2 Bit mehr die die meisten ARMs oder ein Xmega mehr bringen helfen da 
etwas, aber auch nicht so viel.
Bei der eher festen Spannung ist das noch kein Problem - da reichen 
selbst 8 Bit gut aus, insbesondere wenn man genügend Punkte auswertet.

Von der Geschwindigkeit reicht auch der AVR aus, um das Signal mit etwa 
10 kHz abzutasten und in Echtzeit auszuwerten, so dass man nicht alle 
Werte einzeln speichern muss. Es werden dann jeweils nur einige wenige 
Summen (z.B. direkte Summe für den DC wert, Summe der Quadrate für 
Effektivwert, Summe der Leistungen, ...) und nur zur Anzeige, etwa je de 
Sekunde die Ergebnisse ausgerechnet. Atmel hat zur Leistungsmessung mit 
dem AVR auch eine Apppl. note.

von Marcel P. (souko)


Lesenswert?

Lurchi schrieb:
> Wenn man echte Leistung erfassen will, braucht man das Vorzeichen und
> sollte deshalb nicht gleichrichten. Einen DC Offset kann man relativ gut
> dazu addieren, dann kann der ADC auch die Wechselspannung abtasten, nur
> mit einem ggf. echten DC Anteil, also etwa überlagertem Gleichstrom tut
> man sich ggf. etwas schwer.

Das mit dem Vorzeichen hatten wir oben schonmal, klar, weil das ist ja 
unter anderem für Blindleistung wichtig !

Hm, das heisst, Zum Beispiel ein AC-Signal mit max. 5V Spitze-Spitze 
könnte ich mit einem DC von 2.5V beaufschlagen. Dadurch wären dann nach 
dem ADC der Wert 0 -> -2.5V AC und 1023 -> 2.5V AC und 512 wären -> 0V 
AC

Also so in etwa (Widerstandswerte nur geschätzt)
1
  +5V
2
  -------------o--------------.
3
               |              |
4
              .-.             |
5
              | |             |
6
           2k | |      .------o---.
7
      2k      '-'      |          |
8
        ___    |       |          |
9
  AC  -|___|---o-------|  ADC     |
10
               |       |          |
11
              .-.      |          |
12
              | |      '------o---'
13
          2k  | |             |
14
              '-'             |
15
  GND          |              |
16
  -------------o--------------'


ODER, ich richte DOCH gleich, und erfasse aber mit irgend einem 
Signal/Bit das Vorzeichen zusätzlich. Klar, das ist dann etwas 
umständlicher, würde aber doch gehen !?

Wobei ich glaube das mit dem DC-Offset ist einfacher.


> Als Stromsensor bietet sich ggf. auch noch ein Stromtransformator an -
> für den ersten Test ggf. einfach eine Ringkerndrossel (eher weiches
> Material, also etwa eine Stromkompensierte Drossel).

Ich hab hier in der Firma noch ein paar Stromwandler rumliegen. Muss mal 
gucken für welchen Bereich die kleinsten geeignet sind.  Die großen sind 
erstmal ungeeignet (2,5 kA) ;-)

> Der 10 Bit ADC der klassischen AVRs ist schon eine kleine Einschränkung,
> vor allem wenn der Strom über einen größeren Bereich variiert. Da müsste
> man sich dann ggf. über eine Bereichsumschaltung (ggf. auch einfach das
> Signal noch einmal verstärkt auf einen 2. Eingang) Gedanken machen. Die
> 2 Bit mehr die die meisten ARMs oder ein Xmega mehr bringen helfen da
> etwas, aber auch nicht so viel.
> Bei der eher festen Spannung ist das noch kein Problem - da reichen
> selbst 8 Bit gut aus, insbesondere wenn man genügend Punkte auswertet.

Wiegesagt, zum Ausprobieren und Lernen reichen mir 10 bit erstmal.

> Von der Geschwindigkeit reicht auch der AVR aus, um das Signal mit etwa
> 10 kHz abzutasten und in Echtzeit auszuwerten, so dass man nicht alle
> Werte einzeln speichern muss. Es werden dann jeweils nur einige wenige
> Summen (z.B. direkte Summe für den DC wert, Summe der Quadrate für
> Effektivwert, Summe der Leistungen, ...) und nur zur Anzeige, etwa je de
> Sekunde die Ergebnisse ausgerechnet. Atmel hat zur Leistungsmessung mit
> dem AVR auch eine Apppl. note.

Muss ich mal suchen, Danke !

von Ingo L. (corrtexx)


Lesenswert?

Marcel P. schrieb:
> Wobei ich glaube das mit dem DC-Offset ist einfacher.
Bedingt. Du musst deine Spannung ja auch runterteilen und dann auf den 
Spannungsteiler koppeln. Aber ja, geht und wir auch gemacht. Du musst 
halt nur aufpassen, dass du es nicht zu hochohmig machst (Richtwert < 
10k lt. Datenblatt)

Weiter würde ich direkt am ADC Eingang noch n 1-10nF C spendieren, dann 
hast du gleich ne Bandbreitenbegrenzung und Aliaseffekte werden 
vermieden.

Du kannst auch den Spannungsteiler und den DC-Offset mit nem Summierer 
machen, das ist dann eine sehr elegante Lösung und der ADC-Pin wird 
niederohmig vom OPV getrieben. Dann allerdings den Kondensator am ADC 
eher im Bereich 47-100pF, weil die meisten OPVs sich mit kapazitiver 
Last schwer tun.

von Uwe (Gast)


Lesenswert?

Hi,
warum sollten 10 Bit ADC nicht reichen? Für die Spannung langen mir 
1V/LSB bei Û(346V) passt das wunderbar. Für I habe ich Wandler so 
abgestimmt das 1LSB = 0,1A ist,  sind->511 Inc = 51,1A (Î)-> immerhin 
36A eff.
ADC rennt bei 125KHz->104µs je Wandlung reicht für 196 Wandlungen in 
20ms.
Da man auch noch rechnen muss mache ich nur 128 Wandlungen. Mir reicht 
das, und im Vergleich zu 20?? Messungen mit dem Oszi habe ich 
Abweichungen von sehr wenigen Watt. Wenn man natürlich auf 0,01W genau 
sein will muss man das mit STM32 machen. Für meine 3-Phasenmessung langt 
jedenfalls ein Mega8 mit intern 8MHz.

Viel Erfolg, Uwe

von Marcel P. (souko)


Lesenswert?

Uwe schrieb:
> Hi,
> warum sollten 10 Bit ADC nicht reichen? Für die Spannung langen mir
> 1V/LSB bei Û(346V) passt das wunderbar. Für I habe ich Wandler so
> abgestimmt das 1LSB = 0,1A ist,  sind->511 Inc = 51,1A (Î)-> immerhin
> 36A eff.

Wie hast du das denn zur Spannungsmessung an deinen µC gekoppelt ? hast 
du da mal einen Ausschnitt aus deiner Schaltung ?

> ADC rennt bei 125KHz->104µs je Wandlung reicht für 196 Wandlungen in
> 20ms.
> Da man auch noch rechnen muss mache ich nur 128 Wandlungen. Mir reicht
> das, und im Vergleich zu 20?? Messungen mit dem Oszi habe ich
> Abweichungen von sehr wenigen Watt. Wenn man natürlich auf 0,01W genau
> sein will muss man das mit STM32 machen. Für meine 3-Phasenmessung langt
> jedenfalls ein Mega8 mit intern 8MHz.
>
> Viel Erfolg, Uwe

Hört sich interessant an ! Was überwachst/misst du denn damit so ?

Grüße, Marcel

von Uwe (Gast)


Lesenswert?

Hi,
>Wie hast du das denn zur Spannungsmessung an deinen µC gekoppelt ?
über Spannungsteiler und OV auf UB=REF/2
>hast du da mal einen Ausschnitt aus deiner Schaltung ?
momentan nicht, bin gerade auf Arbeit. Kann ja später mal den Plan 
reinstellen.

Viel Erfolg, Uwe

von Marcel P. (souko)


Lesenswert?

Uwe schrieb:
> Hi,
>>Wie hast du das denn zur Spannungsmessung an deinen µC gekoppelt ?
> über Spannungsteiler und OV auf UB=REF/2

Also ohne galvanische Trennung...!?

>>hast du da mal einen Ausschnitt aus deiner Schaltung ?
> momentan nicht, bin gerade auf Arbeit. Kann ja später mal den Plan
> reinstellen.
>
> Viel Erfolg, Uwe

Das wäre seeehr nett von dir, Danke schonmal !

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dirk K. schrieb:
> Wie so oft ging mir ganz schnell der 10-Bit-ADC auf die Nerven, weil die
> Auflösung zu gering ist.

Dann könnte er aber immer noch auf einen Xmega gehen, wenn er bei den
ihm gewohnten AVRs bleiben will.  Dann hat er auch den 12-bit-ADC
mit DMA, Hardwaremultiplizierer ohnehin (haben ja schon die MegaAVR).

Marcel P. schrieb:
> Dazu dachte ich mir, das ich den Strom per Hall-Sensor (schöner) oder
> Shunt (billiger) messe

Dritte Variante: Stromwandler (niederohmig belasteter Trafo mit einer
sehr kleinen Primärwicklung, ggf. gar nur eine Windung).

von Walter S. (avatar)


Lesenswert?

Ingo L. schrieb:
> Walter S. schrieb:
>> ja und, ein Porsche ist auch deutlich schneller als ein Polo,
>> das ist aber völlig irrelevant wenn man damit um die Ecke Brötchen holen
>> fährt
> Also würdest du einen Polo einem Porsche vorziehen, wenn du den Porsche
> für weniger Geld bekommst? Was stimmt denn mit dir nicht?
ja würde ich wenn ich für den Porsche erst eine Schulung machen müsste,

der TO hat gesagt er hat einen Polo und möchte damit Brötchen holen. 
Dann kamst du und sagtest nimm doch einen Porsche, der ist viel 
schneller.
Das habe ich so nicht stehen lassen um dann von dir als Kommentar zu 
lesen:

>Was stimmt denn mit dir nicht?

Vielen Dank für den Fisch.

von Uwe (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
bitteschön, die Urversion für 1Phase weil da alles drauf ist.
Die anderen beiden Phasen hängen an ADC2/3 und ADC4/5.
> Was überwachst/misst du denn damit so ?
Einen "Dachs" auf Überschussenergie.

Viel Erfolg, Uwe

von Marcel P. (souko)


Lesenswert?

Walter S. schrieb:
> der TO hat gesagt er hat einen Polo und möchte damit Brötchen holen.

NÄ, wenn dann ein Opel, aber nimmernicht nen VW ;-)

Uwe schrieb:
> Hi,
> bitteschön, die Urversion für 1Phase weil da alles drauf ist.
> Die anderen beiden Phasen hängen an ADC2/3 und ADC4/5.
>> Was überwachst/misst du denn damit so ?
> Einen "Dachs" auf Überschussenergie.
>
> Viel Erfolg, Uwe

Vielen vielen Dank Uwe,
und ich gehe nicht davon aus, das du den Tarnfleck-Dachs sondern das 
BHKW meinst ! Sehr interessante Sache... Ein BHKW durfte ich vor ein 
paar Monaten verkabeln. War ein EcoBlue 2.0

von Frank K. (fchk)


Lesenswert?

Marcel P. schrieb:

> ich möchte gerne Strom und Spannung von AC-Verbrauchern messen um damit
> hinterher verschiedene Werte berechnen zu können. (Blindleistung,
> Wirkleistung, Scheinleistung, cos_phi , etc.)
>
> Hintergund: Ich möchte mich einfach damit beschäftigen, weil es mich
> interessiert und in Zukunft die Kenntnisse vielleicht auch für das ein
> oder andere Projekt im Bereich Energietechnik einzusetzen gedenke. Daher
> möchte ich auch keine fertigen IC's oder Messgeräte verwenden, sondern
> alles selbst per Software berechnen !

> Zunächst möchte ich mal Spannung, Strom und Leistung (S und P)
> ermitteln. Dazu dachte ich mir, das ich den Strom per Hall-Sensor
> (schöner) oder Shunt (billiger) messe sowie die Spannung über einen
> Dioden-Gleichrichter und Spannungsteiler mit zwei ADC des AVR.

Ich rate Dir dringend, NICHT die ADCs des AVR zu verwenden, sondern 
einen externen.

Den hier zB.:
http://ww1.microchip.com/downloads/en/DeviceDoc/20002286C.pdf

Das hat folgende Gründe:
1. Die enthaltenen ADCs sind besser.
2. Wenn Du Dir die Formeln anschaust, wirst Du feststellen, dass Du 
Strom und Spannung zur selben Zeit messen musst. Dieser Chip hier macht 
das, der ist nämlich extra für diese Anwendung gedacht.
3. und das ist der wichtigste Punkt: Du kannst die ADCs galvanisch vom 
Prozessor trennen. Empfehlung dafür:

https://www.silabs.com/Support%20Documents/TechnicalDocs/Si866x.pdf

und zwar Si8662BD-B-IS im Wide-SOIC Gehäuse wegen der Isolationsstrecke. 
Damit bekommst Du alle Signale übertragen.

Die isolierte Seite versorgst Du am Besten und einfachsten mit einem 
DC-DC-Wandler. Dass Du eine Bauform mit möglichst großem 
Isolationsabstand wählst, brauche ich Dir nicht zu erklären. Sowas hier 
zB.

http://www.reichelt.de/Wandler-Module-DC-DC/MEV1S0505SC/3/index.html?ACTION=3&GROUPID=4956&ARTICLE=140583&OFFSET=500&WKID=0&;

Wenn Du so startest, hast Du einen Aufbau, bei dem Du am Anfang mit 24V 
starten kannst, der aber durch Anpassung der Spannungsteiler auch für 
Netzspannung geeignet ist.

So, damit hast Du alles zusammen, was Du für einen präzisen und sicheren 
Aufbau brauchst.

fchk

von Joachim B. (jar)


Lesenswert?

Uwe schrieb:
> bitteschön, die Urversion für 1Phase weil da alles drauf ist.

AREF mit AVCC verbunden?

kommt mir merkwürdig vor.

von Frank K. (fchk)


Angehängte Dateien:

Lesenswert?

Und so kann das dann aussehen. An die 3-poligen Pfostenleisten hängst Du 
dann Deine Shunts, Rogowski-Spule oder was auch immer.

fchk

von ich (Gast)


Lesenswert?

Joachim B. schrieb:
> AREF mit AVCC verbunden?
>
> kommt mir merkwürdig vor.

Das reicht in vielen Fällen aus.

von Joachim B. (jar)


Lesenswert?

ich schrieb:
> Das reicht in vielen Fällen aus.

AREF mit AVCC verbinden? was soll daran ausreichen, das bleibt ein 
Schaltungsfehler, bitte nicht verwechseln mit AVCC mit VCC verbinden!

AREF wird nach aussen gelegt wenn die AREF mit interner Wahl z.B. 
Auswahl interne Ref oder AVCC verbunden wird, dort liegt üblicherweise 
die Ref Spannung an oder dort kann man externe Ref. Spannungen 
einspeisen, aber die VCC oder AVCC muss da nie von aussen angelegt 
werden, das erledigen die Register.

Wie gesagt VCC an AVCC OK und dann schaltet man den Weg frei, aber an 
AREF an VCC eben nie!

: Bearbeitet durch User
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.