Forum: Mikrocontroller und Digitale Elektronik Rechtecksignal Auswertung Arduino


von LarsB (Gast)


Angehängte Dateien:

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.

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.