Forum: Mikrocontroller und Digitale Elektronik Am Arduino Wechselspannung messen


von Henry T. (ben_jo)


Lesenswert?

Liebes Forum,

nachdem mir Google und die Suchfunktion nicht wirklich helfen konnten, 
probier ichs nun direkt!

Ich möchte am Analogeingang eine Wechselspannung messen. Die Frequenz 
variiert zwischen 50 und 1000 Hz, die Spannung ist entsprechend 
aufbereitet und liegt zwischen 0 und 5 Volt.

Wenn ich den Sachverhalt mit analogRead angehe und anschließend mit 
"Map" auswerte, bekomme ich freilich immer nur die Momentwerte, die 
keinerlei Aufschluss über p-p liefern.

Gibt es eine vorbereitete Funktion (oder Libary?), mit der ich die 
maximalen Amplituden auslesen kann? Kritisch ist vermutlich die 
Abtastrate, um sicherzustellen, dass auch auch regelmäßig ein Peak 
erwischt wird.

Vielen Dank vorab!

von kenny (Gast)


Lesenswert?

Schreib Dir doch flott ne kleine Funktion, welche dir nur die max Werte 
peak-peak speichert. Alle anderen Werte kannst Du verwerfen.

von Henry T. (ben_jo)


Lesenswert?

kenny schrieb:
> Schreib Dir doch flott ne kleine Funktion, welche dir nur die max Werte
> peak-peak speichert. Alle anderen Werte kannst Du verwerfen.

Du meinst, dass der Messwert in eine Variable geschrieben wird, sobald 
er größer als der vorherige ist? Aber wie merke ich dann, wenn die 
Spannung abfällt? Das muss alles recht schnell passieren, Latenz nicht 
größer 200 mS... .

von Falk B. (falk)


Lesenswert?

Henry T. schrieb:

> Ich möchte am Analogeingang eine Wechselspannung messen. Die Frequenz
> variiert zwischen 50 und 1000 Hz, die Spannung ist entsprechend
> aufbereitet und liegt zwischen 0 und 5 Volt.

Wirklich? Zeig mal deine Schaltung.

> Wenn ich den Sachverhalt mit analogRead angehe und anschließend mit
> "Map" auswerte, bekomme ich freilich immer nur die Momentwerte, die
> keinerlei Aufschluss über p-p liefern.

Logisch.

> Gibt es eine vorbereitete Funktion (oder Libary?), mit der ich die
> maximalen Amplituden auslesen kann?

Amplituden sind immer die Maximalwerte, das ist deren Definition.

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

Der Momentanwert ist die Elogation.

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

(Ja, ich hab ab und an in Physik aufgepaßt ;-)

> Kritisch ist vermutlich die
> Abtastrate, um sicherzustellen, dass auch auch regelmäßig ein Peak
> erwischt wird.

Man kann es auch old school mit einem analogen 
Präzisionsspitzenwertdetektor machen, das schont die CPU-Resourcen. Bei 
1kHz ist das auch kein Problem.

https://sound-au.com/appnotes/an001.htm

Ok, das ist nur der Präzisionsgleichrichter, es gibt aber diverse 
App-Notes für Spitzenwertdetektoren.

von Henry T. (ben_jo)


Lesenswert?

Falk B. schrieb:
>> Ich möchte am Analogeingang eine Wechselspannung messen. Die Frequenz
>> variiert zwischen 50 und 1000 Hz, die Spannung ist entsprechend
>> aufbereitet und liegt zwischen 0 und 5 Volt.
>
> Wirklich? Zeig mal deine Schaltung.

Rail-to-Rail-OPA, VSS=GND und VDD=5 Volt, Pin 1 -> ElKo 10uF -> Trimmer 
Pin 2 (Pin 1 auf VDD und Pin 3 auf Gnd) -> A0

Ziel war es eigentlich, die Sache digital zu lösen. Analog geht es 
natürlich einfacher, stimmt wohl.

von jibi (Gast)


Lesenswert?


von Michael B. (laberkopp)


Lesenswert?

Henry T. schrieb:
> Gibt es eine vorbereitete Funktion (oder Libary?), mit der ich die
> maximalen Amplituden auslesen kann?

Nein.

Du erkennst schon selbst, daß der uC keine Analog-Peaks erkennen kann, 
die zwischen seinen Abtastungen lagen.

Arduino analogRead ist nun besonders langsam, mit direkter 
Programmierung lässt sich schneller abtasten, aber es bleibt immer noch 
langsam.

Du wirst einen externen Hüllkurvengleichrichter benötigen, also 
Hardware.

Dann geht es auch mit analogRead.

von jibi (Gast)


Lesenswert?

>Du wirst einen externen Hüllkurvengleichrichter benötigen, also
>Hardware.

Eben, siehe meinen letzen Post, das ist sogar bunt und blinkt.

von Wolfgang (Gast)


Lesenswert?

Henry T. schrieb:
> Aber wie merke ich dann, wenn die Spannung abfällt?

Das merkst du daran, dass der neue Messwert kleiner als der vorherige 
ist ;-)

von spess53 (Gast)


Lesenswert?

Hi

Schalte einfach einen RMS-to-DC Converter, wie AD637, AD736..., vor den 
ADC-Wandler.

MfG Spess

von Jens S. (jens35)


Lesenswert?

Um Netzspannung zu messen könnte man folgenden Weg gehen.
Es gibt keine Transformatoren 0,33VA 6V 55mA (ca 3€), den kann man als 
sichere Trennung zu Netzspannung benutzen.
Die eine Seite des Transformators häng man auf 2,5 Volt, wenn der ADC 
mit 5 Volt versorgt wird.
Die andere Seite des Transformators bekommt einen Spannungsteiler von 
6:2
Damit hat man eine DC-Spannung die zwischen 0,5 und 4,5 Volt schwankt, 
der Nulldurchgang ist bei 2,5 Volt
Das gibt man dann auf den ADC und muss nur noch in Software die RMS 
Spannung errechnen.

von Michael B. (laberkopp)


Lesenswert?

Jens S. schrieb:
> Um Netzspannung zu messen könnte man folgenden Weg gehen

Macht man aber nicht  weil wegen Sättigungseffekten viel zu ungenau und 
zu gross.

Man verwendet zur galvanischen Trennung einen Stromwandlertrafo 1:1 wie 
https://www.ebay.de/itm/126000018415 und sorgt eben mit einem 230k 
Vorwiderstand auf Primarseite dafür, dass nur 1mA rms fliesset und 
sekundär 1V an einem 1k Widerstand ergibt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jens S. schrieb:
> Um Netzspannung zu messen
1. "Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt."
2. "Bitte hier nur auf die ursprüngliche Frage antworten"
3. Die Netzfrequenz ist nicht "zwischen 50 und 1000 Hz"

von Rainer W. (rawi)


Lesenswert?

Jens S. schrieb:
> Um Netzspannung zu messen ...

Darum geht es in diesem Thread nicht.

von Norbert (der_norbert)


Lesenswert?

Rainer W. schrieb:
> Darum geht es in diesem Thread nicht.

Das stimmt. In diesem Thread geht es darum, was jemand vor DREI Jahren 
gerne gemacht hätte.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Wieso nicht sowas wie den ACS712 nehmen?

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.