Rechtecksignal Auswertung Arduino

Gast #3614742
Lesenswert?
• ▲
▼
Hallo.
Ich habe vor kurzem bereits einen ähnlichen Thread gestartet, der wurde 
aber zum Wettstreit der Assembler Programmierer.
Beitrag "Versetzte Rechtecksignale auswerten, kein drehgeber"

Ich habe ein paar gute Anregungen bekommen, brauche aber noch etwas mehr 
Hilfe als ich dachte. Wahrscheinlich habe ich nicht genau genug 
formuliert.

Im ersten  thread ist mein Aufbau etwas genauer beschrieben, hier grob:

Interferenzstreifen eines Interferometers zur Längenmessung werden mit 2 
Photodioden aufgenommen. Die Signale werden durch 
Transimpedanzverstärker und Komparator zu zwei Rechtecksignalen gemacht. 
Läuft soweit.
Auf den Fotos und diesem Gif könnt ihr das Signal sehen.
http://www.bilderhoster.net/z1tbctn9.gif.html

Auswerten möchte ich das Signal mit einem Arduino due (cortex M3 CPU).

Wie auf dem 3. Foto zu sehen, gibt es Prellen/ Pendeln, wenn eine 
Photodiode nur teilweise beleuchtet wird.

Bisher ist mein code so:

Der Pinchangeinterrupt erkennt die Flanken und speichert den wert in 
globale Variablen (volatile).
Bei steigender Flanke wird der Wert des jeweils anderen Signals geprüft. 
Wenn signal B ansteigt und signal A high ist wird inkrementiert und wenn 
signal B ansteigt und Signal A high ist, wird dekrementiert.
Bei fallenden Flanken werden die Variablen auf 0 gesetzt.
Der Zähler wird periodisch über uart gesendet.

Mit einem Drehgeber funktioniert das sehr gut. Der liefert, aber ein 
sauberes Signal.
Mit dem Interferometer zählt der counter auch mal ohne Bewegung los.

Ich möchte erreichen dass jeder hell-dunkel wechsel erkannt wird.


Die kommerziellen Lasermessgeräte funktionieren mit optisch 
komplizierterer Technik, mehrere Wellenlängen oder polarisation usw.
Mir geht es um das einfache michelson Experiment.

Auf diversen seiten habe ich gefunden, dass man die streifen zählt, aber 
nirgends wie. Über interessante links zum thema freue ich mich auch.

Wie kann ich (bevorzugt mit code) das prellen ignorieren, aber trotzdem 
den Wechsel erkennen.
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.