Dev.2 Layer shift, Filament Sensor, Z-Bewegungen.

Mich plagen Layer shifts.

Mechanik, Stepper denke ich sind in Odnung.

Vermutung: Hängt evtl. mit dem Server (seit gestern Version 1.03) oder vermurkster Jam-Einstellung zusammen!?

Konsole beim Drucken: Info: N8 kommt aus meinem Start-G-Code (Jam ausschalten)

ansonsten auffälligkeiten in Fett:
Start:
Send:17:42:23.716: N69 M530 S1 L1329
Send:17:42:23.717: N70 M531 Etha2_V2_ohneJam
Send:17:42:23.717: N71 M532 X0 L0
Send:17:42:23.717: N72 M539 P0
Send:17:42:23.717: N73 M999
Send:17:42:23.717: N0 M110 N0
Recv:17:42:23.725: ok 69
Recv:17:42:23.725: ok 70
Send:17:42:23.725: N0 M110 N0
Send:17:42:23.725: N1 M415 S1
Recv:17:42:23.728: ok 71
Recv:17:42:23.728: ok 72
Recv:17:42:23.728: ok 73
Recv:17:42:23.732: info:Continue from fatal state
Recv:17:42:23.732: ok
Recv:17:42:23.732: ok
Recv:17:42:23.733: ok 1
Recv:17:42:23.736: RESCUE_STATE: OFF
Send:17:42:23.766: N2 M107
Send:17:42:23.767: N3 M190 S65 ; set bed temperature and wait for it to be reached
Send:17:42:23.767: N4 M104 S230 ; set temperature
Send:17:42:23.767: N5 G28 X Y ; home all axes
Send:17:42:23.767: N6 G1 X 250 Y0 Z30 F5000 ; Duesenreinigungsposition
Send:17:42:23.767: N7 G4 S10
Recv:17:42:23.856: ok 2
Recv:17:42:23.856: Fanspeed0:0
Recv:17:42:23.856: ok 3
Recv:17:42:23.856: ok 4
Send:17:42:23.856: N8 M601 P1
Send:17:42:23.856: N9 M513;
Send:17:42:23.857: N10 M109 S230 ; set temperature and wait for it to be reached
Send:17:42:23.857: N11 G21 ; set units to millimeters
Recv:17:42:23.859: ok 5
Recv:17:42:23.859: X:290.40 Y:215.22 Z:0.300 E:12.2030
Send:17:42:23.859: N12 G90 ; use absolute coordinates
Send:17:42:23.859: N13 M82 ; use absolute distances for extrusion
Recv:17:42:24.655: T:230.2 /230 @:70 T0:230.2 /230 @:70 T1:230.2 /230 @1:70 T2:230.2 /230 @2:70 B:65.1 /65 B@:0
Recv:17:42:25.736: T:230.2 /230 @:70 T0:230.2 /230 @:70 T1:230.2 /230 @1:70 T2:230.2 /230 @2:70 B:65.1 /65 B@:0
Recv:17:42:25.960: busy:processing
Recv:17:42:26.830: T:230.2 /230 @:69 T0:230.2 /230 @:69 T1:230.2 /230 @1:69 T2:230.2 /230 @2:69 B:65.0 /65 B@:255
Recv:17:42:27.939: T:230.2 /230 @:69 T0:230.2 /230 @:69 T1:230.2 /230 @1:69 T2:230.2 /230 @2:69 B:65.0 /65 B@:255
Recv:17:42:27.959: busy:processing
Recv:17:42:29.017: T:230.2 /230 @:69 T0:230.2 /230 @:69 T1:230.2 /230 @1:69 T2:230.2 /230 @2:69 B:65.2 /65 B@:0
Recv:17:42:29.962: busy:processing
Recv:17:42:30.115: T:230.0 /230 @:86 T0:230.0 /230 @:86 T1:230.0 /230 @1:86 T2:230.0 /230 @2:86 B:65.4 /65 B@:0
Recv:17:42:31.224: T:229.8 /230 @:90 T0:229.8 /230 @:90 T1:229.8 /230 @1:90 T2:229.8 /230 @2:90 B:65.4 /65 B@:0
Recv:17:42:31.961: busy:processing
Recv:17:42:32.302: T:229.6 /230 @:94 T0:229.6 /230 @:94 T1:229.6 /230 @1:94 T2:229.6 /230 @2:94 B:65.5 /65 B@:0
Recv:17:42:32.805: X:499.00 Y:295.00 Z:0.300 E:12.2030
Recv:17:42:32.805: SelectTool:0
Recv:17:42:33.399: T:229.6 /230 @:82 T0:229.6 /230 @:82 T1:229.6 /230 @1:82 T2:229.6 /230 @2:82 B:65.5 /65 B@:0
Recv:17:42:33.539: Jam control disabled:0
Recv:17:42:33.539: Debug Jam:1 Enabled:1
Recv:17:42:33.543: X_OFFSET:0.000 Y_OFFSET:0.000 Z_OFFSET:0.000
Recv:17:42:33.817: X_OFFSET:0.000 Y_OFFSET:0.000 Z_OFFSET:0.000
Recv:17:42:33.961: busy:processing
Recv:17:42:34.493: T:230.0 /230 @:48 T0:230.0 /230 @:48 T1:230.0 /230 @1:48 T2:230.0 /230 @2:48 B:65.5 /65 B@:0
Recv:17:42:35.592: T:230.0 /230 @:74 T0:230.0 /230 @:74 T1:230.0 /230 @1:74 T2:230.0 /230 @2:74 B:65.5 /65 B@:0
Recv:17:42:35.865: X:499.00 Y:295.00 Z:0.300 E:5.0000
Recv:17:42:35.865: ok 6
Recv:17:42:35.865: ok 7
Send:17:42:35.865: N14 M117 ETA 07:24:43 day 24
Recv:17:42:36.684: T:229.8 /230 @:91 T0:229.8 /230 @:91 T1:229.8 /230 @1:91 T2:229.8 /230 @2:91 B:65.4 /65 B@:0
Recv:17:42:37.782: T:230.0 /230 @:61 T0:230.0 /230 @:61 T1:230.0 /230 @1:61 T2:230.0 /230 @2:61 B:65.4 /65 B@:0
Recv:17:42:37.864: busy:processing
Recv:17:42:38.876: T:230.0 /230 @:74 T0:230.0 /230 @:74 T1:230.0 /230 @1:74 T2:230.0 /2

Code gegen Ende - finde ich kompl. Merkwürdig.
Recv:17:56:54.118: X_OFFSET:0.000 Y_OFFSET:0.000 Z_OFFSET:0.000 (19)
Recv:17:56:56.330: SelectTool:1
Recv:17:56:57.063: Jam control disabled:0
Recv:17:56:57.067: Debug Jam:1 Enabled:1
Recv:17:57:33.331: X_OFFSET:0.000 Y_OFFSET:0.000 Z_OFFSET:0.000 (12)
Recv:17:57:35.185: SelectTool:0
Recv:17:57:35.923: Jam control disabled:0
Recv:17:57:35.923: Debug Jam:1 Enabled:1
Recv:17:58:32.998: X_OFFSET:0.000 Y_OFFSET:0.000 Z_OFFSET:0.000 (12)
Recv:17:58:35.517: SelectTool:1
Recv:17:58:36.250: Jam control disabled:0
Recv:17:58:36.254: Debug Jam:1 Enabled:1
Recv:17:58:42.422: X_OFFSET:0.000 Y_OFFSET:0.000 Z_OFFSET:0.000 (7)
Recv:17:58:44.651: SelectTool:0
Recv:17:58:45.389: Jam control disabled:0
Recv:17:58:45.389: Debug Jam:1 Enabled:1
Recv:17:59:01.649: X_OFFSET:0.000 Y_OFFSET:0.000 Z_OFFSET:0.000 (8)

Z-Achse senkt sich, fährt wieder hoch, druckt weiter..teilweise mit versatz.

Hatte noch am Buffer rumgespiertl. steht jetzt auf
Eingangsbuffer: 120

Geschwindigkeits sagt: 244 / 245 Zeilen/s.  0% bei erneutes senden.

Eingangsbuffer auf 220 brachte bisschen mehr - Testdruck damit lief fehlerfrei.

Wie kann ich den Fehler weiter eingrenzen?

Hab mal ein testdruck mit hoher geschwindigkeit ( 120mm/s) gedruckt ) - hatten stepper alles mitgemacht.
Bin schon soweit Jerk für x und y auf 4
Beschleunigung schon abgesenkt auf 500mm/s. War früher mit 1.04 auf 1100mm/s
Daher denke ich, liegt der Fehler eher nicht bei der Mechanik oder den Steppern.

Firmware oder Server.

Meistens laufen die Drucke gut an - 0,5-1h, dann beginnt der Versatz-Mist

Ab und An reagiert der Server nicht auf eingaben am Touch oder super verzögert.
Ansonsten funktioniert meine Jam Detection noch nix.
M602 S1--> brauchte keine Schritte in der Konsole.






Comments

  • RepetierFirmware hat eingangsbuffer 127 byte. Mit M360 zeigt er dir den auch an.
    X_OFFSET .... kannst du ignorieren. Ist teil der Antwort auf M92 die 1.0.x jetzt häufiger senden um Positionen abzufragen. Davon bekommt man keinen versatz.

    Normal kann der Server keinen Versatz verursachen da die Firmware ja so eingestellt ist das sie keine Schritte verliert.

    In welcher Richtung hast du immer den Versatz?

    > Z-Achse senkt sich, fährt wieder hoch, druckt weiter..teilweise mit versatz.
    Was meinst du? Warum sollte der Drucker das machen? Oder hast du z hopping im gcode aktiviert? Wenn er in des rescue modus geht und wieder heraus kann er auch Z bewegungen machen. Würde aber bedeuten das er immer wieder die serieller Verbindung verliert. Wenn das nicht korrekt konfiguriert ist kannst du bei jeder Unterbrechung evtl. einen Versatz bekommen. Vielleicht erst mal rescue modus deaktivieren um zu sehen ob der da rein spielt.

  • letzter Druck:

    mit "Vielleicht erst mal rescue modus deaktivieren"
    #define HOST_RESCUE 0

    alles gut bis ~5,5mm
    dann Z-Versatz in y von ca.0,4mm

    sonst meine ich, war der Versatz in x und y.. vorletzter Druck ca, 1,8mm

    Super nervig..

  • Neuer Test:


    gedruckt in fast perfekt..

    Kann es sein, dass komplizierte Formen ein Layer Shifting verursachen.?

    dann war da noch was mit kurzen und langen Befehlen..irgendwie in die Richtung als Ursache?

    Diese Settings Wormöglich (habe aktuell Radds mit Due und Raps128 steppern)
    // #define STEPPER_FREQUENCY 153000     // Maximum stepper frequency.

    #define STEPPER_FREQUENCY 100000     // Maximum stepper frequency.
    #define PREPARE_FREQUENCY 1000       // Update frequency for new blocks. Must be higher then PREPARE_FREQUENCY.
    #define BLOCK_FREQUENCY 500          // Number of blocks with constant stepper rate per second.
    #define VELOCITY_PROFILE 2           // 0 = linear, 1 = cubic, 2 = quintic velocity shape


  • Z versatz ist komisch wenn du Z nur beim Layerwechsel bewegst.

    Denke nicht das STEPPER_FREQUENCY hier das Problem ist. Eher jerk oder acceleration. Es gibt halt moves wo jerk mehr strapaziert wird. Am schlimmsten ist 180° Richtungswechsel. Halbiere daher mal den Jerk und sieh ob es dann weg ist.
  • zum Z Thema.

    bei Toolchange senkt er bei mir Z.
    Mit dem neuen Prusa Update hat er scheinbar eine alte Zuordnung übernommen. Hatte noch falsche Werkzeugwechsel im Code.
    Womöglich war das zusätzlich noch ein Problem.

    Jerk ist schon Reduziert..aktuell auf 4.

    Druck läuft..Daumen drücke..
  • edited January 2021
    Zum Layer Shift:

    Hab jetzt Jerk auf: 1.5; Beschleunigung auf 700mm/s², Druckgeschwindigkeit bei mageren 50-60mm/s

    Momentan scheint das zu funktionieren..


    zusätzlich:
    #define HOST_RESCUE 0   
    #define ARC_SUPPORT 1
    #define VELOCITY_PROFILE 1 (vorher2, mit 2 den niedrigen Jerk und Beschleunigung noch nicht getestet)

    Zum Drucker:
    aus meiner Sicht sehr leichten xy-Schlitten (kein Extruder da Bowden, Nur 2 Filamentlüfter, Wasserkühlung)
    Setup für Performance - dachte ich eigentlich (angepasste vom Vincent - Sparkcube)
    Dann 0,9° Wantai Schrittmotoren und die guten raps128 Treiber, Misumi-Lager und Wellen...

    Mit Dev.1.04:
    jerk war bei 18-20, Beschleunigung bei 1100mm/s - ich hatte nie, niemals Layershift-Problem. Meine Druckgeschwindigkeit wurden einzig durch das Hotend bestimmt - bis der Extruder-Motor versagte.
    Nun mit Dev.2 eine andere Welt. - , 100mm/s ging je nach Modell ohne Probleme

    Wie lässt sich das erklären?
    Ist die Verrechnung mit den Beschleunigungswerten in Dev. 2 soviel schärfer, anspruchsvoller für die Hardware geworden?






  • edited January 2021
    Nur mal ein paar generelle Dinge ,
    Die 0,9° Wantais sind in der Theorie ganz toll , haben aber deutlich weniger Dreh-und Haltemoment als die 1,8° Versionen.
    Mit Mikrostepping gilt generell je mehr Schritte, desto weniger Drehmoment und zwar drastisch.
    Sieh z.B.

    Wenn Du dann noch schnell fahren willst kommt hinzu , daß die Induktivitäten der Motorspulen auch schnell umladen musst , dazu braucht man in der Regel hohe Spannung , damit auch der entsprechende Strom fliessen kann.

    Beschleunigung und Endgeschwindigkeit ist auch so eine Sache, da ja Rampen gefahren werden ist es oft unwahrscheinlich die Geschwindigkeit zu erreichen , speziell bei kurzen segmenten , da du ja während des beschleunigens oft schon wieder abbremsen musst.

    Beschleunigung und Jerk werden bei V2 anders berechnet als bei V1 , von daher sind die werte sicher nicht 1:1 zu übernehmen.

    Beschleunigung einstellen ist so ne Sache, da kommen auch gern mal Resonanzerscheinungen zum tragen die dann zum stall führen können.

    das Gewicht des Schlittens ist sicher ein Punkt aber du bewegst selten den schlitten allein (bei mir ist es nur die x-richtung) in y-richtung kommt zum Schlittengewicht noch die ganze Mechanik auf der der Schlitten läuft dazu.

    Nun zu ein paar Werten meines Druckers ,
    Wantai 1,8° 2,4A  , Versorgungsspannung 30V  Beschleunigung 8000mm/s² , TravelSpeed zuverlässig 800mm/s
    Treiber DRV 8825 im 16tel Schritt und Motoren gekühlt (sonst gibts nach 10Min Layer shift).
    bei 1/32 Schritt ist bei Speed 600mm/s Ende.
    Jerk bei 20 , velocity profile 2.
    Printspeed ist bei mir nur vom Filament abhängig bzw. von der Filamentkühlung

    Experimentell hatte ich mal die TMC5160 drin , mit denen hatte ich massiv Schrittverluste im selben Aufbau,
    ich gehe davon aus, dass die interpoliererei auf 256 microsteps zu massivem Drehmomentverlust führt,
    vielleicht war ich aber auch nur zu dämlich die Dinger korrekt zu parametrieren weil ich nach verballern von
    einer Rolle Filament keine Lust mehr hatte.

    Was natürlich gern mal reinspucken kann sind die Endstops , also mal Always check endstops auf 0 setzen.





  • Was Beschleunigung angeht ist nur VELOCITY_PROFILE 0 identisch mit V1. Hier wird beschleunigung konstant gehalten fängt daher aber ruckartig an. Mit 1 wird kubisch interpoliert, fährt also sonfter an aber in de rmitte ist die Beschleunigung Faktor 1,5 damit es gleich lange pro bewegung dauer. Bei 2 wird mit 5. Ordnung interpoliert und max a ist 1,875 * a_angegeben. Normal ist das kein Problem wegen des sanfteren anfahrens. Mein delta konnta damit dann auf 1000mm/s beschleunigen, weiß aber nicht mehr welche Beschleunigung ich hatte.

    Jerk heist hier Yank (weil jerk die falsche Bezeichnung ist) und wird auch etwas anders ermittelt.

    Bei end stops gibt es normal kein entprellen mehr. In V1 musste das signal 2 mal gemessen werden. Daher ist V2 da etwas empfindlicher. Ist in erster linie der Hardware unterstützen steuerung zu verdanken. Die merkt das auch noch besser als wennman nur beim Schritt abfragt.

    Also ich denke Jerk 10 sollte problemlos gehen mit a=1000. Aber end stops könnten wirklich ein Problem sein (danke @RAyWB für den Hinweis). Vielleicht sollte man da noch ein timer element einfügen aber dann reagieren die natürlich an unterschiedlichen position und homing ist nicht exakt wiederholbar.


    @RAyWB
    Interessanter Link. Das die Positionierung mit Microschritten nicht stimmt wusste ich bereits, aber das ist eine gute Beschreibung. Aber ich denke nicht das mehr Microschritte den Motor schwächer machen. Das machen nur höhere Geschwindigkeiten. Da steht ja inkrementalmoment und wenn ich mit 1/32 to 1/16 doppelt so viele schritte mache hab ich ja auch 2* Inkrementalmoment. Irgendwann bin ich dann wieder beim Vollschritt und hab das Haltemoment von dem Schritt. Aber klar ist auch das man nicht glauben sollte das doppelt so viele Schritte die Auflösung verdoppeln. Sie reduzieren in erster Linie die Schwindgungen und lassen alles leiser laufen. Wobei die TMC andererseits auf 256 microsteps extrapolieren, da kann man also den Effekt auch gar nicht ausschalten. Wenn die TMC dann weniger schaffen könnte es doch daran liegen oder die haben weniger Leistung. Wegen coolstep etc steuern die ja auch noch die Ausgangsleistung. Wer soll da durchschauen:-( Also vielleicht doch Schrittmotoren mit automatischer Korrektur über Magnetfeld nutzen? Da müssten ja dann auch die Microsteps aufakkumuliert werden das die Position passt die man eigentlich wollte. Ist doch eigentlich was die guten Servomoren auch so versuchen zu erreichen oder?

  • Hi,

    vielen Dank für die Rückmeldungen. lerne da gerne immer was dazu. Über die Drehmomentunterschiede zwischen 0,9° und 1,8° Motoren bin ich nie gestolpert - werd mit mal noch andere Motoren beschaffen.

    Sind diese sind zu empfehlen?
    • 42BYGHW811 Wantai 2,5A
    Den Part mit den Endstopps habe ich standard auf 0
    #define ALWAYS_CHECK_ENDSTOPS 0

    next stepp bei mir.
    Teste nochmal die heute gelieferten DRV8825 ggf. passe ich die Microsteppings nochmal an.
    Ist evtl. ja doch ein Treiberproblem..wir werden sehen.

    sind schon beeindruckende Werte deines Druckers!!
    • Beschleunigung 8000mm/s² ,
    • TravelSpeed zuverlässig 800mm/s
    • Jerk bei 20
    Da muss ich nicht zwingend hin aber so bisschen dir Richtung wäre schön.

    Versorgungsspannung 30V -- > was für ein Board nutzt du da ?
    Welche Linearführungen nutzt du? übelege von den Wellenführungen auf Hiwin mgn 12h oder 15h umzubauen.

    Danke soweit. Werde berichten.

  • edited January 2021
    die 42BYGHW811 Wantai 2,5A  sind ne gute wahl , das sind die die ich hab (hatte mich mit den 2,4A vertan,das waren die 0,9°) ich hab das Rumba32 board und ein runtergedrehtes 36V/500W Netzteil.Die 24 V Schaltztetzteile kanst Du normalerweise bis 27..28 hochdrehen ,musst nur auf die Spannungsfestigkeit der kondensatoren aufpassen.
    Hab hier ein Radds liegen , da sind 35V Kondensatoren drauf , genau wie auf meinem Rumba32.

    Die Hiwin mgn12 sind normal ausreichend , wenn du die china teile nimmst geht das nur kurz, die kugeln verschleissen recht schnell ,also besser das original.

    bei den drv8825 musst du kräftig kühlen , die motoren auch . sobald die mehr als Handwarm werden lässt das drehmoment nach.(ich hab da 50er Lüfter an den Motoren)

    "Aber ich denke nicht das mehr Microschritte den Motor schwächer machen"

    einfacher Test : nimm nen stepper den du im 1/16tel Schritt mit der hand aufhalten kannst und verändere das microstepping auf 1/32 bei gleicher Stromeinstellung, der unterschied ist enorm.

    Das mit dem leiser laufen ist zwar schön , aber zumindest bei mir sind die Lüfter eh lauter als die Motoren ;-)




  • Schwer zu verstehen. Hab noch diesen hier gefunden:
    https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/

    Da sieht man zumindest wie Last dazu führt das der Motor hinterher hinkt. Ich verstehe auch das man die Mikropositionen nicht so gut halten kann, weshalb man auch Abweichungen von der idealen Sinusfunktion bekommt. Das man dan Drehmoment verliert muss dann ja daran liegen das in den Zwischenpositionen das Moment abbaut und nicht immer die Positionen des maximalen Moments gehalten werden. Vollschritte führen aber zu mehr Oszillation wie
    https://www.linearmotiontips.com/when-should-you-use-microstepping-control-for-stepper-motors/
    zeigt. Das das fallende Drehmoment nicht so auffällt liegt dann vermutlich daran das die reduzierte Vibration die benötigte Kraft reduziert. Solange also alles flüssig läuft kein Problem, aber wenn mal ein Schock w.g. Rempler gegen Plastik oder so passiert fallt das Drehmoment auf und sobald ich mehr als 2 Vollschritte verliere bekomme ich einen Versatz. Hab ich das so halbwegs richtig verstanden?
  • "Solange also alles flüssig läuft kein Problem, aber wenn mal ein Schock w.g. Rempler gegen Plastik oder so passiert fallt das Drehmoment auf und sobald ich mehr als 2 Vollschritte verliere bekomme ich einen Versatz. Hab ich das so halbwegs richtig verstanden?"

    Jup , manchmal reicht schon das flattern des riemens , vor allem wenn man zügig unterwegs ist .Da kommt dann alles zusammen, drehmomentverlust durch drehzahl , resonanzen und und und.
    Aber so 100% Sattelfest bin ich da in der Theorie auch nicht um zu sagen was da wann in welchem Lastfall genau abgeht.
    Es sind einfach so viele Faktoren die das Ergebnis beeinflussen, sowohl von der mechanischen als auch von der elektrischen,thermischen und magnetischen Seite.



  • ich hatte eine zeitlang die "closed loop" versionen eingebaut - haben auch gut funktioniert, bis ich sie kaputt gespielt hatte..aber auch nicht so leise wie die TMC.. Liebäugel - interessehalbe auch richtige nema17 servos einzubauen.

    ansonsten zu meinem Layershift-Problem:
    hab jetzt die frischen DRV8825 für x und y.. krass sind die LAUT!! aber - Yank auf 5; Beschleunigung auf 1000 - mein 3h Druck lief soweit super durch.
    Denke, dass a ) meine TMS2130 als auch b) meine Raps128 irgendwie einen Weg hatten.
  • Interessante und für mich sehr relevante Information, mit dem möglicherweise größerem Drehmoment OHNE Interpolation. Man muss dabei bedenken, dass das Haltedrehmoment aber eben nicht das während der Drehung ist.

    Hier: https://de.rs-online.com/web/p/gleichstrommotoren/0440470/ ist mein verwendeter Schrittmotor. In dem Manual https://docs.rs-online.com/68bd/0900766b81579a99.pdf auf Seite 6 sieht man gut, dass bei hohen Drehzahlen eben DOCH der Halbschritt (und hoffentlich auch weiteres microstepping) das Drehmoment erhöht. Leider betreibe ich meine nur mit 45 V :-(

    Aber das mag von Motor zu Motor unterschiedlich sein...
    Ich habe auf jeden Fall festgestellt, dass "Mehr Spannung = mehr Spaß" bedeutet (logisch, wenn man gegen induzierte Spannungen ankommen muss) und ich damit generell höhere Geschwindigketien erreiche. Ich habe von Trinamic mal den Tipp bekommen, dass GERINGERE Ströme eine HÖHERE Endgeschwindigkeit ermöglichen. Aber das kann ich jetzt auf die Schnelle nicht mehr herleiten. Es gibt SOOO viele Parameter...


Sign In or Register to comment.