Strange bugs 3.3beta2
-
@dc42 said in Strange bugs 3.3beta2:
PanelDue
PanelDue cable does not run near motors. But I will do it differently.
could you answer my question about the movement along the axes with mesh compensation enabled? Should the bed move?
I just can't figure it out.
-
-
@Dep said in Strange bugs 3.3beta2:
could you answer my question about the movement along the axes with mesh compensation enabled? Should the bed move?
Yes, but it's hard to see whether the Z motors are moving a little or not on most printers. For example, with 400 Z steps/mm @ x16 microstepping on 1.8deg motors, the leadscrews will turn only 1/10 turn for 0.4mm movement.
-
@dc42 In fact of the matter. I attached a long stick to the pulley. There is no movement and no sound.
And during printing, the compensation does not work.
-
Run M122 and check that it reports "Bed compensation in use: mesh" while it is printing.
-
@dc42
I usually do that.The size of the table at the printer is 1x1 meter. And the unevenness is about 0.5mm. I usually see the Z motors move.
Should I try to install an older firmware? Or does everything work for you?
-
Another dangerous bug!
M558 K0 H5 A5 F120
Works as it shouldM558 K0 H5 A5 F120: 120
Also works as it shouldM558 K0 H5 A5 F120: 60
Broke today probe.
The bed goes up and breaks the probe. And continue to rise.I checked it several times.
-
@Dep said in Strange bugs 3.3beta2:
M558 K0 H5 A5 F120: 60
Broke today probe.Why would you use F120: 60 at all?
To better understand why the mesh isn't moving the Z axis please provide your config.g and homing files so we can see what other commands are taking affect.
-
@Phaedrux thanks!
Below is my config:
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Pr-1100x1100" ; set printer name M575 P1 B57600 S1 ; Comms parameters for PanelDue M564 S1 H1 ; Forbid axis movements when not homed ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S0 ; X drive goes back M569 P0.1 S1 ; Z1 drive M569 P0.2 S0 ; Z2 drive M569 P0.3 S1 ; Z3 drive M569 P0.4 S0 ; Z4 drive M569 P0.5 S0 ; Y drive G4 P500 ; Pause for toolboards init M569 P21.0 S1 ; Extruder 1 (T0) M569 P1.1 S0 ; Extruder 1 spool driver M569 P22.0 S1 ; Extruder 2 (T1) M569 P1.2 S0 ; Extruder 2 spool driver M569 P1.0 S1 ; Coupler M584 X0.0 Y0.5 Z0.1:0.2:0.3:0.4 C1.0 ; set Move drive mapping M584 E21.0:1.1:22.0:1.2 ; set Extruder drive mapping ; Axis Limits M208 Z-4:875 C0:500 M208 X-570:570 Y-630:500 ; Define the bed mounting coordinates M671 X-473:473:473:-473 Y730:730:-735:-735 S10 ;Snn Maximum correction allowed for each leadscrew in mm (optional, default 1.0) ; Endstops M574 X1 S1 P"!io1.in" ; configure active-high endstop for high end on X via pin !io1.in M574 Y2 S1 P"!io2.in" ; configure active-high endstop for low end on Y via pin !io2.in M574 Z0 P"nil" ; no endstop on Z M574 C1 S3 ; Stall detect coupler at low end of its range ;Steps per mm = (Motor Steps per Revolution * Driver Microstep) / (Belt Pitch * Pully Number of Teeth) ; X: GT2-20 / Y: HTD3-20 * (48/16) / Z: HTD5-20 * 6 M92 X80 Y160 Z800 C200 ; set steps per mm M92 E420.00:115.00:420.00:115.00 ; set steps per mm M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M350 C16 I1 M566 X420 Y420 Z8 C2 E200:200:200:200 ; Set maximum instantaneous speed changes (mm/min) M203 X9000.00 Y9000.00 Z600.00 C10000 E6000.00 ; set maximum speeds (mm/min) M201 X1200.00 Y1200.00 Z100.00 C500 E2500 ; set accelerations (mm/s^2) M204 P250 T1200 ; Travel and print acceleration M906 X1200 Y1600 Z2400 C500 E900:900:900:900 ; set motor currents (mA) and motor idle factor in per cent M913 C50 M906 I30 M913 E100:0:100:0 ; set Working current to Extruders M84 S120 ; Set idle timeout ;Stall Detection M915 C S5 F0 H200 ; Coupler ; Calibrate Nozzle Height probe M558 K1 P8 B0 C"^io8.in" H30 F120 T9000 ; Z-Probe M558 K0 P5 B1 C"^io7.in" H5 A5 F120 T9000 ; set Z probe type to switch and the dive height + speeds G31 K0 X0 Y0 Z0 P1000 ; set Z probe trigger value, offset and trigger height M557 X-500:500 Y-500:500 S100 ; define mesh grid ; ==== Heaters ==== ; Bed M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 ;M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M950 H0 C"out0" T0 Q10 ; Heater --> SSD-Steuerung ;M307 H0 B0 S0.80 ; disable bang-bang mode for the bed heater and set PWM limit ;M307 H0 R0.425 C261.3 D4.03 S0.80 ; Tuned M307 H0 R0.191 C560.9 D3.56 S1.00 V24.1 M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C ; Chamber M308 S5 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 5 as thermistor on pin temp1 M950 H5 C"out9" T5 Q10 ; create chamber heater output on temp1 and map it to sensor 5 M307 H5 R1.000 C30.9 D9.18 S1.00 V24.1 ; Tuned M141 H5 ; map chamber to heater 5 M143 H5 S75 ; set temperature limit for heater M950 F5 C"out4" Q500 ; cooling fan M106 P5 S0 H-1 C"Filament FAN" ; Control be trigger2 ;M106 P5 S1 H5 T22:60 ; thermistatic control M950 J8 C"0.io6.in" ; Input 8 for filament Fan M581 T2 P8 S1 R0 ; Invoke trigger 2 when an inactive-to-active edge is detected on input 8 ; Extruder 1 M308 S1 P"21.temp0" Y"thermistor" T100000 B4725 ; configure sensor 1 as thermistor on pin 121.temp0 M950 H1 C"21.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S285 ; set temperature limit for heater 1 to 285C ;M307 H1 R3.214 C42.3 D7.77 S0.75 V23.2 ; Tuned M307 H1 R0.056 C194.7 D8.90 S1.00 V23.9 ; small block ;M307 H1 R3.358 C190.6 D7.20 S0.60 V23.6 ; Extruder 2 M308 S2 P"22.temp0" Y"thermistor" T100000 B4725 ; configure sensor 2 as thermistor on pin 122.temp0 M950 H2 C"22.out0" T2 ; create nozzle heater output on 122.out0 and map it to sensor 2 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H2 S285 ; set temperature limit for heater 2 to 285C ;M307 H2 R3.056 C229.5 D7.91 S0.80 V23.3 ; Tuned ;M307 H2 R3.090 C199.8 D7.36 S0.75 V23.3 ;M307 H2 R3.202 C234.301:234.301 D7.52 S0.70 V23.3 B0 I0 M307 H2 R3.358 C190.6 D7.20 S0.60 V23.6 ; *** Fans ; Extruder 1 Fan M950 F0 C"21.out1" Q500 ; Part cooling fan M106 P0 S0 B0.1 H-1 ; Default off. booststart for 0.1s (B0.1); thermostatic control off M950 F1 C"21.out2" Q500 ; Hotend cooling fan M106 P1 S1 H1 T50 ; Default on. thermistatic control on above 50C ; Extruder 2 Fan M950 F2 C"22.out1" Q500 ; Part cooling fan M106 P2 S0 B0.1 H-1 ; Default off. booststart for 0.1s (B0.1); thermostatic control off M950 F3 C"22.out2" Q500 ; Hotend cooling fan M106 P3 S0 H2 T50 ; Default on. thermistatic control on above 50C ; Tools ; Extruder 1 Tool M563 P0 S"Extruder-1" D0:1 H1 F0 M567 P0 E1:1 ; mixing G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C G10 P0 X0 Y76 Z0 ; Reset tool axis offsets ; Extruder 2 Tool M563 P1 S"Extruder-2" D2:3 H2 F2 ; define tool 1 M567 P1 E1:1 ; mixing G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C G10 P1 X0 Y76 Z0 ; Reset tool axis offsets ; Retraction ;M207 S6.5 R0.0 F4800 T4800 Z0.0 M207 S4 R0.0 F3000 T2100 Z0.4 ; M207: Set retract length ; Parameters ; Pn Tool number (optional, supported in RRF 3.01 and later only) ; Snnn positive length to retract, in mm ; Rnnn positive or negative additional length to un-retract, in mm, default zero ; Fnnn retraction feedrate, in mm/min ; Tnnn feedrate for un-retraction if different from retraction, mm/min (RepRapFirmware 1.16 and later only) ; Znnn additional zlift/hop ; Example: M207 S4.0 F2400 Z0.075 ; FEEDRATE CONVERSIONS ; 20mm/s = F1200 ; 100mm/s = F6000 ; 35mm/s = F2100 ; 120mm/s = F7200 ; 50mm/s = F3000 ; 133mm/s = F8000 ; 70mm/s = F4200 ; * ======= tool offsets ======== * ; Set in config-override.g ;G10 P0 X0 Y76 Z-21 ; T0 ;G10 P1 X0 Y76 Z-21 ; T1 ; Filament monitors ; ** Rotating M591 P3 C"21.io1.in" D0 R30:160 S1 M591 P3 C"22.io1.in" D2 R30:160 S1 ; ** Endstops M950 J4 C"!^1.io1.in" ; Input 4 for filament trigger M950 J5 C"!^1.io2.in" ; Input 5 for filament trigger ; Invoke trigger 1 (M25) when an active-to-inactive edge is detected on input 4 and 5 and a file is being printed from SD card M581 T1 P4 S0 R1 M581 T1 P5 S0 R1 ; Miscellaneous M572 D0 S0.02 ; pressure advance T0 M572 D1 S0.02 ; pressure advance T1 ;M572 D2 S0.05 ; pressure advance T2 ;M572 D3 S0.05 ; pressure advance T3 ; Set up the dock indicator switches on the tools. M950 J0 C"!^io3.in" ; GpIn 3 = tool 0 dock switch M950 J1 C"!^io4.in" ; GpIn 4 = tool 1 dock switch ; Z Motors brake M950 P0 C"0.out1" ; Z Motors brake OFF G92 Z0 G91 ; Relative mode M400 ; make sure everything has stopped before we change the motor currents M913 Z100 ; drop motor currents to 20% G1 Z0.05 M400 G4 P1000 ; Pause M42 P0 S1 ; Brake oFF M911 S23.5 R23.8 P"M42 P0 S0" G90 ;M593 F50 ; cancel ringing at 50Hz M376 H20 ; bed compensation taper M501 ; load saved parameters from non-volatile memory ;G29 S1 ; Do not use G29 S1 within config.g, because no Z=0 datum has been established at that point G90 ; !!! absolute positioning
homez:
; homez.g ; called to home the Z axis while iterations < 2 if iterations < #sensors.gpIn && sensors.gpIn[iterations] != null && sensors.gpIn[iterations].value = 0 M291 S1 T5 P{"Please return tool "^iterations^" to dock before homing"} R"Cannot home" abort ;M290 R0 S0 ; clear babystepping ;M561 ; clear any bed transform G91 ; Relative mode M400 ; make sure everything has stopped before we change the motor currents ;M913 Z80 ; drop motor currents to 20% G1 H2 Z5 F1000 ; Lower the bed ;M913 Z100 ; motor currents to 100% G90 ; back to absolute positioning ;G1 X0 Y0 F9000 ; Position the endstop above the bed centre G1 X-473 Y500 F9000 ; Position the endstop near leadscrew ;G1 X473 Y500 F9000 ; Position for test M400 ;if move.axes[2].machinePosition > 9 ; M558 K0 F1000 H3 ; G30 Z-9999 M558 K0 F600 H5 A1 G30 Z-9999 M558 K0 F120 H5 A5 G30 Z-9999 M400 ;M558 K0 H30 ;G91 ; Relative mode ;G1 Z10 F1000 ; Lower the bed ;G90 ; back to absolute positioning
bed.g (called from homeall.g)
; bed.g ; Called to align the gantry to the bed plane via G32 while iterations < 2 if iterations < #sensors.gpIn && sensors.gpIn[iterations] != null && sensors.gpIn[iterations].value = 0 M291 S1 T5 P{"Please return tool "^iterations^" to dock before homing"} R"Cannot home" abort M290 R0 S0 ; clear babystepping M561 ; clear any bed transform M84 E0:1 ; Turn off noisy Extruder motor M400 ; make sure everything has stopped M98 P"homez.g" M558 K0 H10 F120 ; F120 M98 P"/macros/Move/bed_level_points" ;M98 P"homez.g" ;G28 Z ;G1 X0 Y0 F12000 ; Position the endstop above the bed centre ;M558 F120 ;G30 Z-9999 ;M400 M98 P"homez.g" M558 K0 H5
mesh.g
; mesh.g if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed || !move.axes[3].homed M291 S1 T5 P{"Please Home before probe"} R"Cannot probe" abort if state.currentTool != -1 M291 S1 T5 P{"Please return All tools to dock before probing"} R"Cannot probe" abort "Cannot do mesh probing when a tool is selected" M290 R0 S0 ; clear babystepping M561 ; clear any bed transform ;G32 ; Level the gantry ;M98 P"homez.g" ; Heat the bed to 80C ;M291 P"Heating up the bed..." R"Probing New Bed Mesh" T5 ;M190 S80 ;M116 ;G32 ; Level the gantry again while everything is hot M558 K0 H3 T9000 F120 A5 G29 S0 M558 K0 H5 T9000 M140 S0 ; Turn off bed M291 P"Done!" R"Bed Mesh" T5
homeall.g (G29 S1 here)
; homeall.g ; called to home all axes ; M98 P"homex.g" M98 P"homey.g" M98 P"bed.g" G29 S1
-
@Dep said in Strange bugs 3.3beta2:
M98 P"/macros/Move/bed_level_points"
What's in that macro?
@Dep said in Strange bugs 3.3beta2:
M98 P"homex.g" M98 P"homey.g"
Can you share these as well?
Can you also share the results of sending M98 P"config.g" and share your slicer start gcode.
-
@Phaedrux оf course
bed_level_points :
G30 P0 X-473 Y500 Z-99999 ;P0 - Probe point 0 (not drive) G30 P1 X473 Y500 Z-99999 G30 P2 X473 Y-500 Z-99999 G30 P3 X-473 Y-500 Z-99999 S4 ;set correction
homex.g
; homex.g ; called to home the X axis ; while iterations < 2 if iterations < #sensors.gpIn && sensors.gpIn[iterations] != null && sensors.gpIn[iterations].value = 0 M291 S1 T5 P{"Please return tool "^iterations^" to dock before homing"} R"Cannot home" abort G91 ; relative positioning M400 ; make sure everything has stopped before we change the motor currents ;M913 Z80 ; drop motor currents to 20% G1 H2 Z5 F6000 ; lift Z relative to current position ;M913 Z100 ; motor currents to 100% G1 H1 X-1200 F6000 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F6000 ; go back a few mm G1 H1 X-1200 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 X5 F6000 ; move away from end G1 H2 Z-5 F6000 ; up Z again G90 ; absolute positioning
homey.g
; homey.g ; called to home the Y axis ; while iterations < 2 if iterations < #sensors.gpIn && sensors.gpIn[iterations] != null && sensors.gpIn[iterations].value = 0 M291 S1 T5 P{"Please return tool "^iterations^" to dock before homing"} R"Cannot home" abort if !move.axes[0].homed M98 P"homex.g" G91 ; relative positioning M400 ; make sure everything has stopped before we change the motor currents ;M913 Z80 ; drop motor currents to 20% G1 H2 Z5 F6000 ; lift Z relative to current position ;M913 Z100 ; motor currents to 100% G1 H1 Y1205 F6000 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y-5 F6000 ; go back a few mm G1 H1 Y1205 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Y-50 F6000 ; move away from end G1 H2 Z-5 F6000 ; up Z again G90 ; absolute positioning
Slicer (S3D) start code:
; START code M140 S[bed0_temperature] M106 S0 ;fan off G92 E0; reset extruder distance G28 T0 ; Select tool 0 M116 G10 P0 S[extruder0_temperature] R160 M116 M98 P"/macros/Purge Filament" ;--- end start gcode ---
-
@Phaedrux said in Strange bugs 3.3beta2:
M98 P"config.g"
18.03.2021, 22:24:45 M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled
-
@Dep said in Strange bugs 3.3beta2:
M376 H20 ; bed compensation taper
With a taper set the amount moved to compensate is diminished over the duration of the print and for small amounts can make it very hard to see.
Can you post a screenshot showing your heightmap?
How often do you re-create the heightmap?
-
I've done it many times. The print shows that the compensation does not work. I also attach a long stick to the pulley to check if there is movement or not.
If necessary, I can shoot a video.
-
@Phaedrux said in Strange bugs 3.3beta2:
@Dep said in Strange bugs 3.3beta2:
M376 H20 ; bed compensation taper
With a taper set the amount moved to compensate is diminished over the duration of the print and for small amounts can make it very hard to see.
I've tried disabling taper. M376 H0
Nothing changes. -
add G29 S1 after the G28 in your start script
-
@jay_s_uk It is added:
homeall.g (G29 S1 here)
; homeall.g ; called to home all axes ; M98 P"homex.g" M98 P"homey.g" M98 P"bed.g" G29 S1
-
@Dep ah, missed that
-
All I can think is that the conditional gcode in your homing files is skipping something.
Can you try adding G29 S1 to your slicer start gcode after the purge filament macro?
Then check if mesh compensation is active in M122 during the print and see if the Z axis is moving.
-
Could it be that you're not homing Z after you run bed.g ?