Hallo zusammen,
ich bin Marco und noch relativ neu in der Arduinowelt und komme gleich mit einem "anspruchsvollen" Anwendungsfall daher, für den ich eine Lösung brauche.
Ich möchte ein Programm schreiben, bei dem ich 4 Abstandssensoren jeweils in den Ecken einer Platte anbringe. Diese sollen mir dann jeweils den Abstand (z.B. im Sekundentakt) messen und mir diese Daten ausspucken.
Im Grunde genommen möchte ich damit die Platte zu einer anderen Platte (Abstand ca. 5-15cm) hin nivellieren. Mein Programm sollte die Daten also auslesen und mit die Differenz der Höhen ausrechnen um mir dann zu sagen wo die Platte höher oder tiefer geschraubt werden muss.
Um das etwas zu verbildlichen:
Die Ausnivellierung eines 3D Druckbettes wäre ein ähnlicher Anwendungsfall.
Die Genauigkeit sollte hierbei min 0,1mm betragen. Besser noch eine Zehnerpotenz genauer.
Und hier ist auch der Knackpunkt.
Ich bin immer wieder über verschiedenste ToF Sensoren gestoßen, die meiner Meinung nach optimal wären (ich erkenne jedoch meist nicht wirklich die Unterschiede), jedoch fehlen oft die Angaben der Genauigkeit. Oder es ist einfach Pauschal 1mm angegeben, was ich eigentlich nicht glauben kann.
Schließlich arbeiten teure Laserentfernungsmesser doch mit selbigem Prinzip und schaffen Genauigkeiten im µm Bereich, oder?
Ich hoffe die Angaben helfen und jemand kann mir hierfür den ein oder anderen Tipp geben, wie ich hier denn ans Ziel kommen könnte.
berührungslos fällt mit dazu nichts ein, aber ansonsten schau dir mal linear Potentiometer an. Wäre dann so eine Art Messfühler. an einer Vorrichtung mit einer Feder. 1% Genauigkeit sollte machbar sein, das sind dann bei einem Poit mit 100mm länge etwa 1mm.
Bei eines solchen Genauigkeit habe ich Probleme. Du kannst zwar Elektronische Schublehren nehmen und diese auslesen. Aber dann hast Du nur den Abstand zur Bodenplatte aber nicht gegenüber einem anderen Bauteil / Druckkopf. Wenn ein Bauteil (zB Druckkopf) an allen Stellen einen definierten Abstand zu der Platte haben soll dann ist ein Abstandsensor auf dem Bauteil sinnvoller.
Grüße Uwe
Mir wäre ebenfalls kein LIDAR bekannt, Welches in µm-Bereich misst.
Ich denke mir, daß Du hier die Genauigkeit eines Glas-Messstab falsch rein interpretierst?!
Auch reden wir dann langsam von Abständen, Die schon durch die thermische Ausdehnung kompromittiert werden.
marco-123:
Im Grunde genommen möchte ich damit die Platte zu einer anderen Platte (Abstand ca. 5-15cm) hin nivellieren. Mein Programm sollte die Daten also auslesen und mit die Differenz der Höhen ausrechnen um mir dann zu sagen wo die Platte höher oder tiefer geschraubt werden muss.
Die Genauigkeit sollte hierbei min 0,1mm betragen. Besser noch eine Zehnerpotenz genauer.
Das wird eher eine Frage des Preises als der Genauigkeit.
Erhältlich sind die Lasersensoren in unterschiedlichen Modellen, die Messbereiche von 2 bis 1000 mm und Messraten von 2 bis 49,14 kHz bei Auflösungen von bis zu 0,03 μm abdecken
Die Aufgabenstellung ist viel zu unpräzise und viel zu allgemein formuliert damit man dir sinnvoll helfen kann.
Was willst du denn genau konkret machen?
Beim 3D Drucker erreicht man mit berührenden Sensoren eine Größenordnung von ungefähr 0,02-0,05mm Genauigkeit. Dies aber nur relativ zueinander mit dem gleichen Sensor der auf den Achsen verfährt.
Das hat nichts mit einer Absolutwertmessung zu tun.
Wenn man mit ToF Sensoren arbeitet, dann muss einem klar sein wie das funktioniert. Mit Lichtgeschwindigkeit im micrometerbereich messen zu wollen erscheint unrealistisch.
Daher die Frage was du genau machen willst?
Druckbett ausnivellieren?
Grillrost ausnivellieren?
Fliesen verlegen?
....
Das wären drei Beispiele die deiner Anfrage entsprechen, die aber mit Sicherheit drei völlig verschiedene Lösungen benötigen.
Schreib doch mal ganz genau auf, welche Idee du hast. Dann findet sich wesentlich wahrscheinlicher eine zielführende Antwort.
vielen Dank schonmal für die schnellen Antworten.
Im Prinzip entspricht der Anwendungsfall dem nivellieren eines Druckbettes.
Als Ergebniss möchte ich die Höhendifferenz der 4 Messpunkte ausgespuckt bekommen. Der absolute Abstand interessiert mich dabei gar nicht.
Es geht hierbei um das nivellieren von SLA/DLP Druckern.
meine Apparatur wird an die Gegenplatte geklemmt und misst den Abstand zur Wanne an allen 4 Ecken und soll mir am Ende sagen an welchen Schrauben ich wie weit drehen muss.
Ich hoffe ihr versteht damit, wie ich das nun meine.
Ein Sensor an einer Ecke misst einen Abstand von 100,93mm
Nächste Ecke 99,45mm
Nächste Ecke 102.85mm
Nächste Ecke 107.86mm
Sind die Sensoren jetzt in unterschiedlicher Höhe angebaut, oder hat die Platte einen Knick?
Weiss man nicht, weil man keine Referenz hat.
Also musst du eine Referenz schaffen in der man einmalig die Offsets der Sensoren zueinander eliminiert.
Oder die Variante der 3D Drucker:
Man fährt auf den Achsen auf denen auch der Druckkopf fährt in alle vier Ecken des Druckbetts und misst den Abstand. Genaugenommen misst man keinen Abstand sondern fährt die Achsen runter bis ein Schalter auslöst.
Da die Messung hier immer mit dem gleichen Sensor passiert ist kennt man jetzt schon die relativen Abweichungen zum Bezugssytem der Achsen. Hier ist dann nur noch nicht der eine Offset vom Sensor zum Druckkopf bekannt. Den muss man dann noch einmalig manuell einstellen. Fertig.
Ahhh okay ich komme dem Problem, das du ansprichst etwas näher.
Ich hätte die Sensoren vorher mechanisch zueinander nivelliert. Z.B. auf einer Anreißplatte, bei der ich weiß, dass die zu 100% Plan ist.
Die Sensoren würden dann alle auf Anschlag angeschraubt werden und wären somit alle auf einer Höhe.
Ich impliziere jetzt aber aus deinen Aussagen, dass das eben so nicht funktioniert, da die Sensoren dann von Ihren Messwerten her auch noch nicht zueinander kalibriert sind, richtig?
Wie darf ich das mit dem 3 Achsen Beschleunigungsmesser genau verstehen?
Egal, wie schief der Sensor auf Seiner Platine sitzt - Einmessen musst Du Das eh.
Da kommt wieder die Referenz ins Spiel - der Sensor kann noch so genau sein - dann ist die Platte halt verdammt genau - schief
Wir reden über ein Druckbett, Daß unter allen Umständen auf µm ausgerichtet werden soll??
Wie wäre Es mit einer schnöden Messuhr, Die vom Druckkopf über die Platte gefahren wird?
Wahrscheinlich ist der Abstand zum Druckkopf relevanter, als die Parallelität zur Erdoberfläche.
Zugegebenermaßen verstehe ich den Ansatz mit dem Beschleunigungssensor nicht so wirklich.
Da interessiert mich ja wirklich nur die Parallelität zur Referenzebene. Ob das Ganze System um 30° zur Seite geneigt ist oder nicht, ist mir bei der Messung egal.
Mit einer Messuhr über das Bett zu fahren wäre zu einfach und trivial.
Das Problem ist ja, dass ich bei solchen Drucker (DLP/SLA) keine X- und Y-Antriebe habe (anders als bei FFF).
Sonst hätte ich mir ja wirklich einfach das Hotend schnappen, da etwas anflanschen und damit über das Bett fahren können.
In den Fall habe ich aber wirklich nur die 2 planen Flächen zur Verfügung.
Also müsste ich mir in jedem Fall eine Apparatur bauen, mit der ich eine "Referenz" herstellen und eine Referenzmessung machen kann um allen Sensoren zu sagen, dass sie z.B. an dem Messpunkt 50mm vom Messobjekt entfernt sind, richtig?
Ich kann mir auch vorstellen einen ganz anderen Weg zu gehen, der wird dann aber mechanisch um einiges Komplexer und ist leider nicht "live", sondern muss immer wieder wiederholt werden.
So könnte ich einfach mechanisch zu den 4 Punkten fahren und dort einen Messtaster, DMS, (...) auf die Platte fahren lassen. Durch das Ganze mechanische System hole ich mir da aber wieder viele Ungenauigkeiten ins Boot, die ich eigentlich nicht möchte.