Z reading wrong
My first layer height is .32. When I started printing, it showed .32. After baby-stepping rapidly, I got the following error, and the Z display now shows .4 instead of .32. I've seen this happen before.
please post your config.g
I also just realized it causes the print to skip forward some undetermined number of lines. It happened again while I started a new print and one of the loops of the skirt got skipped.
M929 P"log.txt" S1 ; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; edited by JP 15/4/19 between the *'s ; generated by RepRapFirmware Configuration Tool v2 on Fri Feb 08 2019 11:05:GMT-08S1 00 (Pacific Standard Time) M667 S1; CoreXY mode M584 X0 Y1 Z5:6:7:8 E3:4 P3 M671 X-69.5:-69.5:370.04:370.04 Y46.75:340:342.0:52.5 S10 M376 H2 ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Network M550 P"NOTPromega" ; Set machine name M552 P"lilpaw" S1 ; Enable network M586 P0 S1 ; Enable HTTP M586 P1 S1 ; Enable FTP M586 P2 S1 ; Enable Telnet ; Drives M569 P0 S0 ; Drive 0 goes backwards M569 P1 S1 ; Drive 1 goes backwards M569 P2 S0 ; Drive 2 goes backwards M569 P3 S0 ; Drive 3 goes forwards M569 P4 S0 ; Drive 4 goes forwards M569 P5 S1 ; Drive 5 goes forwards M569 P6 S1 ; Drive 6 goes forwards M569 P7 S1 ; Drive 7 goes forwards M569 P8 S1 ; Drive 8 goes forwards M569 P9 S1 ; Drive 8 goes forwards ;********************** M92 X159.864275 Y159.864275 Z400 E3800:3800 ; Set steps per mm M350 X16 Y16 Z16 I1 ; Configure microstepping (before setting steps/mm) without interpolation M350 E16:16 I1 M566 X750 Y750 Z150.00 E6:6 ; Set maximum instantaneous speed changes - jerk (mm/min) M203 X48000.00 Y48000.00 Z1200.00 E2400.00:2400.00 ; Set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z300.00:300.00:300.00:300.00 E120:120 ; Set accelerations (mm/s^2) M906 X1680.00 Y1680.00 E800.00:400.00 I60 ; Set motor currents (mA) and motor idle factor in per cent M906 Z1400.00:1400.00:1400.00:1400.00 M84 S30 ; Set idle timeout ;********************* ; Axis Limits M208 X0:275 Y0:345 Z0:343.60 ; Endstops M574 X2 S1; Set x end-stops types (S1 is active high, applied to X) optical M574 Y2 S0 ; Set y end-stops types (S0 is active low, applied to Y) mechanical M574 Z1 S1 ;M915 Z S-20 F0 H200 R1; stall detection ; Z-Probe M558 P4 I1 H2.5 F180 T3000 ; Set Z probe type -- Enable LIMIT SWITCH ;M558 P1 H1.2 F300 T12000 B0 ; IR sensor ;M558 P10 ; stall detection G31 P500 X16.9 Y58.844046 Z1.75 ; Set Z probe (limit switch) trigger value, offset - take 2 off of Y after new frame is installed ; M556 S50 X0 Y0 Z0 ; Set orthogonal axis compensation parameters M557 X18.5:270 Y58:354.626 S18 ; Define mesh grid ; Heaters M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C ;M305 P1 T100000 B4388 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1 ;M305 P1 T10000 B3435 C7.060000e-8 R4700 ;M305 P1 T100000 B4725 C7.06e-8 M305 P1 T100000 B4725 C7.06e-8 ; <-- E3D M305 P2 T100000 B4725 C7.06e-8 ; <-- E3D ;M305 P1 T100000 B4693 C0.6643439816e-7 <-- calculated ;M305 P1 T100000 B4893 C0.6643439816e-7 M143 H1 S285 ; Set temperature limit for heater 1 to 500C M143 H2 S285 ; Set temperature limit for heater 2 to 500C ; Fans M106 P3 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P4 S0 I0 F500 H-1 M106 P1 S0 I0 F500 H1 T100:180 X255 B0 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S0 I0 F500 H2 T100:180 X255 B0 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Tools M563 P0 S"Left" D0 H1 F3:4 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C M563 P1 S"Right" D1 H2 F3:4 ; Define tool 1 G10 P1 X33.8 Y0 Z0 ; Set tool 1 axis offsets G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C ; Automatic power saving M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss ; Custom settings are not configured ; Miscellaneous M501 ; Load saved parameters from non-volatile memory M302 P1 ; allow cold extrude retract ;M572 D0:1 S0.1 M307 H3 A-1 C-1 D-1 ; make PWM1 a servo ;M42 P3 S128 F50; set value for servo M42 P3
; Axis Limits
M208 X0:275 Y0:345 Z0:343.60
You need to allow small negative Z values if you want to babystep down by more than the first layer height.
@dc42 this seems like a multifaceted bug.
Since baby stepping doesn't update the Z position, it shouldn't be updated here, even because of another error.
Axis min and max shouldn't be related to baby stepping limits. This plays perfectly into my suggestion of why baby stepping should be implemented differently. It's a fix, temporary or not, to the current position. Obviously if the first layer is at .2 and for whatever reason you need to baby step down more than .2 it means that the extruder is .4 or more away from the bed. Since that's the case, there's no reason to enforce the axis dimensional limits on the adjusted position because the adjusted position should still be within bounds.
Basically, if the head is at .45 but should be at .2, why would the system think I'm trying to move past 0 when I baby step down by .25 to move it to .2?
bearer last edited by
there's no reason to enforce the axis dimensional limits on the adjusted position because the adjusted position should still be within bounds.
odds are it wouldn't hold true on the other end of the travel limit - or if it does then the machine isn't configured properly to begin with and babystepping is the wrong "remedy"
@bearer That's not what would happen. If the axis dimension limit applied to the "assumed to be" Z position, then everything should be fine on both ends of the axis.