Styroschneider nach Konzept Hans23 mit EMC2

Hallo Gerd, hallo Peter,
Eure Betrachtung überzeugt mich nicht!
Wenn ich Peters Skizze betrachte, so habe ich zwei Punkte, die über die gleiche Seillänge angefahren werden sollen (d.h. der Motor dreht sich nicht bei der Bewegung von A nach B).
Für das Seil, daß im Achsmittelpunkt angesetzt ist, ist alles i.O.
Das andere Seil, das über die Rolle gewickelt ist, verkürzt sich entsprechend dem roten Umschlingungsweg. Dieses Seil wird also den Punkt B nicht erreichen, es fehlen 1.5708mm !! :(
Leider !

Gruß Hans
 

PeterD

User
Das andere Seil, das über die Rolle gewickelt ist, verkürzt sich entsprechend dem roten Umschlingungsweg. Dieses Seil wird also den Punkt B nicht erreichen, es fehlen 1.5708mm !! :(
Leider !
Das ist völlig korrekt wenn du die rollenmitte als referenz nimmst und so in deinem parameterfile hast.

Gerd hat zwar auch den einen oder anderen denkfehler drin aber es ist nicht (ganz) falsch
Wenn du wie Gerd die rollenaussenkante als referenzpunkt nimmst ist es wirklich weniger abweichung. Das ist ein anderes bezugssystem.
Beispiel: 1000mm achsabstand, 6mm durchmesser achsen, macht 1006mm breite.
Die 1006mm kommen jetzt ins parameterfile ...

senkrechtes seil: 400mm

30° seil verliert 1,507mm bezogen auf den punkt an dem es die rolle verlässt (oder den rollenmittelpunkt), richtig.
Gerd referiert jetzt aber auf den tangentenpunkt des senkrechten seils.
Dieser punkt liegt aber um (ca.) sin(alpha)*radius = 1,5mm oberhalb.
Diese 1.5mm addieren sich wieder zur verkürzten seillänge.

Der unterschied ist der drehpunktabstand.
Du rechnest mit 1000mm (mittelpunktabstand), da fehlen wirklich 1,507mm.
Gerd rechnet mit 1006mm (aussenkanten), da fehlen nur noch 0,07mm.
Beide rechnungen beziehen sich auf eine identische mechanik mit 1000mm mittelpunktabstand der achsen.

Versteh mich richtig, der fehler wird nicht eliminiert.
Aber die verbreiterte basisbreite kompensiert zumindestens einen teil.
Der "fehler" der breiteren basis wirkt den umschlingungsfehler entgegen.
Bezogen auf die rollenaussenkante ist der längenfehler dann nur noch 0,0708mm.

Ich bin mir aber sicher die breitere basis bewirkt weitere "andere" fehler.
Wär mal interessant zu rechnen wie man die basisbreite in abhängigkeit der rollendurchmesser optimiert um den geringsten fehler zu bekommen.

gruss Peter

EDIT
Joystick hab ich grad zum funktionieren bekommen in joint und karthesischem (world) koordinaten auf allen achsen.
Hab aber irgentwie probleme noch mit joint 3/4 die zu abbrüchen wegen "following error" führen.
Merkwürdig ist das joint0/1 und 3/4 identisch konfiguriert sind und joint0/1 laufen problemlos, auch mit höheren fahrgeschwindigkeiten.
Das gleiche auf 3/4 und er rastet aus. Da gehen im moment nur geringe jogging speeds auf 3/4.
 
Gerd hat zwar auch den einen oder anderen denkfehler drin aber es ist nicht (ganz) falsch

Freut mich dass es nicht ganz falsch ist :D:D:D
Den einen oder anderen Denkfehler hab ich bisher bei mir nicht gefunden.
Vielleicht hab ich's aber falsch erklärt.

Wenn du wie Gerd die rollenaussenkante als referenzpunkt nimmst ist es wirklich weniger abweichung. Das ist ein anderes bezugssystem.
Beispiel: 1000mm achsabstand, 6mm durchmesser achsen, macht 1006mm breite.
Die 1006mm kommen jetzt ins parameterfile ...

senkrechtes seil: 400mm
Das ist genau der Interpretationsfehler. Klar verändert sich die Seillänge nicht, und die gesamte rote Seillänge muss gleich der grünen sein.
In meinem Beispiel also 401,46 mm.
Im grünen Fall wird angenommen, dass das Seil die Rolle exakt am Bezugspunkt verlässt. Dieser Bezugspunkt ist natürlich fest. Der blaue Abstand ist der Abstand zwischen dem festen bezugspunkt und dem Seilende. Das sind 401,41 mm, damit beträgt der Fehler 0,05 mm.

Du kannst es ja auch umgekehr betrachten: nimm den roten Fall als Ausgangspunkt. Die Seillänge ist 401,46, der Abstand aber 401,41.
Im grünen Fall ist dagegen Abstand = Seillänge.

Ich hoffe es ist jetzt besser rübergekommen.

Richtig ist, dass der (feste) Bezugspunkt bei mir an der Rollenaussenkante liegt, so wie ich es in meiner Anleitung beschrieben habe und dieser Wert muss natürlich auch als Rechenparameter benützt werden.

Grüße, Gerd
 
Aber die verbreiterte basisbreite kompensiert zumindestens einen teil.
Der "fehler" der breiteren basis wirkt den umschlingungsfehler entgegen.
Bezogen auf die rollenaussenkante ist der längenfehler dann nur noch 0,0708mm.

Ich bin mir aber sicher die breitere basis bewirkt weitere "andere" fehler.
Wär mal interessant zu rechnen wie man die basisbreite in abhängigkeit der rollendurchmesser optimiert um den geringsten fehler zu bekommen.

Es geht nicht nur um die Basisbreite, sondern um den "Bezugspunkt".
Bezugspunkt nenne ich den Punkt an dem das Seil die Rolle in einer Referenzstellung verlässt. Referenzstellung kann z.B die XY Nullposition sein.
Zweifellos liegt der optimale Bezugspunkt irgendwo tangential an der Rolle (oder sehr nahe dran EDIT: quatsch, bei dieser definition des Bezugspunkts muss er tangential liegen).
Vielleicht muss ich auch meine Anleitung nochmal präzisieren.
Es war so gedacht:
Bei der fertigen Mechanik mit eingehängten Seil misst man*) den horizontalen Abstand der Bezugspunkte, sowie die Abstände der Bezugspunkte vom Draht-Einhängepunkt.
Damit ist das Dreieck eindeutig bestimmt.
Der damit definierte Bezugspunkt liegt irgendwo zwischen 6:00 und 9:00 (Uhrzeiger), bezogen auf den linken Motor und wenn die Seile von aussen gewickelt werden.
Ich seh darin keine weiteren Fehler versteckt, ausser dem bereits diskutierten durch die Umschlingung.

Grüße, Gerd

*)EDIT: vielleicht sollte ich besser statt "misst man" schreiben "bestimmt man", denn das direkte messen der Abstände ist praktisch nicht ganz einfach.
 
mir dämmerts

mir dämmerts

Hallo Peter, hallo Gerd,
ja, jetzt kann ich folgen. :)
Die Konsequenz, um die Wickelfehler zu minimieren:
Der Abstand der Motoren muß außen an den Seiltrommeln gemessen werden!
Der Wickelsinn muß jeweils von unten um die Rolle erfolgen!

Danke, Hans
 
Joystick hab ich grad zum funktionieren bekommen in joint und karthesischem (world) koordinaten auf allen achsen.
Hab aber irgentwie probleme noch mit joint 3/4 die zu abbrüchen wegen "following error" führen.
Merkwürdig ist das joint0/1 und 3/4 identisch konfiguriert sind und joint0/1 laufen problemlos, auch mit höheren fahrgeschwindigkeiten.
Das gleiche auf 3/4 und er rastet aus. Da gehen im moment nur geringe jogging speeds auf 3/4.

hallo Peter,
kannst du mir deine konfigs schicken? Würde das auch gerne testen.
Was für einen joystick verwendest du ?

Grüße, Gerd
 

PeterD

User
Achtung: NEUES dualbipod modul, es benutzt jetzt X/Y/A/B !

Was für einen joystick verwendest du ?
Einen alten simplen analogstick am gameport.
Der sieht in etwa wie ein senderknüppel aus, also kein gamer joystick.
Jede der beiden tasten aktiviert jeweils eine portalseite.

hal_input kann aber auch USB eingabegeräte.
Also ein beliebiger joystick oder joypad sollte gehen.

Auf vielfachen wunsch eines einzelnen herrn hänge ich die daten mal an.
Es ist eine als TXT umbenannte ZIP datei, sonst akzeptiert das board das file nicht.

Bitte beachten, das sind noch arbeitsdateien.

Im nachfolgenden bitte beachten das teilweise root rechte benötigt werden.
Bitte vorher mit "sudo -s" auf root rechte wechseln oder mit "sudo ....." dem kommando voranstellen.

In joy.hal muss man in zeile drei (loadusr -W hal_input -KRAL Analog) den namen des joysticks eintragen. Es muss ein eindeutiger text-string sein, ohne leerzeichen.
Man kopiert also einen (eindeutigen) teil aus dem namen den der joystick von linux bekommt.
Wie der joystick heisst erfährt man mit "cat /proc/bus/input/devices" im feld "Name".
Hier mal mein analoger stick:
Code:
I: Bus=0014 Vendor=0001 Product=000f Version=0100
N: Name="Analog 2-axis 4-button joystick"
P: Phys=pci0000:00:0e.0/gameport0/input
S: Sysfs=/devices/pci0000:00/0000:00:0e.0/gameport1/input/input4
U: Uniq=
H: Handlers=event4 js0
B: EV=b
B: KEY=1b 0 0 0 0 0 0 0 0 0
B: ABS=3
Da hab ich nur "Analog" in mein HAL file kopiert, das reicht.

Es müssen noch die rechte für udev angepasst werden damit man auf den joystick zugreifen kann. Vorgehen bitte equivalent zu http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?A_New_Approach_For_Using_Joypads_With_EMC2

gruss Peter

P.S.
Um den analogen joystick zu benutzen braucht es die module joydev und analog, sowie für die gameport karte. Ich benutze eine ESS1371 karte und hab mit joystick.txt mal die modulkonfiguration angehängt. TXT ist wieder nur für portal. Die datei gehört nach /etc/modprobe.d

Beim gameport bitte beachten dass der stick bereits beim booten angesteckt sein muss, sonst findet das modul den stick nicht.

P.P.S. Wer sich mit linux an der kommandozeile schwertut einfach mal "mc" (midnight commander) benutzen, der alte "Norton Commander" lässt grüssen.
Das vereinfacht die arbeit ungemein.
 

Anhänge

  • hotwire_2010-03-07.zip.txt
    30,6 KB · Aufrufe: 43
  • joystick.txt
    245 Bytes · Aufrufe: 80
Einen alten simplen analogstick am gameport.
Der sieht in etwa wie ein senderknüppel aus, also kein gamer joystick.
Jede der beiden tasten aktiviert jeweils eine portalseite.

hal_input kann aber auch USB eingabegeräte.
Also ein beliebiger joystick oder joypad sollte gehen.
Ich hab's befürchtet. Mein Werkstattlaptop hat keinen gameport.
Mit USB gibt's evtl das Problem, dass die Latenzzeit ungebührlich ansteigt.
Soll auch PCMCIA karten mit gameport geben, aber das ist wohl eher exotisch.
Mal sehen.

danke erst mal
Grüße, Gerd
 

PeterD

User
Mein Werkstattlaptop hat keinen gameport.
Wieder ein argument gegen den Laptopeinsatz an der fräse.

Also, kinder, nicht nachmachen ;)

Ich hab schon mal testweise ne USB maus drangesteckt, das fiel gar nicht auf.
Ich krieg nur bei USB massenspeicher richtig probleme.
Ich würds einfach mal ausprobieren.
 
Wieder ein argument gegen den Laptopeinsatz an der fräse.

Also, kinder, nicht nachmachen ;)

Ich hab schon mal testweise ne USB maus drangesteckt, das fiel gar nicht auf.
Ich krieg nur bei USB massenspeicher richtig probleme.
Ich würds einfach mal ausprobieren.

Also mein Fräsrechner (nicht Laptop) hat keinen Gameport, aber ich nutze USB-Maus und USB-Tastatur und habe keine Probleme (unter Mach3)


Wobei ich schon lange keine Joysticks mehr mit Gameportanschluss sondern nur noch mit USB-Anschluss gesehen habe... Auch neue Rechner haben meines Wissens (meistens) keine Gameport mehr!
 
Ich hab schon mal testweise ne USB maus drangesteckt, das fiel gar nicht auf.
Ich krieg nur bei USB massenspeicher richtig probleme.
Ich würds einfach mal ausprobieren.
Erstaunlicherweise ergibt der latenz test keine Änderung durch anstecken meiner USB sticks. Muss das aber mal noch genauer ansehen.
Joystick/pad hab ich leider nicht so rumliegen zum testen.
Maus könnte ich mal probieren. Ist das der gleiche Treiber in linux wie für joystick ?

Grüße, Gerd
 

PeterD

User
Erstaunlicherweise ergibt der latenz test keine Änderung durch anstecken meiner USB sticks. Muss das aber mal noch genauer ansehen.
Bei mir ergibt anstecken eines stick latenzpeaks von 1ms !!

Maus könnte ich mal probieren. Ist das der gleiche Treiber in linux wie für joystick ?
Grundsätzlich ja, ist ja auch input.
Allerdings scheint X hier die maus zu grapschen bevor man sie an EMC geben kann.
Insofern scheint es nicht zu funktionieren.
Ich weiss aber nicht wie man das kontrollieren kann.
 
Hallo Jungs
Ich habe mal eine Frage zu Profili ??
Wenn ich eine Fläche erstelle Fährt Profili an der Profilsehne ca 20 mm Rauf und runter, und dann erst Fährt es das Profil ab
Wie kann ich das Abstellen ???
Wollte einen Rumpf Schneiden mit 80 mm Durchmesser Profile Fährt aber erst mal so locker 300 mm Hoch und runter bevor es anfängt das Bauteil zu Schneiden
(Bekomme da durch Fehlermeldung wegen Höhenüberschreitung in Y Richtung )
Danke
Gruß Crusty
 
Hallo Holli
Ja das ist schon Klar
Nur mach das mal mit was 200 Zeilen wo du nicht weißt ob es Schneidedaten oder Müll ist.
Es sind ja keine G0 Daten
und Profili gibt Fehlermeldung wegen der Höhe !!
 
Wenn ich eine Fläche erstelle Fährt Profili an der Profilsehne ca 20 mm Rauf und runter, und dann erst Fährt es das Profil ab
Wie kann ich das Abstellen ???

bin nicht sicher ob ich das richtig verstehe. Es gibt eine "Additional path length for wire warming". Die verusacht so ein auf und abfahren. Nicht gerade eine elegante Lösung.
Ich hatte Stefano schon mal gebeten stattdessen ein dwell einzubauen, aber das hat er abgelehnt. Das kann man natürlich auch als header selbst einbauen, wenn man eine kleine Verzögerung zum Aufheizen braucht.

Grüße, Gerd
 
bin nicht sicher ob ich das richtig verstehe. Es gibt eine "Additional path length for wire warming". Die verusacht so ein auf und abfahren. Nicht gerade eine elegante Lösung.
Ich hatte Stefano schon mal gebeten stattdessen ein dwell einzubauen, aber das hat er abgelehnt. Das kann man natürlich auch als header selbst einbauen, wenn man eine kleine Verzögerung zum Aufheizen braucht.

Grüße, Gerd

Hallo Gerd
Ja Ja du hast richtig verstanden:)
Gruß Crusty
 
Additional path length for wire warming
Hier sollte 1,00 mm eingegeben werden, somit fährt der Schneidedraht nur 1 mm rauf und runter.Ganz abschalten Sprich auf 0,0 geht nicht, es werden dann keine Daten mehr geschrieben.
Danke für die Nachdenkhilfe
Gruß Crusty
 
Hallo Jungs
Ich habe gestern die Maschine Umgebaut auf die von euch beschriebene Art, und mußte feststellen das es überhaupt nichts bringt.
Ja Ja nicht ganz du mußt deine ganzen Schneidedaten Ändern
Nullpunkt Absetztpunkt und und und.
Und die Abweichung in Nord Süd sind Trotzdem da genau wie vorher.
Eine Abweichung von 2 mm bei 400 mm ist aber noch im Rahmen einer Hobbyschneide aller Hans23
Da macht mir Profili mehr Sorgen.
Trotz alle dem ein Versuch war es wert,und hat ja auch Spass gemacht mal was zu Probieren.
Bin wieder zurück auf die Alte Bauart.
Lasst ruchig mal höhren wenn was neues kommt.
Gruß Crusty
 
Ganz abschalten Sprich auf 0,0 geht nicht, es werden dann keine Daten mehr geschrieben.
Das kann ich nicht bestätigen, hab's nochmal probiert. (neuestes profili 2.25pro)
Beginn des programms, mit warm-up = 0.00, kein auf und ab:
Code:
G61
G21
G17
G91
F200.0000
M3
G0X0.0000Y0.0000A0.0000B0.0000
G0X0.0000Y3.0000A0.0000B3.0000
G1X0.0405Y0.0000A0.0405B0.0000F200.0000

wenn man eine Verzögerung nach dem Einschalten braucht, fügt man im Header ein (P1000 = 1000 msec):
Code:
M3
G04 P1000

Grüße, Gerd
 
Ansicht hell / dunkel umschalten
Oben Unten