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!
Schreib Dir doch flott ne kleine Funktion, welche dir nur die max Werte peak-peak speichert. Alle anderen Werte kannst Du verwerfen.
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... .
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.
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.
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.
>Du wirst einen externen Hüllkurvengleichrichter benötigen, also >Hardware. Eben, siehe meinen letzen Post, das ist sogar bunt und blinkt.
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 ;-)
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.
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.
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"
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.