mesh bed compensation not compensating
-
I have a custom build core xy with a 500x500 bed.
the machine will run G29, probe the bed, make a height map then proceed to fail prints.
It doesn't seam to activate the compensation. the lead screws don't budge and the first layer is good in some spots, doesn't stick in others and grinds the nozzle so hard that plastic wont come out over high spots.
-
@jayson please post your config.g and the start G-Code from your slicer
-
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Oct 29 2020 18:46:36 GMT-0600 (Central Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Jayson" ; set printer name
M669 K1 ; select CoreXY mode; Network
M551 P"13thpassword" ; set password
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S0 ; physical drive 1 goes backwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P3 S1 ; physical drive 3 goes forwards
M569 P4 S1 ; physical drive 4 goes forwards
M569 P5 S1 ; physical drive 5 goes forwards
M569 P6 S1 ; physical drive 6 goes forwards
M584 X0 Y1 Z2 E3:4:5:6 ; set drive mapping
M350 E16:16:16:16 I1 ; configure microstepping with interpolation
M350 X16 Y16 Z16 I1
M92 X80 Y80 Z900 E420.00:1888.21:420.00:420.00 ; set steps per mm
M566 X500.00 Y500.00 Z3.00 E120.00:40.00:120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X24000.00 Y24000.00 Z600.00 E1200.00:1200.00:1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z80.00 E250.00:250.00:250.00:250.00 ; set accelerations (mm/s^2)
M906 X1500 Y1500 Z750 E800:800:800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S120 ; Set idle timeout; Axis Limits
M208 X-41.1 Y0 Z0 S1 ; set axis minima
M208 X588 Y567 Z660 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop" ; configure sensorless endstop for low end on X (changed to switch)
M574 Y2 S1 p"ystop" ; configure sensorless endstop for high end on Y (changed to switch)
;M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M558 P8 C"^zprobe.in" H4 F900 T24000 ; set Z probe type to switch and the dive height + speeds
G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height
M557 X5:495 Y5:495 S54.4 ; define mesh grid
M376 H10; Heaters
M308 S7 P"duex.e4temp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin duex.e4temp
M950 H6 C"duex.fan4" T7 ; create chamber heater output on duex.fan4 and map it to sensor 0
M307 H6 B1 S1.00 D60 ; enable bang-bang mode for the chamber heater and set PWM limit
M141 H6 ; map chamber to heater 6
M143 H6 S150 ; set temperature limit for heater 6 to 150CM308 S0 P"bedtemp" Y"thermistor" T108500 B4092 A"Bedmat" ; configure sensor 0 as thermistor on pin bedtemp
M308 S6 P"duex.e5temp" Y"thermistor" T100000 B4725 C7.06e-8 A"Bedplate"
M950 H0 C"e0heat" T6 ; create bed heater output on e0heat and map it to sensor 6
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S135 ; set temperature limit for heater 0 to 135C
M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as thermocouple via CS pin spi.cs1
M950 H1 C"bedheat" T1 ; create nozzle heater output on bedheat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 2 as thermocouple via CS pin spi.cs2
M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S3 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 3 as thermistor on pin e0temp
M950 H3 C"duex.e2heat" T3 ; create nozzle heater output on duex.e2heat and map it to sensor 3
M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S4 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 4 as thermistor on pin e1temp
M950 H4 C"duex.e3heat" T4 ; create nozzle heater output on duex.e3heat and map it to sensor 4
M307 H4 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H2 S400 ; set max heater temp heater 2; Fans
M308 S5 P"duex.e6temp" Y"thermistor" T10200 A"WATER TEMP" ;water temp sensor
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 L1.0 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H0:2:6 L1.0 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan2" T5 Q500 ; create fan 2 on pin fan2 and set its frequency
M106 P2 S1 H5 L1.0 T30 ; set fan 2 value. Thermostatic control is turned on
M950 F3 C"duex.fan1" Q500 ; create fan 3 on pin duex.fan3 and set its frequency
M106 P3 S1 H7 L1.0 T30 ; set fan 2 value. Thermostatic control is turned on; Tools
M563 P0 S"Super volcano" D0 H1 F0 ; 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"V6" D1 H2 F0 ; define tool 1
G10 P1 X0 Y-60 Z-11.05 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
M563 P2 S"Cyclops" D2 H3 F0 ; define tool 2
G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets
G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C; Custom settings are not defined
M143 H0 P1 T0 A2 S130 C0 ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 130°C. Use Heater monitor 1 for it
M308 S6 P"duex.e5temp" Y"thermistor" T100000 B4725 C7.06e-8 A"Bedplate"; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue
M911 S22 R22 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
M501 ; USE CONFIG OVERRIDE VALUES; PS_ON relay triggers
M570 H0 P60 T10 S0 ; Allow a heat bed anomaly to persist for 10 seconds (P10)
; on the before raising a heater fault. Allow a 10C
; deviation from set point (T10) After 0 minutes of heater
; fault cancel the build (S0).M570 H1 P20 T10 S0 ; Allow a hot end anomaly to persist for 10 seconds (P10)
; on the before raising a heater fault. Allow a
; 10C deviation from set point (T10) After 0
; minute of heater fault cancel the build (S0).
M80 ;power on relay;tool change servo
M950 S0 C"duex.pwm5" Q50
M572 D1 S0.01 -
here is a sample of my start gcode
;Generated with Cura_SteamEngine 4.8.0
T1
M190 S70
M104 S240
M109 S240
M82 ;absolute extrusion mode
G28 ;Home
G29 S0 ; mesh bed compinsation
G1 Z15.0 F6000 ;Move the platform down 15mm
;Prime the extruder
G92 E0
G1 F200 E3
G92 E0
M141 S0
M83 ;relative extrusion mode
G1 F1500 E-0.5
;LAYER_COUNT:89
;LAYER:-7
M107
G0 F18000 X69.373 Y337.319 Z0.36
;TYPE:SUPPORT-INTERFACE
G1 F1500 E0.5
G3 X98.183 Y344.153 I6.806 J35.452 E5.47936 F675 -
Post your homing files, please.
You can use the </> tag to create a scrollable section of code right in your post - like this
this is line 1 this is line 2 this is line 3
Frederick
-
@fcwilt look at that. I learnt something new today
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Oct 29 2020 12:06:14 GMT-0600 (Central Standard Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-593 Y616 F10000 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X-593 ; home X axis G1 H1 Y616 ; home Y axis G1 X5 Y-5 F10000 ; go back a few mm G1 H1 X-593 F1000 ; move slowly to X axis endstop once more (second pass) G1 H1 Y616 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X5 Y5 F12000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Oct 29 2020 18:46:36 GMT-0600 (Central Standard Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-593 F10000 ; move quickly to X axis endstop and stop there (first pass) G1 X5 F10000 ; go back a few mm G1 H1 X-593 F1000 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Oct 29 2020 18:46:36 GMT-0600 (Central Standard Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y616 F10000 ; move quickly to Y axis endstop and stop there (first pass) G1 Y-5 F10000 ; go back a few mm G1 H1 Y616 F1000 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Oct 28 2020 15:43:06 GMT-0600 (Central Standard Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G90 ; absolute positioning G1 X5 Y5 F12000 ; go to first probe point G30 ; home Z by probing the bed
-
Thanks.
In your config.g file you have this:
G31 P500 X0 Y0 Z0 ;
What sort of probe do you have? The X, Y and Z values are rather unusual.
Frederick
-
@fcwilt
It's just a little micro switch.This is a tool changing machine so I gave the probe 0 offset and apply an individual offset to each tool.
It's not all configured yet. I just have one nozzle printing now.
-
@fcwilt
And I should be the one thanking you.I'm at a loss with this machine. Hopefully someone here can figure out how to make it dance for me
-
@jayson said in mesh bed compensation not compensating:
@fcwilt
It's just a little micro switch.This is a tool changing machine so I gave the probe 0 offset and apply an individual offset to each tool.
It's not all configured yet. I just have one nozzle printing now.
So the probe actually triggers at exactly Z=0?
Frederick
-
@fcwilt
The machine homes and probes without a hot end attached then when it starts printing it picks up a tool from the rack and uses that tools offsets.The nozzle I currently have configured hangs about 11mm below the switch when mounted. So T1 has a -11 mm z offset.
I believe that the e3d tool changer uses a similar method
-
@jayson said in mesh bed compensation not compensating:
about 11mm
This is going to need to be quite exact otherwise the nozzle will never touch the bed where you expect. Same goes for the XY offset.
Can you post a photo of your heightmap image?
M376 H10
You might need to eliminate that for now until you get things working and know how quickly you can actually taper off the compensation.
-
@phaedrux said in mesh bed compensation not compensating:
M376 H10
It set at 11.2 mm to make a good section of my bed useable.
I will take out that M376 and see if that helps.
thank you
-
@phaedrux
my bed is a little warped, needs some work but nothing bed compensation should handle it for now.Number of points: 100
Probe area: 2397.1 cm²
Maximum deviations: -0.270 / 0.581 mm
Mean error: 0.252 mm
RMS error: 0.184 mm -
For such a large bed you may need to increase the point density. 441 is the max number of points and you're only using 100. That can mean a large distance between points where interpolation has to guess what the bed height actually is. Combine that with XYZ offsets that aren't quite accurate and it's going to have a very hard time keeping the nozzle where it's supposed to be.
-
@phaedrux I took out that m376 and now it's working thank you so much!
Its not great but it is actually usable over my whole bed now.
Things are a bit temporary right now as I plan on changing most of this printer. as soon as it can print its own replacement parts I will rebuild it and maybe double my probing points.
I just don't want to wait that long for it to probe.... -
@jayson said in mesh bed compensation not compensating:
I just don't want to wait that long for it to probe....
Well if the bed is stable and things don't shift around too much you can save a detailed heightmap and load it instead of probing before each print.
G29 S1 to load saved map.
-
@phaedrux I might try G29 S1 but I have a removable magnetic bed. so if I have to take it off I will probably need to re-probe.
-
@jayson said in mesh bed compensation not compensating:
so if I have to take it off I will probably need to re-probe.
Maybe, maybe not. If it registers pretty much the same each time it should be ok. Only one way to find out for sure.
-
@jayson said in mesh bed compensation not compensating:
@phaedrux I might try G29 S1 but I have a removable magnetic bed. so if I have to take it off I will probably need to re-probe.
I have the BuildTak system and I use the same height map.
I do re-create it from time to time.
Frederick