Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    3.5.0rc1: Input shaping causes layer shifts!?

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    19
    196
    15.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • NeoDueundefined
      NeoDue @NeoDue
      last edited by

      For the sake of completeness, here is also the current config.g as it was used for the second print:

      ; Konfigurationsdatei für Duet WiFi Firmware 3.5.0rc3
      ; Stand: 03.02.2023
      
      G4 P2000                ; 2s warten, daß die Duet in Ruhe starten kann - hilft bei einem Reset??
      
      ; Allgemeine Einstellungen
      ;
      M451                                ; FDM-Drucker
      M669 K0 S50                         ; Kartesischer Drucker, 20ms Mindest-Segmentzeit von Marlin-Sourcen des J1 übernommen
      M111 S0                             ; Debugging aus
      G21                                 ; Basiseinheit Millimeter
      G90                                 ; Absolute Koordinaten...
      M83                                 ; ... außer beim Extruder
      M555 P1                             ; Firmware-Kompatibilität wie RepRapFirmware
      M200 D1.75                          ; Filamentdurchmesser 1,75mm für alle Extruder (nicht notwendig, aber es schadet nicht)
      
      ; globale Variablen
      ;
      if !exists(global.Druckplattendicke)
          global Druckplattendicke = 5.00 ; Dicke der Druckplatte
      if !exists(global.Z_Limit_min)
          global Z_Limit_min = 200        ; kleinster zulässiger Max-Wert für Z
      if !exists(global.Z_Limit_max)
          global Z_Limit_max = 216        ; größter zulässiger Max-Wert für Z
      
       
      ; PanelDue
      ;
      ;M575 P1 S1 B115200                 ; IO-Port für PanelDue aktivieren
      M575 P1 S1 B57600                   ; testweise auf 57600 Baud reduziert
      
      
      ; Definition der Sensoren - 2x PT100 mit Vorverstärker am Hotend, 1x 100K-NTC (laut Marlin ein Epcos 100k-Thermistor?) am Bett
      ;
      M308 S0 P"temp0" Y"thermistor" A"T_Heizbett" T100000 B4092              ; Sensor 0 = Heizbett-Temperatursensor
      ; Hotend-Temperatursensoren - Anmerkungen: 
      ; 1. die Vorverstärker im Hotend arbeiten nur im Bereich von 120...310°C linear. Daher weichen die Anzeigewerte insbesondere bei Raumtemperatur ca. 10...15° nach unten ab.
      ; 2. Originalwerte laut der Sensorkurve von Snapmaker in Marlin: B-121.551 C549.644. Damit ist der Ausgabewert aber  bei 190°C mindestens 2°C zu niedrig (außen am Heizblock gemessen)
      ; Daher Anzeigewert um 5°C nach oben korrigiert auf: 
      M308 S1 P"temp1" Y"linear-analog" A"T_Hotend1" F1 B-116.551 C554.644    ; Sensor 1 = PT100 mit Vorverstärker am Hotend 1 (links). GND und 3,3V kommen vom Filamentsensor, Signal an Pin Temp1 legen!
      M308 S2 P"temp2" Y"linear-analog" A"T_Hotend2" F1 B-116.551 C554.644    ; Sensor 2 = PT100 mit Vorverstärker am Hotend 1 (links). GND und 3,3V kommen vom Filamentsensor, Signal an Pin Temp2 legen!
      ; M308 S3 P"temp3" Y"thermistor" A"Bauraum" T100000 B4092               ; reserviert für Sensor 3 = Sensor für Bauraumheizung
      M308 S10 Y"mcu-temp" A"Elektronik"                                      ; Sensor 10 = Prozessortemperatur der Duet für Elektronikraumkühlung - die Stepper haben nur einen dreistufigen Temperatursensor
      M308 S11 Y"drivers" A"Steppertreiber"                                   ; Sensor 11 = Steppertreibertemperatur der Duet. 0°C=normal, 100°C=Überhitzungswarnung, 130°C=überhitzt.
      
      
      
      ; Definition der Anschlüsse
      ; Führendes "!": Pin wird zum Prozessor hin invertiert, die Firmware macht das automatisch)
      ; 2-Pin-Lüfter am 4-Pin-Anschluß: einfach nur die beiden Pins V_OUTLCx und OUTx benutzen, den Rest frei lassen
      ; Lüfter mit VIN (24V) betreiben - Jumper entsprechend setzen
      ;
      M950 H0 C"out0" T0              ; Heizelement 0 (Heizbett mit Temperatursensor 0)
      M950 H1 C"out1" T1              ; Heizelement 1 (Extruder-Heizung mit Temperatursensor 1)
      M950 H2 C"out2" T2              ; Heizelement 2 (Extruder-Heizung mit Temperatursensor 2)
      ; H3 (out3) freihalten für Bauraumheizung
      M950 F0 C"out4" Q50             ; Lüfter 1 (Bauteilkühlung Hotend 1) PWM-Frequenz 50 Hz (sonst schwankt die Drehzhl)
      M950 F1 C"out5" Q50             ; Lüfter 2 (Bauteilkühlung Hotend 2) PWM-Frequenz 50 Hz (sonst schwankt die Drehzahl)
      M950 F2 C"out7" Q500            ; Lüfter 3 (Hotendkühlung Hotend 1)
      M950 F3 C"out8" Q500            ; Lüfter 4 (Hotendkühlung Hotend 2)
      M950 F4 C"out6" Q50             ; Lüfter 5 (Elektronikraumlüfter) PWM-Frequenz 50 Hz (sonst schwankt die Drehzahl)
      M950 P9 C"out9" Q100            ; LED-Streifen an Ausgang 9
      
      
      ; Definition der Antriebe
      ; falls die Timings manuell justiert werden müssen: Parameter T1:1:0.5:6 F6 = 1us min.step pulse, 1us min.step interval, 0,5us DIR setup time, hold time 6us, Toff=6
      ; Originale Daten:
      ;       Normal: TMC StealthChop für alle Achsen an, max. Tempo X200 Y200 mm/s, max. Beschleunigung X8000 Y8000 mm/s²
      ;       Silent: TMC StealthChop für alle Achsen an, max. Tempo X105 Y105 mm/s, max. Beschleunigung X3000 Y3000 mm/s²
      ;       Performance (Laut): TMC StealthChop für X und Y aus, max. Tempo X350 Y350 mm/s, max. Beschleunigung M201 X10000 Y10000 mm/s²
      ;   Steppereinstellungen von Snapmaker am TMC2660 - Achtung: Snapmaker ändert im Idle-Zustand einige der Parameter!
      ;     Stealthchop: für alle Stepper eingeschaltet <-- macht bei den Extrudern null Sinn.
      ;     TPWMTHRS: X und Y: 8, Z: 16, E: Defaultwert (welcher auch immer das sein mag...egal, s.o.)
      ;     Timing aus Marlin-Defaults: off-time 4 --> F4, hysteresis_end 1, hysteresis_start 2 --> Y0:5
      ;   
      ;   Defaultwerte der Duet: ccr 0x08053, toff 3, tblank 1, thigh 200 (46.9 mm/sec), tpwmthrs 200 (46.9 mm/sec), pwmScaleSum 26, pwmScaleAuto 0, pwmOfsAuto 39, pwmGradAuto 0, pos 760
      ;
      ; Werte aus der Duet-Hilfe:
      ;   Cnnnn (firmware 2.0 and later, only applies to TMC2660, TMC22xx, TMC2160 and TMC516x stepper drivers) Lowest 17 bits of the chopper control register value.
      ; Bnn (firmware 2.02RC1 and later) Blanking time (tbl) in the chopper control register, 0 to 3. See the TMC driver datasheet.
      ; Hnn (firmware 2.02RC2 and later) thigh parameter for those stepper driver chips that support it, e.g. TMC5160 and TMC2160. 
      ;    Send M569 P# (where # is the driver number) with no additional parameters to see how this translates into mm/sec. See also the V parameter.
      ; Yaa:bb or Yaa:bb:cc (firmware 2.02RC2 and later) Hysteresis start, end and decrement values in the chopper control register. See the TMC driver datasheet for the meaning.
      ; Vnnn (firmware 2.02RC1 and later) tpwmthrs parameter for those stepper driver chips that support it. This is the interval in clock cycles between 1/256 microsteps below
      ;    which the drivers will switch from stealthChop to to spreadCycle mode. Only applies when the driver is configured in stealthChop mode. 
      ;    Typical value are from 100 (high speed) to 4000 (low speed). Send M569 P# (where # is the driver number) with no additional parameters to see how this translates into mm/sec.
      ; Fnn (firmware 2.02 and later) Off-time in the chopper control register, 1 to 15
      ;
      ; Verhältnisse laut TMC-Datenblatt: TCOOLTHRS ≥ TSTEP ≥ TPWMTHRS ≥ THIGH
      ; Werte für tpwmthrs: V94 = 100mm/s (XYU) bzw. V310 (Z) (sollte der Einstellung von Snapmaker entsprechen?), V25 = 375mm/s und damit für alle Bewegungen gültig
      ;
      
      ; M569 P0.0 S0 D3 H94 V94       ; Test - Defaultwerte. Ergebnis: Motor etwas lauter und mit weniger Drehmoment
      
      ;M569 P0.0 S0 F4 Y0:5 D3 H5 V25      ; Antrieb an DRIVER_0 (X) läuft rückwärts mit StealthChop2, thigh klein (sonst wird CoolStep abgedreht), tpwmhrs auf 375mm/s eingestellt,
      ;M569.2 P0.0 R{0x14} V{0x00000001}   ; ... und tcoolthrs extrem niedrig, so daß CoolStep immer aus und StealthChop voltage PWM mode immer an ist
      M569 P0.0 S0 D2                    ; testweise auf Spreadcycle umgestellt.
      ;M569 P0.1 S1 F4 Y0:5 D3 H5 V25      ; Antrieb an DRIVER_1 (U) läuft vorwärts mit StealthChop2, thigh klein (sonst wird CoolStep abgedreht), tpwmhrs auf 375mm/s eingestellt
      ;M569.2 P0.1 R{0x14} V{0x00000001}   ; ... und tcoolthrs extrem niedrig, so daß CoolStep immer aus und StealthChop voltage PWM mode immer an ist
      M569 P0.1 S1 D2                    ; testweise auf Spreadcycle umgestellt.
      M569 P0.2 S1 D2                     ; Antrieb an DRIVER_2 (Z) läuft vorwärts mit Spreadcycle
      ;M569 P0.3 S0 F4 Y0:5 D3 H5 V25      ; Antrieb an DRIVER_3 (Y) läuft rückwärts mit StealthChop2, thigh klein (sonst wird CoolStep abgedreht), tpwmhrs auf 375mm/s eingestellt
      ;M569.2 P0.3 R{0x14} V{0x00000001}   ; ... und tcoolthrs extrem niedrig, so daß CoolStep immer aus und StealthChop voltage PWM mode immer an ist
      M569 P0.3 S0 D2                    ; testweise auf Spreadcycle umgestellt.
      M569 P0.4 S0 D2                     ; Antrieb an DRIVER_2 (E1) läuft rückwärts mit Spreadcycle
      M569 P0.5 S1 D2                     ; Antrieb an DRIVER_3 (E2) läuft vorwärts mit Spreadcycle
      
      
      ; Definition der Achsen und Extruder
      ; ACHTUNG beim Einstellen der Steprate und der Interpolation: mehr als 480kHz (max. 650kHz bei nur einem Motor in Betrieb) packt die Duet 3 6HC nicht. Das sollte aber dicke reichen...
      ;
      M584 X0.0 U0.1 Y0.3 Z0.2 E0.5:0.4           ; Antriebe zu Achsen zuweisen
      M350 E64:64 Z16 I0                          ; Mikrostepping ohne Interpolation für Z (mit der 2mm-Steigung der Schraube entspricht ein Vollschritt exakt 0,01mm) und E
      M350 X16 U16 Y16 I1                         ; Mikrostepping mit Interpolation für X, U, Y entspricht 0,0125mm pro Mikroschritt
      M92 X80 U80 Y80 Z1600 E138.58:138.58 S16    ; (Mikro-)Schritte pro mm
      M566 X342 U342 Y342 Z100 E300:300           ; Maximale sofortige Geschwindigkeitsänderungen (mm/min). E-Wert aus Marlin, XYUZ-Werte aus Junction Deviation 0,013 errechnet (vgl. https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html). Für XYU möglichst klein halten (Input Shaping)
      M203 X21000 U21000 Y21000 Z600 E4800:4800   ; Maximalgeschwindigkeiten (mm/min)
      M201 X1000 U1000 Y1000 Z500 E5000:5000      ; Maximalbeschleunigungen je Achse (mm/s²) (Z aus J1-Cura-Profil) - Snapmaker-Daten X,U,Y=10000 sind wegen des Werts in M204 völliger Humbug! (Gesamtbeschleunigung max 1000, daher können die XY-Komponenten nicht höher sein)
      M204 P900 T900                              ; höchste erlaubte Gesamtbeschleunigung für Druck und Bewegung (Originalwert Snapmaker: 1000, da fängt aber der Tisch an zu wackeln...)
      ; RMS-Motorströme laut Marlin: X1000 U1000 Y1400 Z1000 E800:800. Achtung: RRF benutzt PEAK-Werte, keine RMS-Werte! 95% Ruhrstrom funktioniert damit. 
      ; Umgerechnet auf Peak-Werte: X1414 U1414 Y1980 Z1414 E1131:1131, Ruhestromabsenkung: Faktor 0,95*0,707 = 0,67
      M906 X1100 U1100 Y1500 Z1400 E1000:1000 I90 ; Motorströme (mA) und Faktor des Ruhestroms in Prozent
      ; M906 X1400 U1400 Y1900 Z1400 E1000:1000 I67 ; Motorströme (mA) und Faktor des Ruhestroms in Prozent
      M84 S30                                     ; Timeout für Ruhestrom (s)
      ; M915 X U Y S20 F1 R2                      ; Stallguard für X, U und Y TODO Wert festlegen: Snapmaker definiert den Wert als 8 bei einer Bandbreite von 0...255 beim TMC2209; der TMC2160 der Duet hat aber -64...63
      
      ; Beispielwerte für F von X und Y in mm/s: 
      ; F200 --> 100mm in 30s
      ; F1000 --> 100mm in 6,5s
      ; F2000 --> 100mm in 3,1s
      ; F3000 --> 100mm in 2,1s
      
      
      ; Koordinatendefinition
      ; Nullpunkt = Mittelpunkt des Druckbetts = Zentrum der XY-Korrekturöffnung
      ;
      M208 X-175.5 Y-101 Z0 U-151 S1          ; Achsen-Minima
      M208 X151 Y101 Z209 U175.5 S0           ; Achsen-Maxima - nur grobe Vorgabe für Z, korrekter Wert wird beim Bedleveling ermittelt und in der Datei z_max.g gespeichert
      
      
      ; Definition der I/O-Ports
      ; Achtung: IO_0 wird vom Flachbandkabel der PanelDue belegt, nicht nutzen!
      ;
      ; Endstops
      M574 X1 S1 P"io1.in"             ; X-Endstop: aktiv für Signal auf "High-Level" (NC-Schalter, paßt für die Gabellichtschranke)
      M574 U2 S1 P"io2.in"             ; U-Endstop: aktiv am oberen Ende für Signal auf "High-Level" (NC-Schalter, paßt für die Gabellichtschranke)
      M574 Y1 S1 P"io3.in"             ; Y-Endstop: aktiv für Signal auf "High-Level" (NC-Schalter, paßt für die Gabellichtschranke)
      M574 Z2 S1 P"io4.in"             ; Z-Endstop: aktiv am oberen Ende für Signal auf "High-Level" (NC-Schalter)
      ;
      ; Filamentsensoren
      ; Die Duet unterstützt keine analogen Filamensensoren! Daher müssen die Sensoren des J1 auf digitale Hallsensoren umgebaut oder z.B. ein Arduino als "Übersetzer" verwendet werden
      ; Werte für Umbau auf Hallsensor mit 2x12 Magneten je Sensor:
      M591 D0 P7 C"io5.in" L4 R80:200 E12.5 S1        ; Filamentsensor für Extruder 0, Impulssignal, an "io5.in", 4mm/Impuls, Toleranz 50...150%, erste 3 Pulse = 12,5mm verwerfen
      M591 D1 P7 C"io6.in" L4 R80:200 E12.5 S1        ; Filamentsensor für Extruder 1, Impulssignal, an "io6.in", 4mm/Impuls, Toleranz 50...150%, erste 3 Pulse = 12,5mm verwerfen
      ; gemessene Werte: TODO - nach einigen Drucken mit M591 D0 bzw. M591 D1 auslesen und anpassen!
      ; D0: 3.989mm/pulse, min 95%, max 131% over 143.6mm mit PETG
      ;     3.985mm/pulse, min 96%, max 130% over 143.6mm mit PETG
      ;     4.224mm/pulse, min 95%, max 128% over 143.6mm mit PETG
      ;     3.775mm/pulse, min 93%, max 193% over 4031.7mm mit PLA
      ;     3.763mm/pulse, min 96%, max 164% over 3581.9mm mit PLA
      ; D1: 3.995mm/pulse, min 95%, max 158% over 1042.7mm mit PLA
      ;     4.103mm/pulse, min 95%, max 133% over 726.3mm mit PLA
      
      ;
      ; Druckdüsen als Z-Sensoren
      ; Achtung, diese Werte werden von den drei Kalibriermakros temporär überschrieben!
      M558 P8 C"^!io7.in" H2 F150 R0.2 T720 K0 B0         ; Z-Sensor Hotend 1=binär ohne Entprellfilter, 2mm Antasthöhe, invertiert (active low)&Pulldownwiderstand aktiv, 300mm/min Meßgeschwindigkeit, 0,5s Recoveryzeit, XY-Bewegung zwischen Messungen 1800mm/min, Heizelemente an
      G31 K0 P500 X0 Y0 Z{-global.Druckplattendicke-2}    ; Z-Sensor Hotend 1: Triggerwert, Offset und Auslösehöhe
      M558 P8 C"^!io8.in" H2 F150 R0.2 T720 K1 B0         ; Z-Sensor Hotend 2=binär ohne Entprellfilter, 2mm Antasthöhe, invertiert (active low)&Pulldownwiderstand aktiv, 300mm/min Meßgeschwindigkeit, 0,5s Recoveryzeit, XY-Bewegung zwischen Messungen 1800mm/min, Heizelemente an
      G31 K1 P500 U0 Y0 Z{-global.Druckplattendicke-2}    ; Z-Sensor Hotend 2: Triggerwert, Offset und Auslösehöhe
      ; Hinweis: es darf nur an den Schrauben gemessen werden. Muß in bed.g definiert werden - M557 nicht verwenden!
      
      
      ; Bettleveling
      ;
      M671 X0:-114.5:114.5 Y86:-93:-93 S3.0 P0.5          ; Position der Einstellschrauben
      
      
      ; Einstellungen Heizbett (H0)
      ; auf PID umgestellt, Bang-Bang macht man auch beim Bett nicht mehr, produziert Z-Banding...
      M140 H0                             ; Heizelement 0 initialisieren
      M307 H0 R0.155 K0.140:0.000 D5.68 E1.35 S1.00 B0 ; Heizelement 0 (Heizbett) Kalibrierungsdaten
      M143 H0 S110                        ; Temperaturlimit für Heizelement 0 (Heizbett) = 110°C - Originalwert von Snapmaker: 200°C
      
      
      ; Einstellungen Heizelemente Hotends (H1 und H2)
      ;
      ; M307 H1 R2.186 K0.17:0.11 D5.67 S1.00 V24.0 ; Heizelement 1 (Hotend 1) alte Kalibrierungsdaten aus Marlin umgerechnet
      M307 H1 R2.461 K0.335:0.144 D6.09 E1.35 S1.00 B0 V23.9 ; Heizelement 1 (Hotend 1) Kalibrierungsdaten, kalibriert mit 250°C und F0.55
      M143 H1 S320                                    ; Temperaturlimit für Heizelement 1 = 320°C - Originalwert von Snapmaker: 400°C
      M570 H1 P5 T16                                  ; erlaubte Temperaturabweichung erhöhen, um die bei Raumtemperatur krumme Verstärkerkennlinie abzufangen (sonst Heater Fault)
      ; M307 H2 R2.186 K0.17:0.11 D5.67 S1.00 V24.0   ; Heizelement 2 (Hotend 2) alte Kalibrierungsdaten aus Marlin umgerechnet
      M307 H2 R2.476 K0.347:0.131 D5.52 E1.35 S1.00 B0 V23.9 ; ; Heizelement 2 (Hotend 2) Kalibrierungsdaten, kalibriert mit 250°C und F0.55
      M143 H2 S320                                    ; Temperaturlimit für Heizelement 2 = 320°C - Originalwert von Snapmaker: 400°C
      M570 H2 P5 T16                                  ; erlaubte Temperaturabweichung erhöhen, um die bei Raumtemperatur krumme Verstärkerkennlinie abzufangen (sonst Heater Fault)
      M302 P0 S160 R120                               ; Limit für Extruderbewegungen: extrudieren nur ab 160°, zurückziehen nur ab 120°
      
      
      ; Einstellungen Lüfter
      ;
      M106 P0 S0 H-1 B0.2 L0.17 X1.0 C"Werkzeuglüfter 1"      ; Lüfter 0: Startwert 0%, Steuerung via Thermosensor nicht aktiv, Blip-Dauer 0,2s, Geschwindigkeit von 17%-100%
      M106 P1 S0 H-1 B0.2 L0.17 X1.0 C"Werkzeuglüfter 2"      ; Lüfter 1: Startwert 0%, Steuerung via Thermosensor nicht aktiv, Blip-Dauer 0,2s, Geschwindigkeit von 17%-100%
      M106 P2 S1.0 H1 T45 C"Hotendlüfter 1"                   ; Lüfter 2: Startwert 100%, Aktiviert, wenn Heizelement 1 > 45°C
      M106 P3 S1.0 H2 T45 C"Hotendlüfter 2"                   ; Lüfter 3: Startwert 100%, Aktiviert, wenn Heizelement 2 > 45°C
      M106 P4 H10:11 T40:60 B0.2 L0.17 X1.0 C"Elektroniklüfter"   ; Lüfter 4: Aktiviert, wenn Prozessortemperatur > 40°C, läuft bei 70°C oder wenn Steppertreiber eine Überhitzungswarung ausgibt mit 100%.
      
      
      ; Werkzeuge (Tools)
      ;
      M563 S"Hotend 1" P0 D0 H1 F0            ; Werkzeug 0 = Extruder 0 + Heizelement 1
      G10 P0 X0 Y0 Z0                         ; Achsenoffsets für Werkzeug 0
      M568 P0 R0 S0                           ; Defaulttemperaturen Werkzeug 0 0°C (=aus)
      M563 S"Hotend 2" P1 D1 H2 F1 X3         ; Werkzeug 1 = Extruder 1 + Heizelement 2, X auf U gemappt
      G10 P1 X0 Y0 Z0                         ; Achsenoffsets für Werkzeug 1
      M568 P1 R0 S0                           ; Defaulttemperaturen Werkzeug 1 0°C (=aus)
      ; M563 S"Duplizieren" P2 D0:1 H1:2 X0:3 ; Werkzeug 2 = beide Extruder, 150mm versetzt
      ; G10 P2 X75 U-75 Y0 Z0                 ; Achsenoffsets für Werkzeug 2
      ; M567 P2 E1:1                          ; Extrusionsverhältnis für beide Hotends gleich
      ; M563 S"Spiegeln" P3 D0:1 H1:2 X0:3    ; Werkzeug 3 = Extruder 1 + Heizelement 2, X auf U gemappt und 300mm versetzt. U mit M579 U-1 invertieren, wenn das Tool aktiv ist! Homing anpassen!
      ; G10 P3 X75 U-75 Y0 Z0                 ; Achsenoffsets für Werkzeug 3
      ; M567 P3 E1:1                          ; Extrusionsverhältnis für beide Hotends gleich
      
      ; LEDs
      ;
      M42 P9 S0.5             ; LED-Streifen auf 50%
      
      
      ; Geschwindigkeitsverbesserndes Voodoo (Input Shaping, Pressure Advance etc.)
      ; Empfehlung: erst Input shaping justieren, dann Pressure Advance, dann Retraction!
      ;
      ; testweise Input Shaping deaktiviert
      ; M593 P"zvddd" F58 D0.1 L0.03    ; Input Shaping bei 58Hz, Dämpfungsfaktor 0,1 - TODO testen, ob ei2 oder zvddd besser ist. Dem Sensor nach sind beide ziemlich gleichauf
      M593 P"ei2" F58 D0.1 L0.03      ; Input Shaping bei 58Hz, Dämpfungsfaktor 0,1
      M572 D0:1 S0.05                 ; Pressure Advance. Originalwert 0,02 war klar zu niedrig... 
      M309 P0 S0.035                  ; Hotend 1 Feedforward-Wert
      M309 P1 S0.035                  ; Hotend 2 Feedforward-Wert
      ; Retractwerte (M207) siehe Filamente!
      
      ; Netzwerk - WLAN-Modul ans Ende setzen wegen Timing-Bug...
      ;
      M550 P"Duplimatix"          ; Maschinenname
      M552 I0 S0                  ; Ethernetanschluß deaktiviert
      M586 P0 S1                  ; HTTP-Server aktiv
      M586 P1 S0                  ; FTP deaktiviert
      M586 P2 S0                  ; Telnet deaktiviert
      M552 I1 S1                  ; WLAN-Modul aktiv
      
      ; Sonstiges
      ;
      T0                                      ; Erstes Werkzeug bei Start ausgewählt
      M42 P9 S0.25                            ; LED-Streifen dimmen
      M98 P"Korrekturwert_z_max.g"            ; korrigiertes Z_Max einlesen
      M98 P"Korrekturwert_xy_offset_tool1.g"  ; XY-Offset Hotend 2 einlesen
      M207 P0 S1.5 R0 F2400 T2400             ; Default-Retractwerte Hotend 1: 1,5mm und 40mm/s
      M207 P1 S1.5 R0 F2400 T2400             ; Default-Retractwerte Hotend 2; 1,5mm und 40mm/s
      M911 S21.5 R23.5 P"M913 X0 U0 Y0 Z1 E0:0 G91 M83 G1 Z1 F1000" ; Bei Spannungsausfall Zustand sichern, dann X, U und Y aus und Z 1mm absenken
      
      
      dc42undefined 1 Reply Last reply Reply Quote 0
      • oliofundefined
        oliof
        last edited by

        just for kicks, can you test with 16x microsteps for the extruders as well? it shouldn't matter, yet ...

        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

        NeoDueundefined 1 Reply Last reply Reply Quote 0
        • NeoDueundefined
          NeoDue @oliof
          last edited by NeoDue

          @oliof Sure, will do!

          But I am also curious what @dc42 might have changed between rc2+ and rc3+. If anything, whatever has been done seems to have increased the issue rather than made it better, at least as this one print so far can tell me. In all the previous tests here, I never had a (small, but nevertheless there) Y shift combined with an X shift, and also the amount of layer shifts seems to have increased.

          Apart from that I still wonder what it might be that just us few users have this issue. What is there that makes our setup different? Is it the combination of higher-than-average speed on a non-CoreXY with a 6HC? Is it the new 6HC Wifi module (I should have one if the very first batch that was shipped) combined with a PanelDue? Is it some obscure crosstalk caused by the temperature sensors using preamplifiers (connection done as suggested by dc42 here)?
          If you think freely and happen to find anything hardware or settings-related that has even a remote chance of causing such an issue, please let me know and I will test it. The only thing I cannot do much about for now is the steppers. Especially the y stepper is quite custom.

          gloomyandyundefined 1 Reply Last reply Reply Quote 0
          • gloomyandyundefined
            gloomyandy @NeoDue
            last edited by

            @NeoDue Your setup is rather different to most other people so it could be something to do with that. You could try disabling the Panel Due and perhaps the two filament sensors to see if that makes any difference. I suppose you could also disable the WiFi module (using M552 s0) after you have started the print. That should all be possible without making any changes to your hardware and might provide some extra data points.

            What is special about your Y stepper or any of the steppers in your configuration?

            NeoDueundefined 2 Replies Last reply Reply Quote 0
            • NeoDueundefined
              NeoDue @gloomyandy
              last edited by NeoDue

              @gloomyandy thanks! Then I will do two prints now:

              • the print @oliof asked for with 16x microstepping for the extruders
              • and while that prints, I will search for a LAN cable that is long enough and then do a second print with PanelDue, Wifi module and both filament sensors disconnected - physically and in the config to be really sure.

              Let's see what that might do.

              The stepper is different since it has a very long customised shaft on both ends. Just a mechanical annoyance and nothing that could not be solved with a good saw and some hours at the lathe, but it makes inserting another stepper a one-way-only task that takes a bit longer

              gloomyandyundefined 1 Reply Last reply Reply Quote 0
              • gloomyandyundefined
                gloomyandy @NeoDue
                last edited by

                @NeoDue If you are going to change the extruder microstepping you may need to adjust the steps/mm. At the moment you have that set with:

                M92 X80 U80 Y80 Z1600 E138.58:138.58 S16
                

                The S16 is telling RRF to assume that 16 microsteps are being used when calculating things. I'm not sure how that will have been interacting with the

                M350 E64:64 Z16 I0 
                

                you have been using. It may all be fine, but just be aware!

                NeoDueundefined 1 Reply Last reply Reply Quote 0
                • NeoDueundefined
                  NeoDue @gloomyandy
                  last edited by

                  @gloomyandy that should work fine - S16 tells the duet only that the steps/mm are calculated for 16 Microsteps 🙂 - see here. I was quite happy when this feature was introduced since I was fiddling with my old "Duet-ised" GRR Neo back then and constantly had to switch microstepping settings between 16 and 256 while testing.

                  1 Reply Last reply Reply Quote 0
                  • NeoDueundefined
                    NeoDue @gloomyandy
                    last edited by NeoDue

                    @gloomyandy @dc42 here are the results - again, anything that is not explicitly mentioned is identical to the last config.g I posted above:

                    1. printing with 16x microsteps for the extruders as @oliof suggested actually seems to reduce the occurrence of layer shifts! I doublechecked this by doing a second - edit: and a third - print with 64x microstepping and a second one three with 16x microstepping, and the amount of layer shifts over the first 4.5mm is 2+1+0 with 16x microstepping versus 5+3+3 with 64x microstepping in these attempts. (x and y layer shifts counted separately here even if both happen in the same layer, otherwise the "5" would be a "4")
                    2. the other test (PanelDue disabled and unplugged, Wifi module disabled and unplugged, both filament sensors disabled in th config) did not yield a differing result however.

                    I will undo the hardware changes now and make a third and maybe a fourth comparison with 16x vs. 64x extruder microstepping to validate this.

                    (edit: added results of third comparison print)

                    oliofundefined 1 Reply Last reply Reply Quote 0
                    • oliofundefined
                      oliof @NeoDue
                      last edited by

                      @NeoDue next test idea I have: Enable interpolation on 16x microsteps for the Extruder.

                      <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                      NeoDueundefined 2 Replies Last reply Reply Quote 0
                      • NeoDueundefined
                        NeoDue @oliof
                        last edited by

                        @oliof okay, then this is next as soon as the current test print is done. I don't have even the faintest clue what you might be up to though 🙂

                        1 Reply Last reply Reply Quote 0
                        • NeoDueundefined
                          NeoDue @oliof
                          last edited by NeoDue

                          @oliof 1st attempt with 16x microstepping + interpolation for the extruders: 1 layer shift - seems to be in the same range as 16x microstepping without interpolation for the extruders. I will add another print tomorrow to be sure!

                          ... and then i am really curious if this helps @dc42 to find the issue in his code.

                          1 Reply Last reply Reply Quote 0
                          • oliofundefined
                            oliof
                            last edited by

                            @NeoDue the most common way to run RRF is to use 16x microsteps with interpolation, but the latter should not figure into this except that maybe the driver behaves a bit differently. Going from 64x microsteps to 16x simply reduces the overall required steprate, although I didn't necessarily expect it to have a measurable effect. That it does points towards possible issues with the step pulse generation while IS munges the path for IS purposes.

                            <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                            NeoDueundefined 1 Reply Last reply Reply Quote 1
                            • NeoDueundefined
                              NeoDue @oliof
                              last edited by

                              @oliof thanks a lot for explaining! It was logical to me that 16x reduces the amount of steps RRF has to calculate vs. 64x, but I did not get what that might mean in respect to the current issue.

                              1 Reply Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators @NeoDue
                                last edited by dc42

                                @NeoDue thanks for your results. Please can you share the print file that gave those layer shifts, or if you have already shared it then point me to that post. I'll see if I can reproduce it on a bench system using your files. Also please share your daemon.g file if you have one.

                                Duet WiFi hardware designer and firmware engineer
                                Please do not ask me for Duet support via PM or email, use the forum
                                http://www.escher3d.com, https://miscsolutions.wordpress.com

                                NeoDueundefined 1 Reply Last reply Reply Quote 0
                                • NeoDueundefined
                                  NeoDue @dc42
                                  last edited by NeoDue

                                  @dc42 the print file is still the same as shared in post #1 - I continue using it to keep the results comparable.

                                  I will upload my daemon.g as soon as I am back home from the office!

                                  jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                                  • jay_s_ukundefined
                                    jay_s_uk @NeoDue
                                    last edited by

                                    @NeoDue probably a full zip file of your system folder would be best, then we can make sure theres nothing else odd going on

                                    Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                    NeoDueundefined 1 Reply Last reply Reply Quote 0
                                    • NeoDueundefined
                                      NeoDue @jay_s_uk
                                      last edited by

                                      @jay_s_uk @dc42 here is my zipped settings folder (again, with an added ".gcode" extension to be able to upload it - if I could ask for an enhancement here in the forum, it would be to allow ".zip" as upload extension...) - please do not hesitate to let me know if you need explanations or need me to translate anything!

                                      settings_NeoDue_J1.zip.gcode

                                      dc42undefined 1 Reply Last reply Reply Quote 1
                                      • dc42undefined
                                        dc42 administrators @NeoDue
                                        last edited by

                                        @NeoDue thanks. I've mostly replicated your configuration on the bench and run your print file. The diagnostics are showing some step timing anomalies which I will investigate, but they are on the extruder drive (rather than on an axis drive, which is what I was expecting to see). Do you see any blobs on the print, that might be large enough to cause the layer shifts?

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        NeoDueundefined 1 Reply Last reply Reply Quote 0
                                        • NeoDueundefined
                                          NeoDue @dc42
                                          last edited by NeoDue

                                          @dc42 Wow, I did not expect you to work that late! Please call it a day, I do not want to be responsible for stealing your night's rest!

                                          But to answer your question: as safe as I can be from just sitting in front of the printer, looking and listening, there are no blobs of a size that might cause a layer shift (or rather to be precise I did not note any blobs worthy of the name at all). I know from my initial tests with my filament how loud the printer can get while it rumbles over a filament blob without getting stuck, and in addition to watching no blobs, I also do not see any.

                                          What I did notice however is an increased rumbling noise indicating an certain unevenness of the previous layer between layer shifts at times, but that might also be caused by the lack of support caused by the layer shift.

                                          Did you test the print more than once, and up to which height? As can be seen from my tests, the amount of layer shifts varies, therefore I guess it is something that "just about might happen" and therefore I assume it requires a little bit of bad luck to cause a visible effect.

                                          dc42undefined 1 Reply Last reply Reply Quote 0
                                          • dc42undefined
                                            dc42 administrators @NeoDue
                                            last edited by

                                            @NeoDue I am not doing a real print, I am running a bench system. I've run it up to more than 4mm height and so far I have only seen anomalies in the extruder step pulse timing. These anomalies go away if I set pressure advance to zero.

                                            Can you please re-run part of that print with pressure advance set to zero, so that I can determine whether this anomaly is indirectly causing layer shifts or is irrelevant to this issue.

                                            Duet WiFi hardware designer and firmware engineer
                                            Please do not ask me for Duet support via PM or email, use the forum
                                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                                            NeoDueundefined 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA