Forum: Digitale Signalverarbeitung / DSP / Machine Learning XY-Planarencoder / High-Speed Kamera und DSP


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Flip B. (frickelfreak)


Lesenswert?

Hallo zusammen,
Ich suche einen schnellen Bildsensor und Bildverarbeitungsprozessor.

Ich möchte die Position eines durch Seilwinden bewegten Schlittens auf 
einer Platte zum Zweck der Positionsregelung messen.

-Messung position X/Y
-Messbereich min. 300x300mm
-Genauigkeit 0,1mm Auflösung 0,05mm
-Keine aufsummierung von Messfehlern, wiederholgenauigkeit 0,1mm
-Geschwindigkeit bis 500mm/s
-Beschleunigung bis 20m/s²
-Abtastrate mindestens 1000Hz
-Beliebige bewegungsrichtung

Nice to have:
-Absolutwertmessung ohne Homing
-Geringes gewicht <50g im Schlitten
-Bauhöhe max. 30mm
-Messung Rotationswinkel
-geringer Kalibrieraufwand
-in 100er Stückzahlen günstig umsetzbar <<50€

-Die Platte, also Statische komponente des Messystems sollte möglichst 
glatt und abriebfest sein. Ebenfalls sollte diese Komponente gut bis 
1000x1000 skalierbar sein, also keine PCB mit Leiterbahnen oder tausende 
Magnete beinhalten. Ein Homogenes Metallblech oder eine Glasplatte, 
rückseitig bedruckt kommen in frage. Rückseitige Bedruckung mit 
leitfähiger Tinte wäre auch möglich.

-Eine Winkelmessung an den Achsen der Seilwinden möchte ich nicht, da 
ist zu viel Oszillation und rundlaufabweichung im Spiel.

-Eine Stromdurchflossene, leitfähige Platte, Quasi als Poti, XY 
alternierend wie in Resistiven Touchbildschirmen habe ich bereits 
Verworfen. Die Messung wäre sehr einfach und schnell, jedoch benötigt 
selbst eine hauchdünne Edelstahlfolie schon dutzende Ampere um auf 
sinnvolle messspannungen zu kommen. Leitfähiges plastik ist inhomogen 
und ergibt riesige linearitätsabweichungen.

-Kapazitive wegmessung, dazu gibt es einige Patente. Die Elektroden 
müssten mittels geeignetem Druckverfahren zwischen den lagen 
Abriebfestem materials untergebracht werden.

-Magnetische messung, Magnetfolien genau im Raster magnetisieren ist 
aufwändig, eine berührung mit einem Magnetisierten Schraubenzieher 
ruiniert das direkt wieder.

-Optische wegmessung, Untergrund Bedruckt mit Punkt oder Linienraster, 
ggf Binär-Phasencodiert zur Absolutwertbestimmung. Ist derzeit mein 
Favorit.
Hierfür suche ich noch einen geeigneten Bildsensor, übliche 
Kamerasensoren wie der OV7251 sind mit 360-720fps etwas langsam für 
meine Regelschleife.
Es gibt kleine schnelle sensoren wie in Optischen mäusen 
https://www.pixart.com/products-detail/140/PAT9136E1-TXQT
Diese arbeiten mit vielen 1000 fps, haben den DSP direkt mit drin. 
Leider gibt es keine solchen modelle, die auf einem Untergrund mit 
definierter Struktur arbeiten und Absolutwerte ausgeben. Der Interne DSP 
einiger Modelle kann wohl vom hersteller programmiert werden, das ist 
aber undokumentiert. Ggf ließe sich ein hybridsystem mit einem 
langsameren Absolutencoder realisieren.

Hat jemand vorschläge zur Bildverarbeitung oder kennt ein Verfahren, an 
das ich noch nicht gedacht habe?

von Achim M. (minifloat)


Lesenswert?

Flip B. schrieb:
> Leider gibt es keine solchen modelle, die auf einem Untergrund mit
> definierter Struktur arbeiten

Deine Kamera muss doch nur die Position des Schlittens erfassen können. 
Die Eckpunkte der Platte lassen sich anlernen oder notfalls händisch 
pametrieren.

Kameras für ROI haben seine Spec z.B. 
https://www.e-consystems.com/camera-selector.asp?CS_Shutter-Type=Global&CS_Shutter-Type=grr&CS_Chroma-Type=color&CS_Processor=x86&CS_Chroma-Type=monochrome&CS_Fps-Type=300-2000

mfg mf

von Flip B. (frickelfreak)


Angehängte Dateien:

Lesenswert?

Achim M. schrieb:
> Deine Kamera muss doch nur die Position des Schlittens erfassen können.

Ich möchte bisher nicht die schlittenposition aus der Außenansicht 
erfassen. Da bräuchte ich mächtige kameraauflösung bei gleichzeitiger 
hohen framerate, habe mit der verzerrung der optiken zu kämpfen etc.

Mein ansatz ist es, von innerhalb des Schlittens den untergrund zu 
beobachten.  Den untergrund kann ich bedrucken lassen, aussenlicht wird 
abgeschirmt und die beleuchtung kann gesteuert werden. Dafür darf die 
Kamera dann kein kilo wiegen und muss mit 10-20mm fokuslänge klarkommen.

Bei einem beobachteten Raster/Bildausschnitt von 1x1mm brauche ich für 
die geforderte Wegauflösung auch nur 40x40px Bildauflösung bzw 
eigentlich nur 4 pixelreihen je 40 px in quadratischer formation 
1,5mmx1,5mm. Damit ist auch die zu verarbeitende Datenmenge 
überschaubar, und man braucht nicht gleich USB3 mit 10Gb/s

Genau das wurde vor 20 Jahren mit 4 Photodioden für ca. 0,5mm auflösung 
realisiert, ich benötige 0,05mm und dafür ca. 40 pixel, denn die 
Rasterung des Untergrunds möchte ich zwecks herstellbarkeit und 
Störfestigkeit nicht unter 0,5mm verringern.
https://youtu.be/2UXmDuiqMW0?si=xHqPpb6KtK7yBVSw&t=484

Analogauswertung über halb ausgesteuerte Photodioden möchte ich 
ebenfalls vermeiden, das ist nichtlinear, alterungsabhängig und müsste 
kalibriert werden.

Wenn ich nur einen Trackingsensor für optische mäuse oder eine cam mit 
global shutter fände, der per SPI die Pixeldaten in echtzeit ausspuckt. 
1-2MHz clock würden reichen.

: Bearbeitet durch User
von Jemin K. (jkam)


Lesenswert?

Kannst Du komplett vergessen mit den Anforderungen. Überlege Dir lieber, 
was Du eigentlich erreichen willst. Wenn es genau sein soll: Renishaw 
Encoder. Wenn es billig sein soll: Kamera. Wenn der absolute Fehler doch 
nicht so wichtig ist: Optischer Tracking Sensor von PixArt.

von Flip B. (frickelfreak)


Lesenswert?

Jemin K. schrieb:
> Kannst Du komplett vergessen mit den Anforderungen. Überlege Dir lieber,
> was Du eigentlich erreichen willst.

Mit einem OV2640 Sensor bekomme ich es schon hin, mit deutlich besserer 
Auflösung und genauigkeit. Lediglich die Framerate mit 120fps ist mir 
noch zu gering. Vielleicht kann ich einen Farbiges Raster nutzen und den 
Sensor 45° anwinkeln. Dann brauche ich nur noch eine zeile lesen. Hat 
aber auch nachteile bei Belichtungszeit und genauigkeit.

Die Optischen Trackingsensoren können auch Raw Data ausgeben, die von 
Pixart müssen aber nach jedem bild für 270ms resettet/initialisiert 
werden. Die im Datenblatt angegebenen 12000fps im Tracking mode sind für 
mich interessant. Vielleicht kann ein anderer Hersteller ja 
kontinuierlich rohdaten ausgeben.

>  Wenn es genau sein soll: Renishaw Encoder

Die haben ein 2d-Modell?

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Flip B. schrieb:
> Abtastrate mindestens 1000Hz
Du brauchst keine Framerate von 1000Hz. Es reicht die horizontale 
Abtastung des Kamersensors, wenn du den Aufbau schlau gestaltest. Eine 
ähnliche Erfassung habe ich mit einem 640x480x320fps Sensor gemacht (und 
noch ein bissl mehr). Für 2 Achsen mit Redudanz sehe ich 4,6 
Flächen-Sensoren. Muss nur gut kalibriert werden. Gfs über das gesamte 
Feld wegen eventueller Ungenauigkeiten des Linienprints.

Wenn Deine Abteilung interessiert ist und entsprechend Budget hat, hätte 
ich da gfs eine Lösung für euch. Üblicher Weg: NDA, Problemstellung, 
Konzept gegen Auftrag.

von Kai D. (Firma: Selbständiger Konstrukteur) (robokai)


Lesenswert?

Flip B. schrieb:
> -Genauigkeit 0,1mm Auflösung 0,05mm
> -Geschwindigkeit bis 500mm/s
> -Abtastrate mindestens 1000Hz
Finde den Fehler!

bei 500mm x 1kHz wird alleine schon die Meßgenauigkeit verbraten, ohne 
Abtasteffekte, Latenz und Meßgenauigkeit der eingestanzten Kalibrierung, 
vom Aufwand der Berechnung zu schweigen. Bis zu weißt, wo das Teil vor 
3ms war, ist es schon weg.

Hier fehlt ein Faktor 5!


J. S. schrieb:
> Wenn Deine Abteilung interessiert ist und entsprechend Budget hat
Finde den Fehler!

er schreibt:

Flip B. schrieb:
> in 100er Stückzahlen günstig umsetzbar <<50€

Hier fehlt ein Faktor 10!


und hier heißt es plötzlich

Flip B. schrieb:
> ich benötige 0,05mm

Nochmal ein Faktor 10. Weiter oben waren es noch 0,5mm.

Wat denn nun?

Jemin K. schrieb:
> Renishaw Encoder
Das dürfte auch über seinem Budget liegen.

Ich frage mich nur, wie man bei Stückkosten deutlich unter 50,- bei der 
Kleinmenge überhaupt eine Entwicklung finanzieren will, die Kosten 
sparen soll. Auch 2D-Sensoren kosten ein bischen was ...

von Flip B. (frickelfreak)


Lesenswert?

Kai D. schrieb:
> Finde den Fehler!
> bei 500mm x 1kHz wird alleine schon die Meßgenauigkeit verbraten

Ich hab deinen Fehler gefunden. Vielleicht ist die Messgenauigkeit bei 
hohen geschwindigkeiten gar nicht relevant? Solang die 
Wiederholgenauigkeit passt, sind bei 500mm/s auch +-5mm tolerierbar, 
linear runter bis zur gewünschten genauigkeit im Stillstand.

Kai D. schrieb:
> Finde den Fehler!
> er schreibt:
> Flip B. schrieb:
>> in 100er Stückzahlen günstig umsetzbar <<50€
>
> Hier fehlt ein Faktor 10!

Es handelt sich um ein Spassprojekt unter freunden, Entwicklungszeit 
kostet nichts.
Ja, sowas gibt es auch.

Kai D. schrieb:
> und hier heißt es plötzlich
> Flip B. schrieb:
>> ich benötige 0,05mm
>
> Nochmal ein Faktor 10. Weiter oben waren es noch 0,5mm.
> Wat denn nun?

wenn du nochmal liest, kannst du verstehen, dass ich 0,5mm nur im 
zusammenhang mit einem bereits bekannten verfahren nannte, was sich 
deshalb leider nicht eignet.

von Flip B. (frickelfreak)


Lesenswert?

J. S. schrieb:
> Für 2 Achsen mit Redudanz sehe ich 4,6 Flächen-Sensoren.

Mehrere Liniensensoren zu verwenden habe ich auch schon überlegt. Der 
Aufbau würde eben mechanisch und elektrisch komplexer werden und damit 
auch schwerer.

Gerade habe ich noch überlegt, einen hochauflösenden 
rolling-shutter-sensor zu nutzen, bildfeld nahezu diagonal zum 
linienfeld auszurichten und die auswertung linienweise statt bildweise 
zu machen.

60fps x 1080 sind schon über 60k

ggf noch einen zweiten sensor um ein stocken während des vertikalen 
rücklaufs zu vermeiden.

von Kai D. (Firma: Selbständiger Konstrukteur) (robokai)


Lesenswert?

Flip B. schrieb:
> Ich hab deinen Fehler gefunden.
Nein, hast du nicht. Die benötigten Randbedingungen für Lageregelsysteme 
und deren Auslegung im Bezug auf die erforderlichen Regelgüten der 
Elektronik und Software sind in der Robotik hinlänglich bekannt und 
brauchen nicht interpretiert zu werden.

> Vielleicht ist die Messgenauigkeit bei
> hohen geschwindigkeiten gar nicht relevant?
Dann ist die Angabe aber nicht sinnvoll und muss auf das Maß reduziert 
werden, welches dem Versatz entspricht, der noch akzeptabel ist.

Der nächste Punkt:

WENN das so ist, dass die Positioniergenauigkeit sehr viel toleranter 
sein kann und praktisch nur vom Offset gegen die Skalierung abhängig ist 
und nicht von der Zeit, dann braucht es eigentlich gar keine Angabe der 
Verfahrgeschwindigkeit und schon gar nicht der Beschleunigung.

Flip B. schrieb:
> Es handelt sich um ein Spassprojekt unter freunden, Entwicklungszeit
> kostet nichts.
Richtig nachdenken kostet auch nichts. Es erspart aber unnötige 
Entwicklungsansätze und Vorgaben, die in die Irre führen.

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.