Forum: Mikrocontroller und Digitale Elektronik Kodierung durch Lichtschranke


von Alexander B. (tuxx)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich suche ein Paar Denkanstöße für folgendes Problem.
Ich bewege ein Lochraster, mit z.B. 4 Löchern in fixem Abstand, an einer 
Licht schranke vorbei. Durch schließen der Löcher nach einem Binärmuster 
möchte ich eine Kodierung erreichen. Dabei ensteht ein Signal wie auf 
dem angefügten Bild. Soweit so gut. Aber wie werte ich das am besten 
aus.

Mein erstes Problem: Die Bewegungsgeschwindigkeit ist nicht immer 
gleich. D.h. Das Objekt wird mal schnell mal langsam durch die 
Lichtschranke bewegt. Somit kann ich das Signal nicht mit einem fixen 
Zeitraster auswerten.

Mein zweites Problem: Wenn zwei oder drei Löcher hintereinander 
geschlossen sind, bekomme ich ja keine Flanke. Wie kann ich das 
Auswerten.

Das ganze soll mit einem AVR gemacht werden.
Bin für jeden Tip dankbar.

Gruß
Alex

von Karl H. (kbuchegg)


Lesenswert?

Mach links von Loch 1 noch ein zusätzliches Loch rein welches
immer offen ist.
Dann misst du den zeitlichen Abstand von der Linken Kante bis
zu diesem Loch und kannst daraus dein Zeitraster ableiten.
Du kennst ja die Entfernung, die Zeit kannst du messen und
damit kannst du dann zurückrechnen, in welchen zeitlichen
Abständen die anderen Löcher kommen müssten.
Ich würde sogar soweit gehen, alle Abstände gleich zu machen,
dann braucht nicht rumgerechnet zu werden.

von Michael U. (amiga)


Lesenswert?

Hallo,

Du wirst zumindest davon ausgehen müssen, daß die Geschwindigkeit bei 
einem Durchlauf relativ konstant bleibt.
Weiterhin wirst Du ein 5. Loch, daß immer offen ist, am Anfang einplanen 
müssen.

Dann hast Du immer einen Startimpuls. Von diesem Impuls die Zeit messen, 
dann hast Du die aktuelle Geschwindigkeit. Jetzt an den erwarteten 
nächsten Löchern mehrere Tests machen, ob Licht ankommt. Daraus einen 
Mehrheitsentscheid, ob es 0 oder 1 ist. Das gleicht geringe Schwankungen 
beim Durchlauf aus.

Beispiel mit Deinem Zahlen von oben: erstes Loch, Dauer 2,8. damit weißt 
Du, daß das erste Bit 4,0 später kommen muß. Also von 3,8 bis 7,0 4x 
abtasten alle 1,1, wenn davon 2 als Loch erkannt werden ok, ab Lochende 
wieder warten. Wenn nicht, 3,6 warten und wieder von vorn.

Die Verhältnisse sind jetzt hier nur geschätzt, mal die Punkte in Dein 
Diagramm, dann sollte es verständlich sein.

Bei anderer Geschwindigkeit änder sich alle Abtastpunkte dann nur im 
Verhältnis zur ersten Lochbreite.

Sollte so eigentlich ohne unlösbare Probleme gehen.

Gruß aus Berlin
Michael

von Michael U. (amiga)


Lesenswert?

Hallo,

@Karl heinz Buchegger: Du bist definitiv zu schnell für dieses Forum. 
;-)))

Gru0 aus Berlin
Michael

von Alexander B. (tuxx)


Lesenswert?

Holla, das ging ja schnell.

Danke für die Tips. Das mit dem zusätzlichen Loch ist kein Problem, und 
auch den Tip mit gleichen Abständen werde ich so umsetzen. Die Löcher 
auf dem Bild sind nur ein Beispiel das ich im Netz gefunden habe. Bei 
mir wird es sowieso etwas anders gelöst.

Gruß Tuxx

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.