Positionierung mit Schrittmotor ESP8266

Hallo zusammen,

die beigefügten Bilder zeigen eine Applikation bei der es um die Markierung mittels einer Laserdiode gehen soll. Es wäre genial, wenn jemand von Euch mit mir einmal diskutieren könnte ob mein Schrittmotor-Ansatz grundsätzlich funktioniert.

Die Laserdiode (variabler Abstand von der Messebene, etwa ~1500 mm, siehe Bild) wird mittels eines Schrittmotors 28BYJ-48 (Datenblatt liegt bei) positioniert, wodurch sich die Diode (“Linienlaser”) um einen Winkel alpha dreht, was wiederum dem zu markierenden Abstand entsprechen soll.
Auf dem Bild scheint das zu funktionieren, aber um sicherzugehen, dass ich auf dem richtigen Weg bin, habe ich ein paar grundsätzliche Fragen zum Einsatz des gezeigten Schrittmotors, bzw. allgemein zum Schrittmotor:

  • Allgemeine Frage: Meint Ihr, der Aufbau kann zur Positionierung / Markierung genutzt werden? Eine Positionierung auf ±5mm ist in diesem Fall ausreichend

  • Liege ich mit folgender Rechnung richtig: Der Motor macht (durch das Getriebe) 4096 Schritte pro Umdrehung, was einem Schrittwinkel von 0,087890625 entspricht

  • Bei großen Abständen bekomme ich mit dem Aufbau selbstredend Probleme, da ich mit dem Schrittmotor nicht mehr genau genügend den Abstand anfahren kann (bei großen Abständen müsste der Motor kleinere Schritte machen, um die o.g. Auflösung zu erzielen), deshalb die Frage: Kennt jemand einen (erschwinglichen, Arduino-kompatiblen) Schrittmotor als Alternative mit einer noch geringeren Winkelauflösung ? Im Idealfall sollten Abstände von bis zu 5 Metern mit ±5mm markiert werden können

  • Wenn jemand bezüglich des Schrittmotors die Hände über dem Kopf zusammenschlägt: Hat derjenige eventuell eine Alternative

Die eigentliche Ansteuerung über den ESP8266 realisiere ich im Code mittels der StepperMotor-Bibliothek, da die Standard-Bibliothek mit dem ESP bei mir zumindest nicht funktioniert hat. Das Ganze funktioniert auch wunderbar. Ich bin mir nur noch nicht ganz sicher, ob das Ganze auch physikalisch (die Auflösung des Schrittmotors betreffend) funktionieren wird. Prinzipiell fehlt mir jetzt nur noch die Vorgabe der dem Abstand entsprechenden Schrittanzahl als Integer, wozu ich meine Fragen hier stelle.

Deshalb wäre es wie geschrieben, supernett wenn jemand Lust darauf hätte und Zeit mit mir zu diskutieren. Mir geht es darum etwas zu lernen.

Vielen Dank im Voraus an alle und Grüße

Bire

28byj48-Stepper-Motor-Datasheet.pdf (195 KB)

Hallo Bire,
ein paar Anmerkungen, die mir da so spontan einfallen:

bire:
Liege ich mit folgender Rechnung richtig: Der Motor macht (durch das Getriebe) 4096 Schritte pro Umdrehung, was einem Schrittwinkel von 0,087890625 entspricht

Im Prinzip ja, aber was die Stellenanzahl deiner Berechnung angeht ist das eher Wunschdenken. Zum einen haben die Motore nicht exakt eine Getriebeübersetzung von 1:64 sondern eher von 1:63,xxx irgendwas. Nach dem was ich bisher darüber gelesen habe, scheint das noch nichtmal bei allen exakt identisch zu sein.
Zum anderen hat das Getriebe Spiel, wodurch je nach Aufbau und Betrieb das Ganze zusätzlich verfälscht wird. Evtl. kann man durch eine Vorspannung das Spiel eliminieren, das belastet dann aber die Motormechanik mehr und allzuviel Durchzugskraft hat das Ding auch nicht.
Das Motörchen ist auch nicht gerade eine Industrieausführung, sondern wohl eher für Modellbau und Spielzeug gedacht.. Wie intensiv soll das denn genutzt werden?

Such mal nach 'schrittmotor mit getriebe', da findest Du haufenweise welche, die deutlich robuster und industrietauglich sind und auch eine bessere Auflösung haben.

bire:
Die eigentliche Ansteuerung über den ESP8266 realisiere ich im Code mittels der StepperMotor-Bibliothek, da die Standard-Bibliothek mit dem ESP bei mir zumindest nicht funktioniert hat.

Diese Lib ist blockierend. D.h. während der Motor dreht, kann dein Sketch nichts anderes machen. Das musst Du zumindest bedenken, ob das für deine Anwendung funktioniert.

bire:
Bei großen Abständen bekomme ich mit dem Aufbau selbstredend Probleme, da ich mit dem Schrittmotor nicht mehr genau genügend den Abstand anfahren kann (bei großen Abständen müsste der Motor kleinere Schritte machen, um die o.g. Auflösung zu erzielen),

Von daher wäre es besser, wenn die Laserdiode mittig über dem Markeirungsbereich angebracht wäre. Ist das vom Aufbau her möglich?

Hallo MicroBahner,

vielen Dank für Deine Antwort! Und gleich zu Beginn eine Rückfrage (die wichtigste) :slight_smile: Du schreibst nicht, dass es absoluter Quatsch und unmöglich ist, die Applikation auf diesem Weg umzusetzen? Heisst das, der Weg ist grundsätzlich machbar?

Das mit der Getriebeübersetzung hatte ich auch schon einmal gelesen, da ich aber ja erst einmal in der Konzeptphase bin, war meine Überlegung, es zunächst einmal hinten anzustellen, oder meinst Du, dass ich das gleich zu Beginn konzeptionell bedenken muss? Ich habe bisher noch nicht so viel mit Steppern gemacht?

Zu Deinen Bedenken bezüglich der Industrietauglichkeit: Der Motor läuft nicht unter Dauerlast (etwa 20 Mal in der Stunde, 9 Stunden-Tag). Mittlerweile habe ich einen anderen Motor entdeckt, der tatsächlich "industrietauglicher" aussieht und sogar eine geringere Winkelauslösung hat. Meinst Du, das wäre etwas/besser? Oder kennst Du andere robustere Varianten / Hersteller (Du hast recht, der macht schon einen sehr wackeligen Eindruck)?

Zur Bibliothek: Da hier keine Echtzeit-Anforderungen gestellt werden und nur sporadisch positioniert werden soll, würde das gehen. Ich hätte gerne die Standard-Bibliothek genutzt, diese aber nicht mit dem ESp8266 zum Laufen gebracht.

Auch vielen Dank für Deinen Hinweis bezüglich der Verlagerung der Laserlinie in die Mitte (es gibt hier auch schon eine CAD-Skizze). Prinzipiell möglich, war auch schon angedacht, aber auch hier stellt sich irgendwann das Problem der zu kleinen Winkel bei zu großen Abstandsangaben, oder bin ich falsch? Deine Idee wäre sicherlich auch hilfreich, da in diesem Fall der Laserstrahl "orthogonaler" auf das Werkstück trifft. Die Linie des Lasers wird mit größer werdendem Abstand ja auch breiter wird - im schlechtesten Fall breiter als 5mm...Hierfür würde das in jedem Fall helfen.

Im Idealfall wollte ich Werkstück von bis zu 10 Metern markieren können. Davon kann ich mich -glaube ich- verabschieden. Wenn ich aber Deinen "Mitte-Ansatz" nutze, würde ich die Diode bei 5 Metern positionieren und bräuchte dann in beide Richtungen nur für jeweils 5 Meter "Winkelauflösung" wenn ich Dich richtig verstehe? Das war zumindest mein Gedanke dahinter.

Vielleicht hast Du ja noch einmal Lust und Zeit.

VIELEN DANK Dir für Deine Unterstützung!

Grüße

Bire

Hi

So ganz habe ich nicht verstanden, was der laser markieren soll - auf dem Bild ist der 'Stock' fest und der Linien-Laser zeichnet die Linie auch ohne Stepper - nix blick :confused:

Zum 28BYJ-48 - das Ding soll im normalem Leben irgendwelche Lüftungsklappen bedienen - der Preis ist auch nur zu schaffen, wenn's davon Millionen gibt - denke somit: Industrie wird's schon sein.

Zu Deinem Vorhaben - wenn Du einen möglichst spielfreien und kleinen Schrittwinkel brauchst - es gibt die Stepper auch mit aufgeflanschtem Planeten-Getriebe - dort hast Du dann einen Stepper, Der sogar auch im Dauerlauf die 9 Stunden klaglos überstehen würde - beim BYJ würde ich eine Dauer-Referenzierung mit einplanen, da Dieser gerne Mal Schritte verliert, wenn's etwas schwer wird.
(bin dabei, Kugellager einzuplanen, damit zwei eigentlich auf einander liegende Scheiben mit super glatter Oberfläche besser aneinander vorbei kommen - auch ist die geschwindigkeit bei 'normalen' Steppern ... besser)

Mit den MoBaTools kannst Du Deinem Stepper eine Gradzahl geben und Dieser fährt Diese (im Hintergrund - also Blockade-frei) an. Allerdings 'nur' 10.tel Grad - wenn man aber die 10-fache Schrittzahl pro Umdrehung eingibt und 100.tel Grad übergibt (als 10.tel), wird's auch feinfühliger.
Die MoBaTools können sowohl mit dem BYJ, wie mit normalen Treibern (ganz Verwegene haben auch schon einen Mini-Mini-Stepper direkt an den Pins betrieben - ist aber eher eine 'hmm ... geht auch ... dann zur nächsten Sauerei' ... Kinder - macht Das NICHT zu hause nach ...)

MfG

Hallo postmaster-ino,

vielen Dank für Deine Antwort!!!

Ich habe Dir zur Verdeutlichung noch zwei Bilder gemacht, bei denen Du die Mechanik und den Schrittmotor besser erkennen kannst. Ich hoffe, jetzt wird es klarer. Du hast recht: Der “Stock” ist starr und bleibt auch an dieser Stelle. Dieses Konzept war mein erster schneller Entwurf. Vermutlich werde ich -wie auch von MicroBahner vorgeschlagen- den “Stock” in die Mitte verlagern…

Zu Deinen Hinweisen:

Es gibt die Stepper auch mit aufgeflanschtem Planeten-Getriebe

. Meinst Du damit sowas? Ich habe hier schon den Preis angefragt…

Mit den MoBaTools kannst Du Deinem Stepper eine Gradzahl

Ich bin kein Experte - wie Ihr bemerkt haben dürftet, aber wenn ich das aus Deinem Link auf die Schnelle erkennen kann, meinst Du die Funktion
void myStepper.write() oder?

Das mit den Zehnteln und Hunderstel habe ich zwar gerade nicht gecheckt, aber rausgelesen, dass man mit dieser Bibliothek (neben dem Vorteil, dass der Code nicht blockiert wird) exakt Winkelgrade einstellen kann und das mir weiterhelfen kann, habe ich das richtig verstanden?

Zur Verdeutlichung habe ich Euch auch noch einmal ein Excel-File ein Excel-File erstellt, welches meine Problematik noch mal verdeutlichen soll:

Die Variable “Laser-Höhe” kann eingestellt werden und wurde von mir nach Gefühl auf 1500 mm eingestellt (noch variabel). In der Spalte B “Weg” sind im Abstand von 5 mm die Sollwerte vorgegeben, die ich mit dem Laser markieren möchte (und die der Schrittmotor dann auch auflösen sollte).

Die Spalte “Drehwinkel” (C) berechnet auf Basis des minimalen Schrittwinkels den Drehwinkel am Schrittmotor, Spalte E die Schritte am Motor, ebenso wie F (hier nur gerundet), wie ich sie im Arduino-Code dann als Integer vorgeben muss (wenn ich nicht die MoBoTools nehme). In Spalte “I” berechne ich den Unterschied zwischen zwei aufeinanderfolgenden “5mm-Sollwerten”, bzw. zwischen den korrespondierenden Integer-Sollwerten. In Zelle “I347” seht Ihr das Problem. Zu diesem Sollwert 1720 mm und dem Vorgänger 1715 gibt es zwei gleichwertige Integer-Sollwerte. Das heißt für mich, dass ich in dieser Konfiguration -wenn mein Spiel minimal ist und die Übersetzung stimmt,…- Werte bis 1715 mm markieren kann, ab dann nicht mehr. So habe ich das zumindest interpretiert.

Auch bei Dir nocheinmal die explizite Nachfrage, meinst Du, das Konzept könnte funktionieren und meine Anforderung nach ±5mm erfüllen, wenn ich Deine Hinweise beachte (Bibliothek, genauere Komponenten,…)?

Wäre super, wenn Du mich noch einmal bestätigen / widerlegen könntest!

VIELEN DANK und Grüße

Bire

Hallo,

sorry, noch einmal ich. Das Excelfile ist gerade nicht durch. Deshalb nun anbei als *.txt-file. Bitte umbenennen in *.xlsx

Sorry nochmal und Grüße

Bire

Angles_forum.txt (170 KB)

Hi

Jetzt, so glaube ich, habe ich verstanden.
Du möchtest, daß der Punkt, an Dem der Laser die Platte trifft, den gewünschte Anbstand zur Kante aufweist.
Also recht simple Mathematik, rechtwinkliges Dreieck.

Der Laser soll dann aber trotzdem ein Linienlaser werden, Dessen Strahl quer verläuft?
(Also gleicher Abstand zur 'Stock-Kante' über die Laser-Linie ... Da würde ich Probleme sehen, Das 'strack' hinzubekommen)
Wenn die Stufung des Stepper fein genug ist, sollte Das machbar sein.
Gegen Getriebespiel (o.Ä.) würde ich den Ziel-Winkel immer aus der gleichen Richtung anfahren - also erst überdrehen, um dann mit 10 Steps 'von Oben' an den Ziel-Winkel zu kommen - Das sollte vorhandenes Spiel rausnehmen.

Oder Senkrecht (vll. sogar optisch) den Laser-Strahl auf 'Minus 3,5' erfassen ... also quasi schon im 'Stock' ... und von dort aus den Laser auf den berechneten Winkel hoch fahren.
Ob der Ref-Punkt 'im Stock' oder genau auf Null liegt - ist nur eine andere zahl in der Software.
'Im Stock' hätte den Vorteil, daß Dort keine Platte o.Ä. liegen KANN und so die Referenz-Fahrt immer klappen sollte.

Wenn ich Dein Vorhaben richtig interpretiert habe: Ja, denke, Das sollte machbar sein.

(Roh-Werkstück auf Bearbeitungsmaschine? Könnte mir gefallen ... wenn meine Maschine auch nur DinA 4 ist und die Decke nicht wirklich hoch)

MfG

Edit Aus Anstand dann doch Abstand gemacht ...

bire:
Du schreibst nicht, dass es absoluter Quatsch und unmöglich ist, die Applikation auf diesem Weg umzusetzen? Heisst das, der Weg ist grundsätzlich machbar?

Nun, ich habe da keine eigenen Erfahrungen. Aber ich denke, die Mechanik muss schon sehr präzise und stabil sein. Denn an den Endpunkten ( größter Abstand vom Laser ) wirken sich schon sehr kleine Winkeländerungen am Laser stark auf die markierte Position aus. Auch daher denke ich, dass Du mit einem ‘besseren’ Stepper und einem stärker untersetzenden Getriebe eher zum Ziel kommst.

Aus der Überschrift entnehme ich, dass Du für die Ansteuerung einen ESP8266 einsetzen willst. Hat das einen speziellen Grund ( drahtlose Übertragung der Sollwerte? ). Die von postmaster angesprochene MobaTools-Lib kannst Du dann nicht einsetzen, die läuft auf dem ESP nicht.

Hallo postmaster-ino & MicroBahner!

aus Abnstand möchte ich DANKE sagen, für Euer Feedback und gleich nocheinmal Nachfragen stellen, solltest Ihr noch wach sein?!

postmaster-ino Du bemerkst:

Du möchtest, daß der Punkt, an Dem der Laser die Platte trifft, den gewünschte Anbstand zur Kante aufweist.
Also recht simple Mathematik, rechtwinkliges Dreieck.

Ja, völlig korrekt!

und schreibst weiter:

Der Laser soll dann aber trotzdem ein Linienlaser werden, Dessen Strahl quer verläuft?

Antwort: Genau (siehe auch Bild). Aber warum meinst Du, dass hier Probleme auftauchen könnten?

Gegen Getriebespiel (o.Ä.) würde ich den Ziel-Winkel immer aus der gleichen Richtung anfahren - also erst überdrehen, um dann mit 10 Steps ‘von Oben’ an den Ziel-Winkel zu kommen - Das sollte vorhandenes Spiel rausnehmen.

Das ist ein “Trick” um mechanisches Spiel etwas auszugleichen, korrekt?

Was ich noch nicht verstanden habe: Was meinst Du mit

Oder Senkrecht (vll. sogar optisch) den Laser-Strahl auf ‘Minus 3,5’ erfassen … also quasi schon im ‘Stock’ … und von dort aus den Laser auf den berechneten Winkel hoch fahren.

?

Noch kurz eine Frage zu den MobaTools: Das sollte prinzipiell auch mit einem ESP8266 funktionieren, oder? Diese Frage hat MicroBahner gerade beantwortet → Leider nicht!

@MicroBahner:

drahtlose Übertragung der Sollwerte?

exakt! Deshalb der ESP!

Wäre super, wenn Ihr mir nochmals auf die Sprünge helfen könntest!

In jedem Fall: VIELEN, VIELEN DANK Euch beiden!

Grüße

Bire

Hallo,

ich hab da mal was rumgerechnet.

Annahme der Laser sitzt in der Mitte und ist 300mm über dem Werkstück.
Der Laser wird von -60° bis +60° gefahren. 0° ist ist senkrecht nach unten.

Bei -60° ist der Laser am Messbereich Anfang. Messlänge = 0. Mit dem Winkel -60° bist 60° ergibt sich mittels tangens eine Messtrecke von max 1039mm

Bei einem Schrittwinkel von 1,8° des Motor und einem Getriebe von 1:25 ergibt sich an der Antriebswelle ein kleinser Winkel von 1,8/25=0,072° Bei Vollschritt was sich ja recht einfach noch mal verringern lässt.

für die Messtrecke ergit sich damit der grösste Fehler auf Grund des Schrittwinkels jeweils bei -60° bzw 60°

300mmtan(60)-300mmtan(59,93)=1,4mm

wenn man jetzt mal davon ausgeht das das am Anfang und am Ende passieren kann würde ich mal von 3 mm ausgehen die das Ding den Laser positionieren kann.

Wenn man nun den Winkel reduziert auf -45° bis 45° ergibt das eine Messstrecke von 600 mm und einen Fehler von 0,73 mal 2 ca.1,5mm.

Dann wird da noch ein Ref. Schalter benötigt der irgendwo knapp ausserhalb des Messbereiches liegen sollte.

So jetzt hoffe ich noch das mir auf Grund der vorgerückten Stunde nicht ein Fehler um eine Zehnerpotenz reingeflutscht ist. :slight_smile:

Heinz

Guten Morgen Heinz,

vielen Dank auch Dir für Deine anschaulichen und nachvollziehbaren Berechnungen zur Trigonometrie. Das hat mich motiviert, den Ansatz weiter zu verfolgen!

Ich denke, ich werde den “Mitte”-Ansatz weiter verfolgen, wobei ich mir hier die Notwendigkeit einer zweiten (absoluten) Achse einkaufe - ich muss ja wissen, wo sich die Mitte meines Steppers befindet…Das lässt sich aber mit einer Mechanik, bzw. dann in der Software als Offset berücksichtigen. Ich möchte ja eigentlich möglichst lange Werkstücke markieren können und sollte flexibel sein!

Auch schaue ich mich noch weiter nach erschwinglichen Getriebe-Schrittmotoren um. Es gibt wohl einen 30BYJ46 mit einer Untersetzung von 1:85,25 (siehe PDF). Aber leider finde ich keinen deutschen Händler, bei dem ich das bestellen kann. Vielleicht hat hierzu noch jemand eine Idee…?

VIELEN DANK noch einmal an alle, die mitdiskutiert haben! Es macht immer wieder Spaß und ich lerne wahnsinnig viel!

Ich halte Euch auf dem Laufenden, da ich einige Aspekte bei meinen Überlegungen noch nicht berücksichtigt (und auch noch nicht verstanden) habe, z.B. Notwendigkeit einer(s) Referenzierung/Schalter, “Nullpunkt im/ausserhalb des Stocks” von postmaster-ino.

Ich wünsche Euch einen erfolgreichen Tag!

Viele Grüße

Bire

28BYJ-48.pdf (1.46 MB)

bire:
... da ich einige Aspekte bei meinen Überlegungen noch nicht berücksichtigt (und auch noch nicht verstanden) habe, z.B. Notwendigkeit einer(s) Referenzierung/Schalter, "Nullpunkt im/ausserhalb des Stocks" von postmaster-ino.

Wenn Du deine ganze Anlage einschaltest, weist Du nicht, wo der Schrittmotor steht. Einen Schrittmotor kann man nicht 'absolut' ansteuern, sondern immer nur relativ. Du gibst die Anzahl der Schritte vor, und soviele Schritte führt er dann aus. Der Weg ( Winkel ) den er dabei abfährt ist schon genau bestimmbar. Wo er aber hinterher absolut steht, hängt eben davon ab, von wo er gestartet ist.

Da ein Schrittmotor keine Positionsrückmeldung hat, musst Du am Anfang 1x genau bestimmen wo er steht. Das ist die 'Referenzierung'. Danach kannst Du über die Zahl der ausgegebenen Schritte immer mitverfolgen, wo er gerade steht. Voraussetzung dabei: er 'verliert' keine Schritte. Das kann passieren, wenn er zu stark belastet wird. Dann führt er u.U. einen vorgegebenen Schritt nicht aus, und steht nicht mehr da, wo Du es aufgrund der vorgegebenen Schritte erwartest.

Je feiner die einzelnen Schritte sind ( bei Dir z.B. durch das Getriebe ), desto genauer muss auch die Referenzierung sein. Ob da ein Schalter direkt am Motor ausreicht, da hätte ich so meine Bedenken. Dei Laserstrahl ist ja letztendlich ein langer Hebelarm, wo eben kleinste Bewegungen an der Motorwelle bereits große Auswirkungen für deinen Markierungspunkt haben. Evtl. brauchst Du da ein optisches Referenziersystem. Z.B. eine Fotodiode, die von deinem Laserstrahl getroffen wird.
Die könnte z.B. im Werktisch integriert werden. Die Referenzfahrt wird dann ohne Werkstück gemacht. Danach wird sie nicht mehr gabraucht, und kann vom Werkstück abgedeckt werden.

P.S. Endschalter, die einen zu starken Ausschlag des Motors im Fehlerfall begrenzen, solltest Du aber auf jeden Fall vorsehen.

Hallo,

@Franz-Peter da hast Du recht ein Schalter oben an in Nähe des Lasers macht keinen Sinn wegen der langen Hebel. :slight_smile:

ich beziehe mich jetzt noch mal auf mein Zahlenbeispiel oben.

Ich könnte mir aber ebefalls auch eine Fotodiode vorstellen die hinter dem Nullpunkt der Messstrecke liegt. Normalerweise steht der Servo irgendwo zwischen -45° und 45° . Zum Refferieren wird er langsam Richtung minus gefahren. Irgendwo zwischen -45° und -50° liegt die Fotodiode. Das entspricht dann z.B dem Messpunkt -10mm.

Warum willst Du denn noch den Mittelpunkt verstellen? Links auf der Grundplatte gibt es einen mechanischen Anschlag der entspricht Messlänge 0 und gleichzeitig -45°. Ob das jetzt genau -45° sind ist eigendlich fast egal, jedenfalls die Position ist Länge =0. Die Winkel mussen nicht ganz genau sein, wichtig ist das sie reproduzierbar sind. Dagegenen schiebst Du das Werkstück. Jetzt musst Du nur noch dafür sorgen das die Höhe vom Laser bist zur Oberkannte Werkstück reproduzierbar 300mm ist. Dazu muss man eventuell die Höhe verstellen können und die Halterung des Lasers mechanisch auf die 300 mm einstellen z.B mit einer Abstandsleere. Dazu ist es egal wie der Laser gerade steht wenn man es geschickt ausführt.

Heinz

Moin,

was genau soll denn da markiert werden?

Ich würde das Getriebe per Schwerkraft vorspannen.

Den Abstand muss man nicht unbedingt ausrechnen. Den kannst du auch mit einem Maßband oder ähnlichem referenzieren. So kriegst du alle Fertigungstoleranzen, Spiel in der Anlenkungen und alle sonstigen Unstetigkeiten raus.

Aber dafür müsste man besser verstehen was mit der Vorrichtung genau gemacht werden soll.

Lieben Gruß,
Chris

Hi

Jetzt habt ihr mich aber ... wo kommen jetzt die +/- Grad her?
Hatte gehofft, die Funktion verstanden zu haben:

  • Laser drehbar an Stock
  • Laser projiziert eine Linie parallel zur 'Stock-Kante'
  • je nach Winkel des drehbar gelagerten Laser entsprechend weit von dieser Kante entfernt
  • bei 90° strahlt der Laser waagerecht über die Arbeitsfläche drüber
  • bei 45° entspricht die Entfernung der Höhe

-> Referenz-Photo-Diode 'außerhalb' des Tischbereich, also 'auf Stock-Höhe'.
Bei der Referenz-Fahrt fährt der Stepper den Laser so lange runter, bis der Laserstrahl die 0° Kante überschreitet - die quer dazu projizierte Linie schneidet somit auch den Stock.
Genau hier kommt die Photo-Diode hin - nach zwei/drei Mess-Fahrten sollte ersichtlich sein, auf wie viel Grad (in Minus) der Ref-Punkt denn gelandet ist - dieser Wert kommt ins Programm.

Ab jetzt ist's nur noch Mathematik und Schritte Zählerei.

Du schickst zum ESP 'Abstand 1037.5mm - Der wirft den Taschenrechner an und berechnet den Ziel-Winkel.
Darauf errechnen wir die Schritt-Zahl des Ziel.
Stepper wird auf den Weg zum Ziel + 10 Schritte geschickt (und zuckelt los)
Nach Ankunft Ziel auf genauen Punkt setzen, auch hier folgt der Stepper.

... ab jetzt ist der ESP arbeitslos und wartet auf neue Order - vll. sollte man den Laser nach 15 Minuten abschalten - bin mir noch nicht sicher, für Was Du den Laser wirklich brauchst.
Mindest-Grenzen des Werkstück (CNC-Fräse) ist's wohl nicht - zumindest bist Du nicht auf meine Andeutung angesprungen ;).

MfG

Hallo,

@postmaster-ino

die Idee mit den +- war aufgekommen da man damit die Arbeitslänge verdoppelt ohne das durch den grösseren Winke der Fehler zu groß wird. Der Stock steht dabei mittig. +- hatte ich ins Spiel gebracht da ich Senkrecht = 0° deffniert hatte bei meinen theoretische Berechnungen zu Genauigkeit der Einrichtung siehe #9 u #12

Markieren will er eigendlich auch nicht wirklich. So wie ich das verstanden habe geht es darum den Laserstrahl auf eine vorher deffinierten Längenposition des Werkstücks zu fahren. Was er da soll ?? keine Ahnung.

Gruß Heinz

Guten Morgen zusammen,

sorry für die späte Antwort und Danke an alle, die hier noch mitdenken. Ich werde Euch heute Mittag noch einmal eine Skizze einstellen und Eure Fragen beantworten.

Bitte habe noch etwas Geduld!

DANKE und Grüße

Bire

Hallo zusammen,

wie versprochen, möchte ich mich noch einmal melden und auf Eure Hinweise / Bemerkungen eingehen, für die ich mich an dieser Stelle noch einmal bedanken möchte!

zunächst zu Deiner Frage postmaster-ino:

... wo kommen jetzt die +/- Grad her?

Die Antwort hat Heinz schon gegeben:

+- war aufgekommen da man damit die Arbeitslänge verdoppelt ohne das durch den grösseren Winke der Fehler zu groß wird.

Ursprünglich wollte ich ja einmal in der Lage sein, von 0mm aus über ein rechtwinkliges Dreieck mindestens 6 Meter zu messen. Nach Euren Bemerkungen und der Recherche zur Schrittauflösung von Stepper merke ich aber, dass das knapp wird. Wenn ich den "Stock" nun in der Mitte positioniere, brauche ich "nur" noch +-3 Meter (oder das Maximum was letztendlich funktioniert). Ich hoffe, der Gedanke passt. Ein Nachteil ist jedoch, dass ich dann die Mitte natürlich wissen, d.h. irgendwie einstellen muss, das kann aber mechanisch über Maßband, etc. gehen.

Noch kurz zur Applikation an sich, da hier auch Fragen aufgekommen sind / Unklarheiten bestehen. Die Laserlinie soll genutzt werden um ein von einer App (MIT App Inventor) vorgegebenes Maß auf ein Werkstück (z.B. einen Holzsparren, Brett,...) zu projizieren. Hier kann ich dann mit Hilfe einer Säge das Bauteil auftrennen. Es ist also eher im Handwerk angesiedelt, als im CNC-Bereich. Damit erklären sich vielleicht auch die hohen Entfernungen von mehreren Metern. Ich hoffe, das ist nun klarer!?

Eine kurze Nachfrage habe ich noch an Dich postmaster-ino: Mir ist nun klar, dass ich hier offensichtlich eine Refernzierung brauche. Aber wie meinst Du das:

-> Referenz-Photo-Diode 'außerhalb' des Tischbereich, also 'auf Stock-Höhe'.Bei der Referenz-Fahrt fährt der Stepper den Laser so lange runter, bis der Laserstrahl die 0° Kante überschreitet - die quer dazu projizierte Linie schneidet somit auch den Stock.

Ganz habe ich das nicht verstanden. Klar ist (hoffentlich), dass Du meinst, dass ich die Laserlinie mit der Fotodiode kreuzen soll, oder? Wenn hier ein Schnittpunkt detektiert wurde, dann kommt ein Signal, bei welchem ich mir die bisher durchgeführten Schritte merke. Das ist dann meine Referenz, richtig? Dein Hinweis bedingt aber, dass ich den "Mitte-Ansatz" wähle, oder?

Noch eine Nachfrage mit:

ährt der Stepper den Laser so lange runter

meinst Du, der Stepper dreht so lange, oder? Eventuell meinst Du auch, dass der Stepper so lange dreht, bis der Laser unterhalb der Fotodiode ist, d.h. der Strahl ab diesem Punkt nicht mehr detektiert wird und das Signal dadurch abfällt?! Aber auch hier würde ich behaupten, dass Du dann den "Mitte-Ansatz" meinst, sonst bin ich total auf der falschen Spur!

Wäre super, wenn Ihr noch einmal Lust hättet mit mir zu diskutieren. Ich habe schon wieder so viel gelernt!

DANKE, DANKE, DANKE!

Grüße und einen erholsamen Samstag

Bire

Tja, du hast leider ein wesentliches Problem bisher völlig vergessen: Die Dicke des Werkstücks.
Wenn die Variabel ist, funktioniert es bis hier her leider nicht.


Wieso ein so komplizierter mechanischer Aufbau?
Wieso montierst du den Laser zwischen Elektronik und Stock und nicht in der engegengesetzten Richtung im Gehäuse? Im diesem Bild links Stock und rechts Laserkopf?

Ist der Laser stark genug um in der gut beleuchteten Werkstatt gesehen zu werden?

Grüße Uwe