ich bin an einem Bauprojekt dran wo ich noch kleine Entwicklungsprobleme habe.
Es handelt soch dabei um einen Laserplotter im Eigenbau.
Das Gerät funktioniert seit gestern schon prima. Die Steuerung läuft über ein Arduino Uno R3
mit grbl 9a. Der Laser sitzt auf 2 Achsen wobei er am Schlitten fest montiert ist.
Meine Idee ist folgende: Da man ja Werkstoffe von unterschiedlicher Höhe hat, müßte man den
Laser ja jedesmal neu justieren damit der Brennpunkt stimmt.
Wenn ich den Laser aber auf eine Z Achse setze so das man ihn hoch und runter fahren kann dann
wäre das um einiges einfacher.
Ich habe ein Gerät das per Laser die Distanz ermitteln kann ( Messverstärker, Haupteinheit, PNP - LV-11SAP | KEYENCE Deutschland ). Dieses würde ich gerne einbauen um so die Distanz zum Werkstück immer automatisch ausgleichen zu lassen.
Ist das möglich ?
sorry, ich wußte jetzt nicht das man sich für das Datenblatt extra anmelden muß.
Ich habe mir mal das Datenblatt angeschaut und da sind aber leider keine Infos drauf die
man verwerten könnte. Da geht es nur um Maße usw...
Aber ich habe den Sensor mal durchgemessen mit der Arduino "ReadAnalogVoltage" Beispielprogramm.
Es gibt 5 Bereiche des Sensors
Ich beschreibe mal die gelieferten Daten in den 5 Höhenunterschieden
Bereich 1 ------------------------ (Außerhalb des Messbereichs - Programm liefert Werte von 3,20 - 3,29)
Bereich 2 ------------------------ (Innerhalb des Messbereichs aber nicht zentriert - Programm liefert Werte von 4,80 - 4,89)
Bereich 3 ------------------------ (Genauer Messpunkt zentriert - Programm liefert Werte von 4,20 - 4,29)
Bereich 4 ------------------------ (Innerhalb des Messbereichs aber nicht zentriert - Programm liefert Werte von 3,70 -3,79)
Bereich 5 ------------------------ (Außerhalb des Messbereichs - Programm liefert Werte von 3,20 - 3,29)
Bereich 1 + 5 könnte man vernachlässigen, da dieser Bereich sowieso nicht mehr abgefragt würde.
Es ginge jetzt primär um die Bereiche 2, 3 und 4. Der angeschlossene Schrittmotor (altes DVD Laufwerk) sollte beim Bereich 2 nach unten fahren, beim Bereich 4 nach oben und wenn er den Bereich 3 erreicht stoppen.
Ist sowas möglich ?
Hallo,
also ein vernünftiges Datenblatt/Manual dafür wird es geben. Wäre nicht schlecht
wenn Du die Dokus mal anhängen könntest.
Mit den "geschätzten" Werten des Arduino kommt keiner weiter, wenn man nicht
weiß was da "rauskommen" soll.
Laserplotter? Und Du möchtest den idialen Brennpunkt mit einem Schrittmotor
einstellen?
Gruß und Spaß dabei
Andreas
Also das sind die Daten die ich über den Lasersensor gefunden habe.
Das zweite Datenblatt bezieht sich nur auf den dazugehörigen Messverstärker den ich
aber wohl nicht verwenden kann, da er nur ein an/aus Signal ausgibt ja nach Wert.
Also ist der nur der LV-S31 Interessant da er mir Werte über die Entfernung ausgibt.
Ja genau Andreas, ich möchte den Brennpunkt abhängig von dem untergelegten Objekt ausgleichen.
Hallo,
da kann man etwas mit anfangen. Das Ding ist eine bessere reflex Lichschranke.
Abstand messen kann man damit nicht. Es zeigt einem an, das Etwas in einem
bestimmten Bereich vorhanden ist.
Wenn Dein Laser(plotter) Dampf genung hat, wird es eine große Rolle nicht
spielen, wo genau der Brennpunkt liegt. Das kostet dann nur unnötig Energie.
Wenn Du den Abstand aber exact möchtest, dann würde ich mit etwas anderem
Messen- und 1/10mm sollte kein Problem sein.
Für die Z-Achse würde ich einen ServoMotor nehmen, die können ohne Probleme
1/100 mm.
Das hoch & runter fahren mit dem DVD-Schrittmotor am Arduino ist ohne
weiteres möglich. Ob Du für den Motor allerdings eine Ansteuerung findest ist
zweifelhaft- auch wie genau das mit dem Motor wird…
Ist ne´ ziemlich spannende Sache.
Gruß und Spaß dabei
Andreas
ja das ist teilweise richtig. Die "Lichtschranke" besteht ja aus zwei Komponenten.
Die erste ist der Sensor, der ein Reflex-Laserkopf ist. D.h. in den Kopf ist eine Laserdiode eingebaut und eine
Empfängereinheit die den reflektierten Laserstrahl messen kann.
Das zweite Gerät ist eine Verstärkereinheit in der man die Werte eingeben kann wann der Ausgang geschaltet wird.
Man hat darauf einen soll und einen ist Wert. Der ist Wert zeigt die genaue Entfernung zum Objekt an.
Was für mich bedeutet das der Sensor ja die Entfernungsdaten übvermitteln muß. Diese werden anhand von Spannungspegeln wie
oben in dem Post beschrieben übermittelt.
Mit der Verstärkereinheit kann ich bei dem Projekt nicht viel anfangen, da ich ja keinen schaltbaren Ausgang brauche
sondern einen variablen Datenstrom der sich mit der Entfernung ändert.
Und das liefert nur der Sensor ohne die Verstärkereinheit.
Meine Idee beruht darauf die ausgegebenen Spannungen auszuwerten.
Kommt eine Spannung zwischen 4,80 - 4,89 Volt an, dann soll der Schrittmotor nach unten fahren bis die Spannung im Bereich von 4,20 - 4,29 Volt liegt. Dann stopp !
Ungekehr genau so. Ist die Spannung bei 3,70 - 3,79 Volt, dann soll der Schrittmotor nach oben fahren bis die Spannung dann bei 4,20 - 4,29 Volt liegt. Dann stopp !.
Ob man dann das ganze mit ins grbl einbauen kann weiß ich nicht.
Notfalls würde ich für diese Steuerung ein seperates Uno nehmen.
Hallo,
kommt darauf an, was Du vor hast. Wenn Du nur einmal- die Stärke des Material messen willst, dann laufen "keine Daten" auf. Hast Du aber
"WellblechMaterial" und brauchst die Höhe kontinuierlich, könnte etwas ins "stottern" kommen.
Gruß und Spaß
Andreas
Es soll folgendermaßen funktionieren. Der Bruckbereich, d.h. die Höhe ist ja eh nur bis etwa 10cm. belegbar mit einem Objekt.
Lege ich ein ca. 5 cm dickes Brett darauf was graviert werden soll, dann soll folgendes passieren.
grbl (die Steuersoftware zum gravieren) fährt den Laserkopf auf die Arbeitsposition. Beim erreichen des Objektes wird durch den Lasersensor die Höhe zum Objekt gemessen und der Laserkopf wird automatisch angehoben um die Distanz des Brennpunktes auszugleichen.
Hallo,
dann ist es ja nur ein Wert zum vergleichen. Du brauchst also nur noch eine ReverenzHöhe für den Motor, denn keiner weiß wo der steht,
wenn gestartet wird.
Gruß und Spaß
Andreas
Ich habe ja die Werte die mir der Sensor ausgibt. Nur ich weiß nicht wie ich das umsetzen kann das der Steppermotor bei einem zu hohen Wert runter oder bei einem zu niedrigen Wert hoch fähr und beim erreichen des Wertes dann stehen bleibt.
Hallo,
den zu niedrigen Wert kannst Du Dir sparen. Das System wir hochgefahren, der
Motor fährt automatisch hoch. Das gleiche beim runterfahren des System. Der
Motor ist also immer in einer definierten Startposition.
Da Du sagtest, dass die Steuerung über einen Arduino Uno schon läuft, dann
heißt das, das Du x,y schon anfahren kannst.
Sollte es allerdings so sein, das Du die ganze Technik schon fertig übernommen
hast, und von der MotorProgrammierung mit dem Arduino keine Ahnung hast, dann
würde ich erst einmal versuchen- rauszubekommen, was genau für ein Schrittmotor
diesen DVD-Player antreibt. Dann kaufst Du Dir für genau diesen MotorTyp ein
SchrittmotorShield und übst erst einmal.
Und denke daran, das die Auflösung/Übersetzung Deines Motor kleiner sein muss,
als die Auflösung Deiner Messvorrichtung.
Gruß und Spaß dabei
Andreas