CNC - Faserwickelmaschine

Naja, meine Maschine kann momentan ja schon Rohre bis 104cm wickeln.

Ich muss allerdings sagen, dass eine 3. Achse auf dem kleinen Schlitten sehr schwer zu realisieren ist, da alles ja möglichst leicht sein sollte.

Gruß Philipp :D
 

quirli

User
Hallo Philipp,

du hast gefragt, wie ich mir meine Maschine vorstellen würde...:D

Ich muss allerdings sagen, ... sehr schwer zu realisieren ist,
Warum plötzlich der Pesimissmus? Du hast schon sehr viel geschafft, du machst das schon! ;)

Gruß Klaus.
 

FamZim

User
Hi

Ich frage mich welche Geschwindigkeit die Motoren schaffen.
Also wie viele Schritte oder Schaltungen, und wie weit der" Weg" dabei tatsächlich dann ist.
Vom Programm doch sicher fast unendlich ?? Die Weite nicht Geschwindigkeit!
Die Geschwindigkeit und der Weg ist dann Programfrage UND Übersetzung zur Mechanik.
Für Umdrehungen würde ich eine pro Sek als Maximum nehmen und 20 cm an der Länge des Rohres, bei max Motordrehzahl.
Das muß Mechanisch gewärleistet werden !
Wie das Programiert wird ist mir E ein Rätsel :D

Gruß Aloys.
 
du machst das schon

:D ->

Ich habe jetzt doch eine neue Lösung für den Schlitten mit 3. Achse.

Der Roving kommt jetzt extern auf den Schlitten, wodurch ich ordentlich Gewicht sparen kann.
Dadurch kann ich den schweren SM mit der laminierten Führung ohne Gewichtsvergrößerung verbauen. Ich weiß allerdings nicht, ob ich das mit der Gewindestange so lösen kann, da sich die Führung durch den großen Hebel verkeilen könnte. Leider hätte ich nur durch den Verbau eines Getriebes die Chance, die Gewindewelle näher an die Führung zu bringen.

Anhang anzeigen 591428
 

Anhänge

  • Unbenannt 8.jpg
    Unbenannt 8.jpg
    21,8 KB · Aufrufe: 90
  • Unbenannt 6.jpg
    Unbenannt 6.jpg
    22,3 KB · Aufrufe: 102
  • Unbenannt 5.PNG
    Unbenannt 5.PNG
    142,7 KB · Aufrufe: 118
  • Unbenannt 3.PNG
    Unbenannt 3.PNG
    157,9 KB · Aufrufe: 95
  • Unbenannt 4.PNG
    Unbenannt 4.PNG
    95 KB · Aufrufe: 101
  • Unbenannt 7.jpg
    Unbenannt 7.jpg
    33,8 KB · Aufrufe: 77
  • Unbenannt 2.PNG
    Unbenannt 2.PNG
    172,7 KB · Aufrufe: 112
Ja, dass war mir schon klar. Aber ich habe jetzt ja noch 3 Motoren von Matthias, die ich auch gerne verwenden möchte. Rein technisch würde sogar so ein Pollin Motor gehen.

Gruß Philipp :D
 

FamZim

User
Hallo Phillip

Wenn Du den Roving so zufürst, tränkt man in die eine Richtung (vom Vorrat weg) doppelt so schnell, und darauf zu garnicht !!!!
Das gibt Probleme !!

Gruß Aloys.
 

FamZim

User
Hm Komando zurück !!!

Das betrifft nur das Abrollen selber !!
Getränkt wird ja auf dem Schlitten !! endschuldige meinen Eifer !!

Gruß Aloys.
 
Ok, ich dann ist ja gut!

...endschuldige meinen Eifer !!

Ist schon Ok. :D

Ich finde es immer schön, wenn es fachliche Fragen gibt!

------------------------------------------------------------------

1. Kammer

Hier wird das Harz eingefüllt.

2. Kammer/ 3. Kammer/ 4. Kammer

Das Harz wird vom Roving gestreift und der Roving wird etwas "geknetet".

5. Kammer

Der Roving ist jetzt nass, tropft aber nicht und ist nicht "wässrig".
 

Anhänge

  • Unbenannt 10.jpg
    Unbenannt 10.jpg
    15,7 KB · Aufrufe: 87
Da ich erst noch meine schriftliche Arbeit über das Projekt fertig schreiben muss, geht es hier erst wieder am 1. Februar weiter!

Gruß Philipp
 
Sooo,

ich habe jetzt eine Drehachse eingerichtet und meine Maschine auf relative Werte umgestellt (G91)
Soweit so gut.

Nun habe ich aber das Problem, dass die Drehachse sehr langsam dreht und ich bei einer höheren Geschwindigkeit -> Joint following error
bekomme.

Ich glaube wir haben das Problem, dass die Drehachse die Geschwindigkeit limitiert, schon besprochen.

Gruß Philipp :D

PS: Hardwaremäßig wird in den nächsten Tagen wieder etwas aufgerüstet....
 

quirli

User
Hallo Philipp,

in EMC wird zu deinem Fehler folgendes gesagt:
Following Error and Stepper Driven Machines
The concept of a following error is funny when talking about stepper motors. Since they are an open loop system, there is no position feedback to let you know if you actually are out of range.
following errors usually have 2 causes on steppers
1. too little ferror or min_ferror
2. the RT pulsing can't keep up with the speed needed
2.a. BASE_PERIOD set incorrectly or (requested step rate is not possible at this BASE_PERIOD)
2.b. max velocity too high
2.c. max acceleration too high

Das heißt, der Fehler müsste voraussichtlich in der ini zu suchen sein. Zu allererst würde ich die Punkte 2a bis 2c verdächtigen.

Gruß Klaus.
 
Ich denke auch, das das wahrscheinlich der Grund ist.

Wenn du etwas mehr code veröffentlichen würdest, könnten wir konkreter werden, so sind wir leider auf Mutmaßungen angewiesen. :rolleyes:

Der punkt in der EMC doku heisst ja sinngemäß:
Die pulserzeugung kann nicht mit der gewünschten Geschwindigkeit mithalten.

Es gilt also zwei Dinge ins Verhältnis zu setzen: Pulsrate und Geschwindigkeit.
Die für eine bestimmte Geschwingkeit erforderliche Pulsrate wird durch den Schrittmotor, dessen Ansteuerung (zB 1/2 Schritt) und eventuelle Getriebe, Mechanik etc bestimmt.

Die gwünschte Geschwindigkeit für G1 Befehle wird im g-code festgelegt.
Die Geschwindigkeit für G0 Befehle wird im INI durch verschiedene MAX_VELOCITY Einträge festgelegt.

Die maximale Pulsrate (in kHz) ist durch die BASE_PERIOD (im ini, Einheit nsec) bestimmt.
Sie kann entweder 1000000 / BASE_PERIOD oder 1000000 / (BASE_PERIOD*2) sein, je nachdem ob die RESET Funktion des ppt-Treibers verwendet wird. (Die 1000000 ergeben sich aus den Einheiten nsec u kHz)

Die sinnvolle BASE_PERIOD wird durch die Latenzzeit deines PC nach unten begrenzt. Die BASE_PERIOD stelle ich meist auf ca das doppelte der Latenzzeit ein.
Die Latenzeit wird wird mit dem tool latency-test gemessen.

So, jetzt haben wir alles beisammen und können anfangen:

Zunächst ermittelst du die Latenzzeit und daraus die BASE_PERIOD.
Daraus berechnest du die maximale Pulsrate. Die ist noch für alle Achsen gleich.
Nun musst du wissen wieviele pulse dein SM unter Berücksichtigung der Steurung pro Umdrehung benötigt und wie sich das in Bewegung umsetzt. Damit berechnest du für jede Achse separat, welche Geschwindigkeit jeweils der maximalen Pulsrate entspricht. Für Linearachsen zB in mm/sec, für Drehachsen zB in °/sec oder U/sec.
Somit kennst du die maximalen Geschwindigkeiten die das System theoretisch erreichen kann.
In der Praxis sollte man im ini file maximalwerte eintragen, die min 20 % darunter liegen.

Grüße, Gerd
 

quirli

User
Hallo,

vielleicht muss man dazu sagen, dass der Fehler eigentlich bei Maschinen auftritt, bei denen der soll/ist Vergleich ausserhalb einer Toleranz-Schwelle ist.

Bei den üblichen Stepper-Aufbauten gibt es aber diese Kontrolle i. d. R. nicht, da keine Positionsaufnehmer installiert sind (typ. Gegensatz: Servo-Antriebe).
Wenn nun der Fehler auftritt, so kann er nur rein computerseitig sein und hat eigentlich nichts mit der Mechanik zu tun.
Deshalb auch die Zusammenfassung von Gerd:
Die pulserzeugung kann nicht mit der gewünschten Geschwindigkeit mithalten.

Da ich diesen Fehler auch schon beim manuellen Betrieb erzeugen konnte (und nur da), bin ich mir nicht ganz schlüssig, ob die von Gerd angsprochenen Sicherheit
die min 20 % darunter liegen
ausreicht...
>>> Probieren!


Gruß Klaus.
 
Ok, danke euch beiden!

Zunächst ermittelst du die Latenzzeit und daraus die BASE_PERIOD.
Daraus berechnest du die maximale Pulsrate. Die ist noch für alle Achsen gleich.
Nun musst du wissen wieviele pulse dein SM unter Berücksichtigung der Steurung pro Umdrehung benötigt und wie sich das in Bewegung umsetzt. Damit berechnest du für jede Achse separat, welche Geschwindigkeit jeweils der maximalen Pulsrate entspricht. Für Linearachsen zB in mm/sec, für Drehachsen zB in °/sec oder U/sec.
Somit kennst du die maximalen Geschwindigkeiten die das System theoretisch erreichen kann.
In der Praxis sollte man im ini file maximalwerte eintragen, die min 20 % darunter liegen.

Schönes How To!

Ich werde das morgen versuchen und ein paar Bilder machen.

Gruß Philipp
 
Ich habe die die Motoren jetzt folgendermaßen eingestellt:

Zunächst ermittelst du die Latenzzeit und daraus die BASE_PERIOD.

Liegt bei mir bei 13000ns.

Daraus berechnest du die maximale Pulsrate
.

Die liegt bei mir bei 33333Hz

Nun musst du wissen wieviele pulse dein SM unter Berücksichtigung der Steurung pro Umdrehung benötigt und wie sich das in Bewegung umsetzt. Damit berechnest du für jede Achse separat, welche Geschwindigkeit jeweils der maximalen Pulsrate entspricht. Für Linearachsen zB in mm/sec, für Drehachsen zB in °/sec oder U/sec.
Somit kennst du die maximalen Geschwindigkeiten die das System theoretisch erreichen kann.
In der Praxis sollte man im ini file maximalwerte eintragen, die min 20 % darunter liegen.

Alle ungefähren Einstellungen für X und A Achse:

Unbenannt.PNG

Die Geschwindigkeit wurde so eingestellt, dass die Geschwindigkeitspulsfrequenz unter 26666Hz (20% von Max.) liegt.

Die maximale Geschwindigkeit der X Achse wird nach 40cm und die der A Achse nach 20 Umdrehungen erreicht.

Das Problem ist jetzt, dass ich immer noch den error bekomme. Liegt das an der zu hohen Beschleunigung? Ist Die Maschine vielleicht einfach zu klein um diese Geschwindigkeits und Beschleunigungswerte ausfahren zu können? Bei dem Test "Test this Axis" hatte die Maschine immer die volle Geschwindigkeit erreicht...

Wenn noch mehr oder genauere Werte gebraucht werden, bitte sagen!

Gruß Philipp :D
 

quirli

User
Hallo Philipp,

vermutlich ist es ohne Belang, aber bei "steps per revolution" kommt bei den üblichen Steppern "200" rein. Wenn du ein Getriebe hast, dann ist das bei "Pulley teeth" anzugeben, also die Zähnezahl motorseitig und spindelseitig.

Hast du ein Getriebe? Ich meine NEIN:
Solltest du aber den Mikroschritt in deinen 1600 berücksichtigt haben, dann ist das falsch, denn den gibst du ja extra an. Das wäre aber eine mögliche Ursache für deinen Error, da du ja 8-fache Signale brauchst...

Bei X-Achse würde ich mal die Bescheunigung auf ca. 150 runtersetzen, bei der Drehachse vlt. auf 400.
Ich nehme an, du hast schon ein metrisches System mit mm und nur das Hintergrundbild ist mit inch..?

Gruß Klaus.
 
Ansicht hell / dunkel umschalten
Oben Unten