TIA Sollwert für eine Drehachse

Mechakb

Level-2
Beiträge
25
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend zusammen,

ich hab folgende Aufgabe an einer Anlage.

Ich habe ein Zylinderförmiges Produkt (Durchmesser immer der selbe) an einem Förderband. Durch eine Keyence Kamera wird eine Schweißnaht erkannt und ein Y-Wert (mm) an die SPS gegeben. In der SPS will ich nun den Ist-Wert mit einem Soll-Wert vergleichen und ggf. die Drehposition ermitteln, falls die Schweißnaht nicht in Position ist. Falls die Schweißnaht nicht in Position ist, wird das Produkt über einen Movimot motor mit Geber gedreht.

Steuerung ist eine S7-1500. Ist es möglich, die Sollposition in Grad umzuwandeln und an den Motor weiterzugeben? Wie ist es am sinnvollsten?

Vielen Dank im Voraus und ein Schönes Wochenende
 
Hast du schon einen Motor? Natürlich ist es möglich von mm in Grad umzuwandeln. Hast du eine Kamera (CV-X, XG-X) oder einen Profilsensor LJ-X?

Im 2D hast du halt immer das Problem, dass die mm irgendwie „fixiert“ in Grad gewandelt werden müssen. Eventuell sogar nicht linear (wegen der runden Oberfläche)

Edit: Überlesen dass es ein Movimot ist.

Edit 2: Hier noch ein Link der eventuell passt: https://de.wikipedia.org/wiki/Kreissegment

Was genau ist das Ergebnis der Kamera? Die Abweichung zum Idealwert? Ist der Idealwert: Schweißnaht gerade nach oben?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe die Kamera CV-X350F

Die Schweißnaht befindet sich horizontal am Produkt. Hatten uns das so überlegt, dass wir einen Bezugspunkt definieren und die Entfernung von Bezugspunkt zur Schweißnaht als Entfernung an die SPS übergeben.
 
Dann ist die Berechnung eigentlich einfach:
Abstand Bezugspunkt zu Mittelpunkt Drehachse
- Abstand Schweißnaht zu Bezugspunkt
= Abstand in X oder Y zum Drehmittelpunkt

Aus diesem Wert mittels trigonometrischer Funktion den erkannten Ist-Winkel berechnen und dementsprechend die Achse drehen lassen zur Wunschposition.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab dir oben den Wikipedia Artikel vom Kreissegment verlinkt. Die Kamera soll dir den Abstand zum Mittelpunkt schicken. Das wären dann 1/2 „s“. Im Artikel ist eine Formelsammlung, du brauchst 1/2 „Alpha“
 
Die Berechnung über die Länge der Sehne ist richtig, aber ich empfinde das als (verwirrenden) Umweg.
Ohne Spatzen und Kanonen sieht man doch eigentlich sofort den Lösungsweg :

1. Höhe normieren auf Radius :
hn = h / r

2. ARCSIN von normierter Höhe; Ergebnis in "RAD" :
wrad = ARCSIN(hn)

3. RAD in DEG umrechnen (= Radiant in Grad) :
wdeg = wrad / ARCTAN(1) * 45

Oder Zusammengefasst :
wdeg = ARCSIN(h / r) / ARCTAN(1) * 45

Anmerkungen :
Mit "Höhe" ist hier der Abstand der Projektion der Schweissnaht auf die Y-Achse gemeint.
Siehe die senkrechte grüne Linie in der Abbildung (geklaut aus Wikipedia und dort noch schöner als gif zu sehen).
Sie ist identisch mit dem SIN des Winkels multipliziert mit dem Radius des Zylinders.

Zur Umrechnung von Radiant in Grad ist natürlich die Kreiszahl Pi erforderlich.
Pi wird oben aus ARCTAN(1) berechnet :
Pi = 4 * ARCTAN(1) bzw. ARCTAN(1) = Pi / 4 also eigentlich
wrad / ARCTAN(1) * 45 = wrad / Pi * 180

Sinus_und_Kosinus_am_Einheitskreis_1.png
 
Zuletzt bearbeitet:
Dann ist die Berechnung eigentlich einfach:
Abstand Bezugspunkt zu Mittelpunkt Drehachse
- Abstand Schweißnaht zu Bezugspunkt
= Abstand in X oder Y zum Drehmittelpunkt

Aus diesem Wert mittels trigonometrischer Funktion den erkannten Ist-Winkel berechnen und dementsprechend die Achse drehen lassen zur Wunschposition.
Vielen dank für eure Antworten.

Also das Ergebnis ist dann der Ist-Winkel von der Schweißnaht zur Bezugspunkt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nein, nicht ganz.
Das Ergebnis ist der durch die Kamera erfasste Ist-Verdrehwinkel der Schweißnaht auf deiner Drehachse.
Wenn hier beispielsweise 27,3° als Ergebnis kommt und Du als Wunsch-Winkel beispielsweise eine Positionierung auf 45,0° haben möchtest, musst Du deine Drehachse um 17,7° bewegen.
 
Also das Ergebnis ist dann der Ist-Winkel von der Schweißnaht zur Bezugspunkt?
Wo liegt denn der BezugsPunkt?

Ich hatte das bisher so aufgefasst, dass vermutlich eine Verschiebung besteht zwischen den KoordinatenSystemem der Kamera und des Zylinders.
In der folgenden Darstellung habe ich den "BezugsPunkt" (eigentlich eine BezugsLinie) mit aufgenommen und sie ausserhalb des Kreises ("Boden des Zylinders") eingezeichnet. Sie kann aber auch genauso gut durch den Kreis verlaufen - ich wollte nur die Darstellung des Kreises nicht unnötig stören.
Dargestellt wird die Verschiebung des eigentlichen BezugsPunkts der Berechnung (= der KreisMittelpunkt) irgendwohin(?) um den Betrag b und es soll verdeutlicht werden, dass sich diese Verschiebung additiv sowohl auf den "Radius" als auch auf die "Höhe" auswirkt, die entsprechend in/vor der Berechnung auf den tatsächlichen Radius bzw. die tatsächliche Höhe korrigiert werden müssen.
Werden von der KameraAuswertung die Positionen der Tangenten (in der Darstellung rechts mit + und – bezeichnet), so kann daraus direkt die Lage der MittelLinie berechnet und die Höhe darauf bezogen werden.

Zylinder.jpg

Es wird der Winkel berechnet, um den der Zylinder gedreht werden muss, damit die SchweissNaht in die Stellung 0° gebracht wird.
Welche Situation tatsächlich vorliegt, erschliesst sich mir bisher nicht im Detail, aber ich denke, die obige Darstellung sollte helfen und leicht anpassbar sein.

Statt ARCSIN habe ich diesmal die in SCL übliche Schreibweise ASIN verwendet sowie ATAN statt ARCTAN.
 
Zuletzt bearbeitet:
Der Bezugspunkt ist noch nicht definiert bzw. wird aber wahrscheinlich unterhalb des zylinders liegen. Das muss dann an der anlage vor ort gesichtet werden. Heinileini, nach deiner Formel bekomme ich dann einen Winkel, von der Schweißnaht bis zur 0 Grad?

Deine Zeichnung hilft auf jedenfall! Vielen dank dafür
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Heinileini, nach deiner Formel bekomme ich dann einen Winkel, von der Schweißnaht bis zur 0 Grad?
Ja, genau:
Es wird der Winkel berechnet, um den der Zylinder gedreht werden muss, damit die SchweissNaht in die Stellung 0° gebracht wird.
Das könntest Du ja schon voarb (z.B. in Excel) testen mit der Formel.
Beispiel aufzeichnen und den "gemessenen" Wert von h sowie den Radius eingeben und dann müsstest Du den gesuchten Winkel erhalten.
Mal mit verschiedenen Beispielen und auch mal mit negativer Höhe (Abweichung in der umgekehrten Richtung - in der Zeichnung nach unten) rumprobieren.

PS:
den Drehsinn in Abhängigkeit vom Vorzeichen des Winkel habe ich bewusst "nicht so genau" genommen bzw. vertauscht, weil die Formel sonst vielleicht mehr verwirrt hätte.
Positiver Winkel bedeutet es besteht eine Verdrehung linksherum und die muss natürlich dann rechtsherum korrigiert werden (also eigentlich durch einen negativen Winkel dargestellt werden).
Negativer Winkel bedeutet es besteht eine Verdrehung rechtsherum und die muss natürlich dann linksherum korrigiert werden (also eigentlich durch einen positiven Winkel dargestellt werden).
 
Zuletzt bearbeitet:
Nehmen wir mal an, dass die Sollposition nichz bei 0 Grad sind sondern beispielweise bei -20 Grad dann müsste ich den r ändern oder?
 
Nehmen wir mal an, dass die Sollposition nichz bei 0 Grad sind sondern beispielweise bei -20 Grad dann müsste ich den r ändern oder?
NEIN, nicht den r ändern, das ist doch der Radius des Zylinders! Der sollte weiterhin zu dem betreffenden Zylinder passen.

So gesehen wäre es sinnvoller, den berechneten Wert α als IstPosition zu sehen und die -20° als SollPosition.
D.h. die erforderliche Drehung ist dann
korr = SollPosition - IstPosition
korr = -20° - α

Beispiele:
Ist = 30° : korr = -20 - 30 = -50 -> Drehung um -50° (neg. -> rechtsherum)
Ist = -10° : korr = -20 - (-10) = -20 + 10 = -10 -> Drehung um -10° (neg. -> rechtsherum)
Ist = -30° : korr = -20 - (-30) = -20 + 30 = 10 -> Drehung um 10° (pos. -> linksherum)
 
Zuletzt bearbeitet:
Zurück
Oben