Analoge Spannung erkennen

Gast #232516
Hallo...
hat hier jemand vielleicht eine gute Idee, wie ich schnell und einfach
mit Hilfe des ADC eine Spannung auswerten kann?? Die Spannung ist eine
Sinusspannung mit Offset. Ich möchte gerne die etwa Frequenz des Sinus
und die Offsetspannung sowie die Amplitude der Sinusspannung bekommen.
Max. Frequenz des Sinus sind so 200Hz.
Ich möchte von euch kein Programm, sondern ein paar kreative Ideen wie
man sowas realisieren kann.
Besten Dank,
Gruss Matze
Gast
1.) Über einen "längeren" (200 ms) Zeitraum samplen mit mindestens 5
kHz oder mehr.
2.) Mittelwert der Samples ist die Offset-Spannung.
3.) Spitzenwerte der Samples mit Hilfe des Mittelwerts suchen und
daraus die Amplitude errechnen.
4.) Optinal: Erechnete Offset-Spannung auf die Hälfte der gefundenen
Spitze-Spitze-Werte korregieren.
5.) Anhand der errechneten Offset-Spannung den Sinus in ein
Rechtecksignal umrechnen.
6.) Vom Rechtecksignal die Zeitabstände von allen 0-1-0 Übergängen
messen und den Mittelwert davon berechnen. Der Inverswert dieses
Mittelwerts ist die Frequenz. (Den ersten und den letzen in den Samples
nicht verwenden da die angeschnitten sind).

Optional: Mehrere solcher Messzyklen (vielleicht so 5 bis 10) und die
Mittelwerte der errechneten Offset-Spannung und Freqeunz berechnen.
Gast
Ich hab mich ein bisschen ungenau ausgedrückt, ich möchte den Sinus
erkennen, also zB unterscheiden ob Sinus oder Sägezahn etc.
wenn du so willst eine Auswertung eines Funktionsgenerators zB.
Sorry, das ging aus dem ersten Beitrag nicht so hervor.
Gast
Tja, das ist nicht ganz so trivial aber machbar. Du musst Dir halt
überlegen, wann der Sinus auch als Sinus erkannt werden soll, also wie
optimal der gemessene Sinus sein muss.

Wenn Du Frequenz, Amplitude und Offset gemessen hast, kannst Du ja
einen dazu passenden Sinus in einem anderen Puffer berechnen, und dann
die beiden Puffer (gemessener "Sinus" und errechnetere, echter Sinus)
Sample für Sample vergleichen.

Für den Vergelich bildest Du am besten eine Fehler-Quadratsumme. Also
für jedes Sample den Fehler zwischen gemessen und errechnet quadrieren
und alle diese Quadrate zusammenzählen.

So könntest Du das gemesse Signal mit verschiedenen errechneten
Signalen vergleichen. Das mit der kleinsten Fehlerquadratsumme ist das
gemessene. Zusätzlich könntest Du noch ein Obergrenze einbauen, so dass
"zu falsche" Signale nicht als Sinus oder Dreieck oder sonst etwas
erkannt werden können.

Eine andere Möglichkeit wäre, sogenannte "Kreuzkorrelation". Dazu
einfach mal in der Wikipedia schmökern:

   http://de.wikipedia.org/wiki/Kreuzkorrelation

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.