-
        

Ergebnis 1 bis 10 von 10

Thema: "Bewegungsrichtung" einer Sinusfunktion

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2006
    Beiträge
    210

    "Bewegungsrichtung" einer Sinusfunktion

    Anzeige

    Hallo allerseits!

    Ich hab mal folgende Frage. Wahrscheinlich ist es eh ganz leicht, aber ich komm irgendwie einfach nicht drauf:
    Eine Sinuswelle (Amplitude, Wellenlänge konstant) bewegt sich entlang der x-Achse hin und her, entweder nach links, oder nach rechts. Ich stelle zwei Sensoren auf (an unterschiedlichen x-Punkten, in einem Abstand d != n*pi/2), die den aktuellen y-Wert der Funktion ermitteln. Wenn sich nun der Sinus bewegt, dann erhalte ich, wenn ich die Werte der Sensoren über die Zeit beobachte zwei Sinuskurven, die lediglich um den Betrad von d gegeneinander Verschoben sind. (Bzw. der eine Sensor eilt dem anderen voraus). Wenn sich die Bewegungsrichtung umkehrt, eilt eben der andere voraus. Wie kann ich denn nun möglichst elegant ermitteln, in welche Richtung sich der Sinus bewegt.

    Konkret geht es darum, per Michelson-Interferometer zu ermitteln, ob sich ein Gegenstand hin oder weg bewegt. (Denn in Abhängigkeit zur Bewegungsrichtung des Messsobjektes änert sich auch die Bewegungsrichtung der Interferenzstreifen).

    Viele Grüße

    GErald

    Edit: Ich sehe gerade, ganz einfach ist es nicht, das gut zu beschreiben, aber vllt. versteht mich ja jemand

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.03.2006
    Beiträge
    200
    Hab mal kurz drüber nachgedacht, daher weiß ich jetzt nicht ob ich einen Denkfehler habe. "Sensoren im Abstand von 45° (360=T)
    Schauen ob sich einer der Sensoren an einem Tief bzw. Hochpunkt befindet.
    Bsp. erster Sensor Tiefpunkt dann, zweiter Sensor auf steigender Flanke.
    erster Sensor auf Hochpunkt, dann zweiter Sesnor auf fallender Flanke.

    Analog wenn sich zweiter Sensor auf einem Tief- bzw. Hochpunkt befindet.

    Ist das ne Idee?

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Du könntest einen Offset in der Höhe der Amplitude hinzufügen (dann erhälst Du nur po Werte), die Steigung in den jeweiligen Punkten bestimmen (2x messen) und eine Fallunterscheidung machen. Es gibt 4 Fälle für jede Bewegungsrichtung:
    1.beide negativ
    2. x1 neg, x2 pos
    3. beide pos
    4. x1 pos, x2 neg
    Für die Fälle 1 und 2 erhällt man die Richtung dann durch Unterscheidung der Absolutwerte. x1>x2 und umgekehrt. Bei den anderen müsste man unterscheiden, ob > oder < Offset.
    Elegant ist was anderes, aber auf die Schnelle...vielleicht hilfts ja...
    Gruß

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.08.2004
    Ort
    Graz
    Beiträge
    342
    wenn ich das jetzt richtig verstanden hab, klingts ja wie ein quadraturencoder... vielleicht einfach die beiden phasenverschobenen sinus-wellen nach rechteck wandeln und dann wie einen ebensolchen encoder auswerten?

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Da fällt mir ein:
    Wenn Du zwischen die beiden Positionen immer genau 90° einhalten kannst, dann erhälst Du eine Sinus und eine Cosinuswelle und kannst den "Winkel" über den arctan ausrechnen.
    Auf diese Weise erhält man sehr genaue Ergebnisse.
    Gruß

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2006
    Beiträge
    210
    Hallo,

    danke erstmal für die ganzen Anregungen. Bin ja froh, dass ich mein Problem doch halbwegs verständlich formulieren konnte... Ich sollte vielleicht sagen, dass sich das Signal sehr schnell, und sehr unterschiedlich bewegen kann (geschätzt mit 0 - 100kHz oder so).

    @ pacer: Da der Abstand der Sensoren ja konstant ist, bekomme ich beispielsweise wen x1 im Tiefpunkt ist für x2 immer eine steigende Flanke (wenn x2 "rechts" von x1). D.h. durch die Steigung bekomme ich keine zus. Information. Aber Du hast mich auf die Idee gebracht, wenn ich immer schaue, welches Extremum x2 erreicht nachdem x1 einen TP passiert hat, dann bekomme ich eine Info über die Bewegungsrichtung.

    @Gock: Wenn beide neg. sind (ich also an einer fallenden Flanke messe) dann ist immer x1 > x2 (wenn x2 "rechts" von x1). S.o. Man müsste halt die Messergebnisse über eine gewisse Zeit speichern, aber das wird dann ziemlich komplex, da die Bewegungsgeschwindigkeit sehr unterschiedlich sein kann. (Ganz habe ich leider nicht verstanden, was Du damit meinst :" Für die Fälle 1 und 2 erhällt man die Richtung dann durch Unterscheidung der Absolutwerte. x1>x2 und umgekehrt. Bei den anderen müsste man unterscheiden, ob > oder < Offset. " Bin mathematisch leider nicht so ur-fit Ich muss es mir irgendwie bildlich vorstellen können).

    @ Netzman: Das klingt interessant, werde ich mal weiterverfolgen. Kannst du mir einen bestimmten IC empfehlen?

    @Gock2: Die Positionen der Sensoren kann ich wählen wie ich will, und die bleiben auch fix. Was meinst Du mit "Winkel" ?

    Gruß

    Gerald

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.03.2006
    Beiträge
    200
    also meine Variante wäre sozusagen die Analogvariante von Netzman, ohne Auswertung des 2. Sensors würde es sowieso nicht funktionieren.
    Wobei die digitale Variante natürlich unkomplizierter erscheint.
    schau mal hier:
    http://www.mikrocontroller.net/articles/Drehgeber

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Ah, missverständliche Bezeichnung, ich meinte die Amplitudenwerte y müssen unterschieden werden (y1>y2?): Sind zB beide Steigungen negativ, dann bewegt sich die "Welle" in Richtung des kleineren y-Wertes und umgekehrt. Dazu musst Du nichts speichern.
    Sind die Steigungen unterschiedlich, muss man beim normalen Sinus (ohne Offset) prüfen, ob sie größer oder kleiner Null sind, um herauszufinden, ob sie an einem Max oder an einem Min liegen.
    Die Sache mit dem arctan ist ziemlich kompliziert. Das bracuht man eigentlich nur, wenn man sehr genau Winkel zwischen einer Welle und einer Referenz messen will. Würde man zwei Winkel derart messen, könnte man auf die Drehrichtung schließen. Außerdem ginge das nur, wenn Du immer ) 90° zwischen den Wellen hast, also eine feste Frequenz und die hast Du offenbar nicht.
    Gruß

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.03.2006
    Beiträge
    200
    Doch eine feste Frequenz sollte es eigentlich sein, da diese von der Wellenlänge der Quelle (üblich ist ein Laser) abhängig ist.
    Die Breite der Streifen des Steifenmusters sollte nur von der Vergrößerung der im Strahlengang befindlichen Opik abhängig sein.

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    Die Signale triggern und wie schon mal erwähnt auswerten.
    Kann in Hard- oder Software gelöst werden.
    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •