Hi zusammen, Ich habe ein Problem und verzweifle langsam daran. Kurze Beschreibung: Ein Servomotor treibt eine Linearführung an. Damit der Schlitten der Linearführung links und rechts nicht anstoßen kann, benutze ich 2 Lichtschranken um vorher den Motor zu stoppen. So zumindest das Kozept. Die Pulse der Lichtschranken gehen auf 2 External Interruptfähige Ports. Ich verwende ein Phytec Minimodul mit einem C167CR. Die Lichtschranke gehen auf Port 2^14 und 2^15. Die entsprechenden Register sind gesetzt, es wird auf fallende Flanke detektiert. Es wird auch ein Interrupt ausgelöst, wenn der Schlitten von den Lichtschranken erkannt wird. (Fallende Flanke) Nur leider wird auch ein Interrupt ausgelöst, wenn der Schlitten wieder aus dem Bereich der Lichtschranke rausfährt. Also bei der steigenden Flanke. Dass es nicht zu Missverständnissen kommt. Solange der Schlitten vor der Lichtschranke steht bleibt das Signal Low. Während nichts davor ist High. Dementsprechend fällt es beim Reinfahren von High auf Low, beim Rausfahren umgekehrt. Wenn ich direkt am Pin 2^14 mit dem Oszi messe kann ich aber keinen Puls der ein Auslösen des Interrupts herbeiführen könnte erkennen. Komisch ist auch noch, dass der fehlerhafte Interrupt nicht immer ausgelöst wird, das passiert nur hin und wieder. Gleiches passiert auch wenn ich auf die steigende Flanke erkennen lasse. Er reagiert auch auf die fallende. Auf beide Flanken wird zuverlässig reagiert. Woran könnte das liegen? Ich bin echt am Ende mit meinem Latein. Vielen Dank! Gruß Max
Es gibt IMHO gepulste Lichtschranken, die Umgebungslicht ausfiltern, indem sie mit einer festgelegten Frequenz arbeiten. Wenn die Schaltung der Lichtschranken nicht sauber aufgebaut ist, kann es sein, daß im Grenzbereich (wenn die Lichtschranke nur zum Teil verdeckt ist) die Frequenz der Lichtschranke aufs Ausgangssignal durchschlägt. Ein solcher "Fehler" hat mich schon Stunden gekostet... Geh mal mit dem Oszi an den Ausgang der Lichtschranke und fahre den Schlitten auf eine Position, in der die Lichtschranke gerade so kippt.
Hi, Leider habe ich kein besonders ausführliches Datenblatt der Lichtschranke zur Verfügung, daher weiss ich nicht wie sie Arbeitet, Die Lichtschranken arbeiten allerdings mit einer Verorgungsspannung von 24V und geben eben ein sollches Signal zwischen 24V und 0V aus. Dieses Signal gebe ich auf eine Emitterschaltung mit Kollektor und einem RCvon 10k an 5V. Nach dem Widerstand greife ich das Signal für den µC ab. Ich dachte mir auch schon, dass im Umschaltbereich der Hacken liegt. Allerdings haben diese Lichtschranken eine große Hysterese. Wenn Sie mal "Ein" detektiert haben, bleiben sie das auch. Man muss schon wieder ein gutes Stück zurückfahren damit Sie wieder "Aus" detektieren. Wie ich auch schon sagte, sind die Signale absolut sauber. Sprich keine Schwinger oder Spitzen drauf. Auch keine kurzen Pulse die sowas auslösen könnten. Trotzde danke Gruß Max
wieviele impulse werden erzeugt waehrend die lichtschranke geoeffnet /geschlossen wird ? hast du nicht an etwas Hysterese gedacht? oder wie waere es mit einem monoflop um eindeutige signale zu erhalten? ed
Hi, wie ich schon geschrieben habe: Solange der Schlitten vor der Lichtschranke steht bleibt das Signal Low. Während nichts davor ist High. Dementsprechend fällt es beim Reinfahren von High auf Low, beim Rausfahren umgekehrt. Es werden keine Pulse erzeugt. Wenn die Lichtschranke geschlossen wird, fällt das Signal auf Low und bleibt da solange etwas vor der Lichtschranke ist. Genauso umgekehrt! Kein Hin und Hergehüpfe, dann wäre es ja klar. Gruß Max
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.