Mini IR Probe
Can't always get the probe to work how I expect it to. Long story short. On a particular day, everything works great and I get the best prints I've ever gotten in my short 3D printing experience. But, most days I fight the probe. I find that if I follow David's(your) blog exactly as I do or redo the calibration, that after a successful calibration is complete, when I re-home all axes, that DWC will show a value in Z head position somewhere near to the new figure ( usually around 1.0) I entered into config.g after commanding G30 S1. This always ends in good prints. Problem is, most times whether just starting things up for the day or running into problems somewhere along the line, Z homes to 0 reading in DWC and that always results in nozzle dragging build plate. Haven't found a way to work around.
explain step by step how you are doing what you are doing including g-codes and what kind of bed surface you have…
Okay, Qdeathstar. Say I fire up machine to print something. Do a preheat on H.E and bed. Home X, Home Y. Home Z when @ temps. Check Z position in DWC.( At this point I know what I should be seeing for the Z reading in head position in DWC, which is usually a reading close to the figure I enter in my config,g after seeing the results of the G30 S1 command I ran in last calibration. Usually reads @ or near 1.0). I follow dc-42's directions to a T in his solutions blog for calibration If I'm not seeing the value I expect, M558 P1, G31 P500 Z1.0 I do the sheet of paper thing, G92 Z0, raise head,send G30 S1 to reprobe, enter new value in G31 command of config.g, re-home, recheck Z value in head position. If it's reading 0. It's a no go. nozzle drags. If I go thru the calibration enough times it seems to finally work, but I can't keep going thru that.
G30 S-1 ????? Not G30 S1
Typo on my part. I usually paste the commands directly from David's blog when I go back thru the calibration steps.
What bed surface are you using?
Glass, But I'm receiving some PEI today and will install tonight.
Glass, But I'm receiving some PEI today and will install tonight.
Be sure to paint the back of the PEI black first before you install it, see https://miscsolutions.wordpress.com/2015/11/30/print-bed-surface-roundup/.
Going to do that and cure it in the oven.
I now have the PEI installed and am currently trying to rerun the calibration per David's blog, But after sending G30 S-1 I'm seeing a Z parameter that is above the 0.5-2.5 range.(2.9) More head scratching.
2.9mm trigger height is OK if it is consistent. Black-backed thin PEI sheet will give a higher trigger height than glass does.
Thanks dc42. I'll work w/ it some more when I get home.
Getting discouraged w/ the mini probe. Adding PEI has only complicated matters it' seems. I know it works, I've had it working(on glass). The one thing I do know is when it works right and I home Z, I don't see "0" in the Z head position of DWC. It's usually reads something close to what I entered in the G31. At least it did when I had it working on glass( that value was usually near 1.0). Now it's always showing zero and ends up either too close or to far off bed. Acts real weird i.e. hesitant movement, grinding filament. Move, stop, move stop.It's not actually dragging on the bed or I'd be pissed about scarring the brand new PEI. I could understand the hesitation if it was dragging bad. Anyway, I really don' know what to try from here. I did order another piece of glass yesterday in case I can't resolve.
I don't think you've told us what geometry your printer is, but if you are using the probe to home Z then I guess it's not a delta. Your homez.g file and homeall.g file probably end with a G30 command, and if so then it's correct the when you home Z, it leaves the probe at the trigger height. If you really want to put the nozzle at Z=0 after homing, you can put G1 Z0 after the G30 command. But it isn't necessary because the purpose of homing is to establish a known position, which doesn't have to be zero.
Perhaps you should post your config.g, homez.g and homeall.g files.
deckingman last edited by
Just to expand on what David has said. When using the probe to home Z, what happens is that it will lower the probe (or raise the bed) until it triggers. When that happens the machine knows that Z=0 is whatever you've set the trigger height to be but it won't move to Z=0 unless and until it is told to do so. At that point in time, your Z height should be reported as your probe trigger height. If you then send a G1 Z 0.0 command, the probe should end up just touching the bed. As David has said, it isn't normally necessary to do this as the first line of the gcode file should have a line G1 Z0.300 (or whatever your layer height is set to be). This is an absolute position (or should be because your slicer should be set to use absolute coordinates)- i.e. it will be 0.300 mm from Z=0 not 0.300 mm from wherever the probe happens to be.
It's a Core XY build and no, I don't want to put the nozzle at Z=0 after homing. My last re-calibration gave me a trigger height of 2.76. After entering it and saving it in config.g, then doing a re-home, my Z height in DWC reports being at "0" even tho I can plainly see that it is physically at the trigger height. Whenever I've been able to get things to work right, that Z height is reported at or being near the trigger height I entered earlier, not "0". Not sure what is going on or how to resolve. I do really appreciate you help though.
Please post your config.g and homing files.
Will do when I get back home. @ work.
deckingman last edited by
It sounds to me like you must have a G92 Z0 somewhere after your G30 in your homing file(s) but I expect we'll be able to see when you post the files.
Here's my files…...; CoreXY sample config file for dc42 Duet firmware
M111 S0 ; Debug off
M550 PDBot CoreXY ; Machine name (can be anything you like)
M551 Preprap ; Machine password (used for FTP connections)
;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
;*** Wifi Networking
M552 S1 ; Enable WiFi
M555 P2 ; Set output to look like Marlin
M575 P1 B57600 S1 ; Comms parameters for PanelDue
; Machine configuration
M569 P0 S0 ; Drive 0 goes forwards (change to S0 to reverse it)
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 goes forwards
M569 P4 S1 ; Drive 4 goes forwards
; If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file
M574 X1 Y2 Z0 S0 ; set endstop configuration (X and Y and endstops only, at low end, active high)
M667 S1 ; set CoreXY mode
M350 X16 Y16 Z16 E16 I1 ; Set 16x microstepping with interpolation
M92 X80 Y80 Z400 ; Set axis steps/mm
M92 E418.5:418.5 ; Set extruder steps/mm
M906 X1000 Y1000 Z1000 E1000 ; Set motor currents (mA)
M201 X1000 Y1000 Z100 E4000 ; Accelerations (mm/s^2)
M203 X30000 Y30000 Z300 E1500 ; Maximum speeds (mm/min)
M566 X500 Y500 Z24 E300 ; Maximum jerk speeds mm/minute
M208 X300 Y180 Z300 ; set axis maxima (adjust to suit your machine)
M208 X0 Y0 Z0 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
; Z probe
M558 P1 X0 Y0 Z1 ; Analog Z probe, also used for homing the Z axis
G31 Z2.89 P500 S1 ; Set the probe height and threshold (put your own values here)
; The following M557 commands are not needed if you are using a bed.g file to perform bed compensation
;*** Adjust the XY coordinates in the following M557 commands to suit your build and the position of the Z probe
M557 P0 X30 Y25 ; Four...
M557 P1 X30 Y155 ; ...probe points...
M557 P2 X250 Y155 ; ...for bed...
M557 P3 X250 Y25 ; ...levelling
;M557 P4 X141 Y82.5 ; 5th probe point for levelling
; Thermistors and heaters
;*** You can use S and B parameters to define the parameters of the thermistors you are using
M305 P0 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
M305 P1 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
M305 P2 T100000 B3974 R4700 H0 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
M301 H1 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 0
M301 H2 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 1
M570 S120 ; Increase to allow extra heating time if needed
M307 H0 A142 C293.5 D5.4 B0
M307 H1 A588.5 C242.9 D6.7 B0
M106 P1 T45 H1
M106 P0 S0
; Tool definition
M563 P0 D0 H1 ; Define tool 0
G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
;*** If you have a dual-nozzle build, un-comment the following 3 lines
;M563 P1 D1 H2 ; Define tool 1
;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures
;*** If you are using axis compensation, put the figures in the following command
M556 S78 X0 Y0 Z0 ; Axis compensation here
T0 ; select first hot end
Homeall:; homeall file for use with dc42 Duet firmware on CoreXY printers
; This file assumes the endstop switches are at the low end of each axis.
; Reverse the X and Y movement for high-end switches.
; Adjust the bed upper and lower limits in config.g (M208 commands) to get the correct homing positions
G91 ; relative mode
G1 S1 X-300 F3000 ; course home X
G1 X4 F600 ; move away from endstop
G1 S1 X-15 ; fine home X
G1 X10 F2000
G1 S1 Y180 F3000 ; course home Y
G1 Y4 F600 ; move away from endstop
G1 S1 Y10 ; fine home Y
G1 Y-175 F2000
G1 S1 Z-350 F200 ; Course home Z
G1 Z2 F50 ; move away from endstops
G1 S1 Z-10 ; fine home Z
G1 Z0 F200
; If you are using a microswitch for Z homing, insert similar code for the Z axis here,
; but use lower feed rates suitable for your Z axis.
G90 ; back to absolute mode
; If you homed the Z axis using an endstop switch, you can insert a G92 command here to correct the height.
; The following code assumes you are using a Z probe to do Z homing. Remove it if you are using a microswitch.
; Adjust the XY coordinates in the following to place the Z probe over a suitable spot,
; preferably near the centre of the bed if your Z probe supports that
;G1 X100 Y100 F2000
; This file leaves the head at the zprobe trigger height so that you can slip a piece of paper under it and then do G0 Z0 to check the height.
; If you prefer to send the printer to X0Y0Z0, un-comment the following lines
;G1 X0 Y0 F5000
HomeX; X axis homing file for dc42 Duet firmware
G1 S1 X-300 F3000
G1 X4 F600
G1 S1 X-15
G1 X15 F2000
HomeY; Omerod 2 Y homing file for dc42 Duet firmware
G1 S1 Y180 F3000
G1 Y4 F600
G1 S1 Y10
G1 Y-175 F2000
G1 S1 Z-320 F200
G1 Z2 F50
G1 S1 Z-10
G1 Z0 F200
Your homing files are set up to use a Z microswitch, not the IR probe. So your height error is probably because the microswitch doesn't trigger at exactly Z=0.
If you want to continue to use a microswitch for homing, you should insert a G92 Z### command where indicated in homeall.g, where ### is the height at which the homing switch triggers. Ditto for the homez.g file. Then to use the IR probe to get an accurate Z=0 distance just before printing, set up a macro containing this:
G1 X100 Y100
and run it before you print. Change X100 Y100 to the bed coordinates you want to probe, normally the centre of the bed.
Alternatively, use the Z probe to do Z homing, by using the above code in homeall.g and homez.g.
Thanks for your help David. Didn't realize my homing files were setup that way. I don't want to use microswitch for Z homing at all, so let me see if I can get things straightened out!
That did it . Thanks.