M556: Adjustment doesn't seem to be doing anything
-
Hi, all. I purchased Vector3D's excellent Calilantern and have used it to tune most of my printers. I have four Duet-based machines: three Duet 3 Mini 5+ boards and one Duet 2 Wifi + DueX5 (Railcore).
On all three Duet 3 Mini 5+ machines, I was able to run the calibration file, fill out the spreadsheet to get the M556 adjustment, apply it, and observe an immediate improvement. The Duet 2 system seems to be categorically ignoring this value, and I'm out of ideas on what to look at.
I started with this system on 2.05 and have manually upgraded it all the way to 3.5.2 in the hopes that it would resolve this issue. I've tried putting in very silly values for M556, verifying that they're in place by running the bare M556, running a file, and verifying that the M556 is still in place after the file... but the printed file doesn't change. It's always roughly the same amount of 0.56mm off on a 100mm distance.
If you have any ideas on what could be causing this, please let me know. I'm also very happy to run tests and be wrong about things.
Config.g:
; Configuration file for RailcoreII 300ZL Series Printers ; updated for RRF3 on 2024-04-24 ; Debugging M111 S0 ; Debug off M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt M550 P"RailCore" ; Machine name and Netbios name (can be anything you like) ; General preferences M555 P2 ; Set output to look like Marlin M575 P1 B57600 S1 ; Comms parameters for PanelDue G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M669 K1 ; CoreXY mode ; Drives M584 X0 Y1 Z5:6:7 E3:4:8:9 ; Map Z to drivers 5, 6, 7. Define unused drivers 3,4,8 and 9 as extruders M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it)| X stepper M569 P1 S0 ; Drive 1 goes backwards(change to S1 to reverse it)| Y Stepper M569 P2 S1 ; Drive 2 goes forwards | Unused M569 P3 S1 ; Drive 3 goes forwards | Extruder S1 for Bondtech, S0 for Titan M569 P4 S1 ; Drive 4 goes forwards | Extruder (unused) M569 P5 S0 ; Drive 5 goes backwards | Front Left Z M569 P6 S0 ; Drive 6 goes backwards | Rear Left Z M569 P7 S0 ; Drive 7 goes backwards | Right Z ;Leadscrew locations M671 X-10:-10:333 Y22.5:277.5:150 S7.5 ;Front left,(-10,22.5) Rear Left (-10.,227.5) , Right (333,160) S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew ; Axis and motor configuration M350 X16 Y16 Z16 E16 I1 ; Set 16x microstepping for axes & extruder, with interpolation. ;M574 X1 Y1 Z0 S1 ; Set homing switch configuration (x,y at min, z at max) IF YOU NEED TO REVERSE YOUR HOMING SWITCHES CHANGE S1 to S0 M574 X1 S1 P"xstop" M574 Y1 S1 P"ystop" M574 Z0 P"nil" M906 X650 Y500 Z600 E500 I60 ; Motor currents (mA) - WARNING: Conservative - May trigger stallguard (and prematurely during homing) if sensorless. ; M201 X500 Y500 Z02 E500 ; Accelerations (mm/s^2) - WARNING: Conservative M201 X800 Y800 Z02 E500 ; Accelerations (mm/s^2) - WARNING: Conservative M203 X3000 Y3000 Z50 E1800 ; Maximum speeds (mm/min) - WARNING: Conservative ; M566 X200 Y200 Z5 E10 ; Maximum jerk speeds mm/minute - WARNING: Conservative M566 X400 Y400 Z5 E10 ; Maximum jerk speeds mm/minute - WARNING: Conservative M92 X200 Y200 Z1600 ; Steps/mm for X.Y M92 Z1600 ; Steps/mm for Z - TR8*2 / 1.8 deg stepper or TR8*4 / 0.9 deg stepper M92 E837 ; Extruder - 0.9 deg/step (ProjectR3D kit with E3D stepper MT-1701HSM140AE or Standard Titan stepper 42BYGHM208P4.5-15-X2) ; It doesn't seem to matter what the M906 command says -- the current never changes and stepper 6 overheats. This command fixes it, though M913 X75 Y75 Z60 E65 ; Set axis minima:maxima switch positions (Adjust to suit your machine and to make X=0 and Y=0 the edges of the bed) ; These values are conservative to start with, adjust during commissioning. M208 X0:250 Y0:250 Z-0.2:230 ; Conservative 300ZL/T settings (or 250ZL) ; Thermistors M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 R4700 ; Bed thermistor M308 S1 P"spi.cs1" Y"rtd-max31865" ; create sensor number 1 as a PT100 sensor in the first position on the Duet 2 daughterboard connector ;M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 R4700 ; Hotend thermistor M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 R4700 ; Chamber thermistor ; old thermistor data ;M305 P0 S"Bed" T100000 B3950 R4700 H0 L0 ; BOM thermistor values. Put your own H and/or L values here to set the bed thermistor ADC correction ;M305 P1 S"E0" T100000 B4725 C7.06e-8 R4700 H0 L0 ; E3D Semitec 104GT2 thermistor values. Put your own H and/or L values here to set the first nozzle thermistor ADC correction ;M305 P2 S"Chamber" T100000 B4725 C7.06e-8 R4700 H0 L0 ; Heated Chamber ;Heaters M950 H0 C"bedheat" T0 ; define bed heater M140 H0 ; map heated bed to heater 0 M950 H1 C"e0heat" T1 ; define hotend heater M143 H0 S150 ; Maximum H0 (Bed) heater temperature M143 H1 S400 ; Maximum H1 (Extruder) heater temperature (Revo HT hotside) M140 S-273 R-273 ; Standby and initial Temp for bed as "off" (-273 = "off") M141 H2 ; Heated Chamber M143 H1 P0 S390 A2 ; switch off heater 1 temporarily if it exceeds 390°C M143 H1 P1 S400 A0 ; raise a heater fault if it exceeds 400C ; Default heater model ;M307 H0 A270.7 C90.4 D6.7 B0 S1.0 ; Default Bed Heater Parameters, before tuning / if config-override.g is missing ;M307 H1 A508.1 C249.0 D3.8 S1.00 V24.2 B0 ; Default Tool Heater Parameters, before tuning / if config-override.g is missing M950 F0 C"fan0" ; define fan0 M950 F1 C"fan1" ; define fan1 M950 F2 C"fan2" ; define fan2 ; M106 P1 T45 S0.7 H1:2 ; Fans M106 P0 H-1 ; Disable thermostatic mode for fan 0 M106 P1 H-1 ; Disable thermostatic mode for fan 1 M106 P2 H-1 ; Disable thermostatic mode for fan 2 M106 P0 S0 ; Turn off fans M106 P1 S0 M106 P2 S0 ; Tool definitions M563 P0 D0 H1 ; Define tool 0 G10 P0 S-273 R-273 ; Set tool 0 operating and standby temperatures(-273 = "off") ; Z probe M558 P9 H10 A1 T3000 S0.02 C"zprobe.in" ; Z probe - raise probe height. ; H10 - dive height ; A bigger dive height prevents a situation where the bed is out of alignment by more than the dive height ; on any corner, which can crash the hot-end into the bed while moving the head in XY. ; Probing speed and travel speed are similarly reduced in case the Z probe isn't connected properly (or ; disconnects later after moving to a point) giving the user more time to stop. ;M556 S100 X0.1390 Y0.1990 Z0.2590 ; CaliLantern Skew Profile ;M556 S100 X-0.0990 Y-0.0600 Z000000 ; CaliLantern Skew Profile, try 2 ;M556 S100 X-0.1190 Y0.0250 Z0.0000 ; CaliLantern Skew Profile, try 3 M556 S100 X1 Y1 Z0 ; test skew value M557 X50:200 Y50:200 S150 S150 ; Set Default Mesh (conservative) M98 P"config-user.g" ; Load custom user config M501 ; Load saved parameters from non-volatile memory
config-user.g:
;File : config-user.g for the Project R3D Kit ;Effect : Provides a custom configuration area for the Railcore user. ;Use-case : By keeping any custom definitions in this file (such as Z probe attributes, axis minima/maxima and anything else that you wish to override in config.g ; : it will enable the user to easily keep track of their own changes to the default config, as well as provide a simple upgrade path for future Github releases. ; Z probe and compensation definition ; *** WARNING - **Always** make sure your cables are correct, secure and test them thoroughly before homing Z for the first times! ; INSTRUCTIONS : 1) Uncomment your configuration lines ; 2) M558 *** Do not add the Fxxx parameter for M558 here, it is set in homez.g ; 3) G31 configuration ; a) Customize your offsets appropriately, where the probe is X Y is offset from the nozzle. ; b) Z is the trigger height (how high your nozzle is from the bed when the probe triggers). You need to dial those in. ; c) Tip: A larger trigger height in G31 moves you CLOSER to the bed ; ** REMEMBER to place deployprobe.g and retractprobe.g from the bltouch directory into the /sys directory and read the README CAREFULLY. M552 S1 ;Turn Wifi on M558 P9 H5 A3 T6000 C"^zprobe.in" F500:50 ; Set 5mm dive height, 3 probes and 6000 travel speed. ;G31 X45.4 Y40.5 Z2.440 P25 ; BL-touch - Z Offset set to 0, determine your own Z-Offset and enter it here ; (Note: Positive number is closer to the bed) G31 X45.4 Y40.5 Z1.8 P25 M574 Z0 P"nil" M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 R4700 ; Chamber thermistor M950 S0 C"duex.pwm1" ; define heater 3 on the duex ;Lead Screw offset M671 X-18:-18:331 Y-5:249:121 S7.5 ; Axis and motor configuration - Faster speeds, so uncomment only when fully commissioned! M906 X1300 Y1300 Z1800 E1030 I60 ; Set motor currents (mA) 2352 max M203 X24000 Y24000 Z900 E7000 M201 X2500 Y2500 Z20 E3000 M566 X850 Y850 Z30 E600 ; Maximum jerk speeds mm/minute ; Drives M569 P3 S0 ; Project R3D : Drive 3 goes backwards - Extruder ; Set axis minima:maxima switch positions (Adjust to suit your machine and to make X=0 and Y=0 the edges of the bed) M208 X0:290 Y0:280 Z-0.2:330 ; 300ZL M557 X45.4:330 Y45.4:310 S240 S240 ; Set Default Mesh - NOTE: take probe offset into account ; E.G. If probe offset is 42 on Y, then Y50:290 will take the hotend to Y08 to Y248) ;Hemera settings M92 X201.5 Y201.5 Z1600 E409 ;Thermostatic Fan Control M106 P1 T45 H1 ; Tool definition M563 P0 S"E3D Hemera" D0 H1 ; Define tool 0 uses extruder 0, heater 1 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets M143 H1 S400 ; Maximum H1 (Extruder) heater temperature (Revo HT hotside installed) ;M98 P"wifi.g" ; Run WiFi configuration file , only run wifi.g UNTIL YOU ARE CONNECTED AND THEN DELETE. ; As well as being a security hazard, writing the access point parameters to WiFi chip every ; time you start the Duet may eventually wear out the flash memory.
config-override.g:
; config-override.g file generated in response to M500 at 2024-07-18 14:53 ; This is a system-generated file - do not edit ; Heater model parameters M307 H0 R0.394 C773.300:773.300 D9.30 S1.00 V24.1 B0 I0 M307 H1 R2.761 C237.851:237.851 D6.80 S1.00 V24.2 B0 I0 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00
Any advice is appreciated; thanks for your time!
-
@itsthejoker said in M556: Adjustment doesn't seem to be doing anything:
very silly values for M556
What do you consider a silly value?
The starting values in your config.g are quite conservative overall.
-
@Phaedrux They're much larger than the (working) values for the other machines — what is a better value to try? X5 Y5? I want to test but don't want to break anything.
-
@Phaedrux Update: I tried
M556 S100 X5 Y5 Z5
and there's a definite visible change, so I guess my changes were too conservative. I'll keep tuning. Thanks for the bump in the right direction. -
Jerk in the 500 to 1500 range would be pretty common I think. You're on the incredibly low end with 5.