Mesh Compensation
-
That start script in the slicer was setup with some advice here back in the day. If it's no good I'll change it.
My probe offset is set and checked pretty carefully. It's always been consistent and reliable, but I've just fitted a new hot end that required me to adjust the mount to get the bottom of the IR sensor board close to 1.5mm above the tip of the nozzle.
Here we go:
([url=https://imgur.com/lhDZMzc][img]http://i.imgur.com/lhDZMzc.png[/img][/url]
)
; Configuration file for Duet WiFi
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Sat Oct 22 2016 18:28:19 GMT+1100 (AUS Eastern Daylight Time); General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Network
M550 P"Zortrax M200" ; Set machine name
M552 S1 ; Enable network and acquire dynamic address via DHCP; Drives
M584 X0 Y1 Z2 E3 ; Set drive mapping
M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes backwards
M569 P3 S1 ; Drive 3 goes forwards
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping without interpolation
M92 X80 Y80 Z800 E118 ; Set steps per mm
M566 X1600 Y1600 Z12 E800 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000 Y18000 Z1200 E8000 ; Set maximum speeds (mm/min)
M201 X1200 Y1200 Z20 E1200 ; Set accelerations (mm/s^2)
M906 X1100 Y1100 Z800 E500 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Endstops
M574 Z0 S0 ; Define active low and unused microswitches
M574 X1 Y1 S1 ; Define active high microswitches
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X195 Y195 Z175 S0 ; Set axis maxima; Z-Probe
M558 P1 X0 Y0 Z1 H5 F600 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
G31 P500 X0 Y0 Z2.465 ; Set Z probe trigger value, offset and trigger height
M557 X20:180 Y20:180 S40; Heaters
M143 S280 ; Set maximum extruder temperature to 280C
M143 H0 S140 ; Set maximum bed temperature to 140C
M305 P0 T100000 B4000 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 0
M305 P1 X200 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 200
M307 H0 A144.9 C625.3 D1.0 B0
M307 H1 A892.1 C396.5 D6.4 V24.3 B0; Tools
M563 P0 D0 H1 ; Define tool 0
G10 P0 X0 Y0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
T0; Fans
M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on; Custom settings are not configured
-
@Corexy said in Mesh Compensation:
M558 P1 X0 Y0 Z1 H5 F600 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
M557 X20:180 Y20:180 S40depending on your bed S40 is to large to be effective.
if you dont have a probe? how do you do mesh calibration? manually?
-
I have the mini IR probe.
My bed is 195x195 square build area (the actual plate is 240x240 but it can't all be reached).
Mate I don't even know what S40 means, so if you don't mind telling me what you'd put in your bed.g, config.g and start script, I'll take your word for it and appreciate your help.
Cheers again,
Neil.
-
@Corexy said in Mesh Compensation:
G31 P500 X0 Y0
ok you need to configure the probe position.
X and Y is the offset of the probe from the nozzle. X postive is to the your Y positive is behing. Without this your mesh will be inaccurate.
M557 X20:180 Y20:180 S40
change S40 to S15 or S10
M574 Z0 S0 ; Define active low and unused microswitches
change to
M574 Z1 S2 ; set endstops controlled by probepost your homing scripts. they will prob be wrong.
-
I should point out that x and y have homing switches...the probe only does the bed level.
Does that change anything?
Thanks for helping with this. What's crazy is that despite me using this thing for years with little tuning/adjustment, I knock out some pretty good prints.
-
@Corexy said in Mesh Compensation:
I should point out that x and y have homing switches...the probe only does the bed level.
Does that change anything?no
-
OK,
So my nozzle/probe offsets are:
X 4mm
Y 28mmSo my M557 becomes:
M557 X4:195 Y28:195 S10 (?)
Just a bit worried that the fans might bang into some hardware with these offsets. It's a tight fit in there.
My slicer start script:
G28 (home all?)
G29 (mesh probe?)Nothing else at all? I should really tack the purge/wipe I was asking about in my other thread on here while I'm at it?
Any changes to bed.g?
Homing files...
homeall.g:
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:58 GMT+1100 (Australian Eastern Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-200 Y-200 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X5 Y5 F6000 ; go back a few mm
G1 H1 X-200 Y-200 F360 ; move slowly to X and Y axis endstops once more (second pass)
G90 ; absolute positioning
G1 H2 X97.5 Y97.5 F6000 ; go to first bed probe point and home Z
G30 ; home Z by probing the bed; Uncomment the following lines to lift Z after probing
G91 ; relative positioning
G1 S2 Z5 F100 ; lift Z relative to current position
G90 ; absolute positioninghomex.g:
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:59 GMT+1100 (Australian Eastern Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-200 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X5 F6000 ; go back a few mm
G1 H1 X-200 F360 ; move slowly to X axis endstop once more (second pass)
G1 H2 Z-5 F6000 ; lower Z again
G90 ; absolute positioninghomey.g:
; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:59 GMT+1100 (Australian Eastern Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 Y-200 F1800 ; move quickly to Y axis endstop and stop there (first pass)
G1 H2 Y5 F6000 ; go back a few mm
G1 H1 Y-200 F360 ; move slowly to Y axis endstop once more (second pass)
G1 H2 Z-5 F6000 ; lower Z again
G90 ; absolute positioninghomez.g:
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:59 GMT+1100 (Australian Eastern Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G90 ; absolute positioning
G1 H2 X15 Y15 F6000 ; go to first probe point
G30 ; home Z by probing the bed; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 H2 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioningI do suspect my files are messy. I come on here asking things and get a line to add here and there. Would really love to have an expert here with me in front of the thing for a day...
-
@Corexy said in Mesh Compensation:
M557 X4:195 Y28:195 S10 (?)
no you change the probe offset in the G31 command like i posted.
Nothing else at all? I should really tack the purge/wipe I was asking about in my other thread on here while I'm at it?
lets get your mesh working first.
Any changes to bed.g?
bed.g is for G32 command which you are not using.
your homing files look fine
-
Ok, sorry my mistake
X and Y is the offset of the probe from the nozzle. X postive is to the your Y positive is behind. Without this your mesh will be inaccurate.
Not quite sure what you mean here...you mean that I enter a positive value offset if the probe is further "along" the axis than the nozzle tip, and negative if it is "behind"?
Thank you for your patience by the way.
-
that was posted regarding your
G31 P500 X0 Y0
command.that command means the probe is at the same place as the nozzle is, which it is not as you are using a ir probe.
so you need to tell the duet where the ir senssor actualy is while assuming that the nozzle is at 0,0.
post a picture of your carriage.
-
@Veti said in Mesh Compensation:
that was posted regarding your
G31 P500 X0 Y0
command.that command means the probe is at the same place as the nozzle is, which it is not as you are using a ir probe.
so you need to tell the duet where the ir senssor actualy is while assuming that the nozzle is at 0,0.
post a picture of your carriage.
OK, so I just went out there and moved the nozzle around the absolute outside of the build area via the touchscreen, and the nozzle travels the absolute limits of the build area and obstacles as it is. If I add these offsets is there any chance I'll bump into things, or should I do something to avoid that.
-
try it with the hand on the power switch.
but if i remember correctly the offset does not change the mesh coordinates, as they are absolute nozzle parameter.
-
also
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X195 Y195 Z175 S0 ; Set axis maximathis is a hard limit for your axis. if at X195 Y195 there is no problem. then you can not cause a problem with the mesh leveling.
-
Yes, I'll keep the switch handy ha ha. But It still must home the axis' against the limit switches, so yes no offset was probably only messing up my mesh.
G31 P500 X2 Y28 Z2.465
I measured it a bit more accurately. So I run G29 and see what happens??
-
@Corexy
yes -
M557 X20:180 Y20:180 S10
Ok, it's ticking over happily with the mesh (cold build plate), but it's going to take a lot longer with these 10mm intervals. Which is fine if it will give me a better first layer.
To probe the entire (195x195) bed, should I take it out to the edges?
M557 X5:190 Y5:190 S10
And I'm also thinking should I:
- Warm build plate
- Home all
- Mesh probe (each time, as different bed temps will make different mesh)
- Purge/wipe
- Start print
It would be really good to do the mesh probe with a cold nozzle as the ooze is a pain and I'm using an IR probe anyway. I don't mind at all the mesh taking a long time if I'm not picking ooze off the nozzle with tweezers the whole time.
-
@Corexy said in Mesh Compensation:
Ok, it's ticking over happily with the mesh (cold build plate), but it's going to take a lot longer with these 10mm intervals. Which is fine if it will give me a better first layer.
To probe the entire (195x195) bed, should I take it out to the edges?
M557 X5:190 Y5:190 S10post the picture of the mesh grid.
going to a higher spacing depends on the quality of your build plate. the wider the spacing the less details it has to correct with.
so if there are no irregulaties, you can get away with a wider spacing.with the bigger mesh: if your Y offset is 28 to probe at 5 it would need to move to Y-23, which is not allowed. for X it would work
-
Yes, I can't "reclaim" the Y offset...mechanical obstacles. Makes a case for ally extrusion chassis in my next printer, built well oversize to the build plate.
Running this now regardless, and it seems to be just doing what it can reach.
M557 X5:190 Y5:190 S10
Mate I really appreciate this help so much, but it's late now and the other half wants me to give it a rest for tonight.
I'll have another look in the morning, but this has been a win so far.
Cheers and thanks!
-
that picture suggests that the surface is not suited very well for ir probing.
see
https://miscsolutions.wordpress.com/mini-height-sensor-board/ -
OK, really?
It's the original Printbite, supposedly OK. It does give very consistent readings when calibrating the Z height.
I have wondered about those BL touch probes, are they better?
I would really like to keep the Printbite, just because I don't have to replace it. That surface is 3 years old and going strong.
Are there any other surfaces that are similar out there that do work well with IR? I have really liked this probe to be honest, but the Printbite has been tricky with ABS.
I'll see how it performs with this new mesh tomorrow.