14.12.2018, 06:05 PM
(Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2018, 06:21 PM von scooot.)
Moin,
hier das Feedback:
Mit der kleinen Linse (die, die das Signal direkt vor der CD bündeln soll) habe ich es nicht fokussiert bekommen. Ich denke, es liegt einfach an der Brennweite: Wenn man überlegt, wie nah die an der CD arbeitet, dann ist das für die Distanz nix. Die Kollimatorlinse war zu dick, die hat das "Laserlicht" sichtbar gedämpft- der Sensor hat danach auch nichts mehr >200mm gemessen.
Ergo: Hat leider nichts gebracht. Vielleicht liegts auch an mir, son Optiker bin ich ja eigentlich nicht
Man kann die Linse übrigens mit nem Tablet mit Front-Kamera gut ausrichten: Im Selfie-Mode kann man nämlich perfekt sehen, wenn man mit dem Lichtsignal die Kamera trifft
Christians Tipp mit OpenCV war schon ganz gut. Das funktioniert echt besser als Gedacht. Ich hab jetzt ne 25€ Webcam am Gestell, nehme das Bildsignal auf, filtere alles weg was farblich nicht zu den Kugeln passt (cv.inRange) und mache dann eine Kreis-Suche (cv.HoughCircle). Bei der Kreissuche kann man noch ein paar Parameter zum abstimmen eingeben - mindurchmesser, maxdurchmesser und so weiter - dann weiß ich wo die Kugel ist. Im Anschluss daran tracke ich die Kugel im Sichtfeld, und wenn sie in die Röhre läuft sehe ich das ja an den X,Y-Korrdinaten- und zähle dann hoch. Das ist zwar nicht so "unempfindlich" wie direkt den Füllstand der Röhre messen (und darüber auf die Anzahl Kugeln schließen), aber ist robust genug für die Anwendung und hat auch keinen Stress mit mehreren Kugeln gleichzeitig.
Die Applikation läuft auf einem Beckhoff-Industrie-PC, also nebenläufig zu einer Soft-SPS. Das gute daran: Für das Beckhoff-ADS-Protokoll gibts auch ne Python-Version - somit kann ich die Daten hoffentlich direkt aus Python-OpenCV in Steuerungvariablen schieben ohne einen einzigen IO verdrahtet zu haben Test gibt's nächste Woche
hier das Feedback:
Mit der kleinen Linse (die, die das Signal direkt vor der CD bündeln soll) habe ich es nicht fokussiert bekommen. Ich denke, es liegt einfach an der Brennweite: Wenn man überlegt, wie nah die an der CD arbeitet, dann ist das für die Distanz nix. Die Kollimatorlinse war zu dick, die hat das "Laserlicht" sichtbar gedämpft- der Sensor hat danach auch nichts mehr >200mm gemessen.
Ergo: Hat leider nichts gebracht. Vielleicht liegts auch an mir, son Optiker bin ich ja eigentlich nicht
Man kann die Linse übrigens mit nem Tablet mit Front-Kamera gut ausrichten: Im Selfie-Mode kann man nämlich perfekt sehen, wenn man mit dem Lichtsignal die Kamera trifft
Christians Tipp mit OpenCV war schon ganz gut. Das funktioniert echt besser als Gedacht. Ich hab jetzt ne 25€ Webcam am Gestell, nehme das Bildsignal auf, filtere alles weg was farblich nicht zu den Kugeln passt (cv.inRange) und mache dann eine Kreis-Suche (cv.HoughCircle). Bei der Kreissuche kann man noch ein paar Parameter zum abstimmen eingeben - mindurchmesser, maxdurchmesser und so weiter - dann weiß ich wo die Kugel ist. Im Anschluss daran tracke ich die Kugel im Sichtfeld, und wenn sie in die Röhre läuft sehe ich das ja an den X,Y-Korrdinaten- und zähle dann hoch. Das ist zwar nicht so "unempfindlich" wie direkt den Füllstand der Röhre messen (und darüber auf die Anzahl Kugeln schließen), aber ist robust genug für die Anwendung und hat auch keinen Stress mit mehreren Kugeln gleichzeitig.
Die Applikation läuft auf einem Beckhoff-Industrie-PC, also nebenläufig zu einer Soft-SPS. Das gute daran: Für das Beckhoff-ADS-Protokoll gibts auch ne Python-Version - somit kann ich die Daten hoffentlich direkt aus Python-OpenCV in Steuerungvariablen schieben ohne einen einzigen IO verdrahtet zu haben Test gibt's nächste Woche