Can't seem to set where the bed should be when print starts
-
Hi: I have been trying for a week now, and clearly do not understand Gcode well enough or the concept clearly enough to set the bed height for my duet2 wifi to correctly print.
I believe I have read everything in the documentation, but my bed ends up far too low on z to print.
X,Y,Z all home successfully.
My BL Touch is triggering properly and everything looks fine while it is starting.When the printer starts printing, the bed is nowhere near the correct level to print. I looks to be 25-35 mm too far from the nozzle.
This is the bed file content
; bed.g
; called to perform automatic bed compensation via G32
;
; generated by RepRapFirmware Configuration Tool v3.3.14 on Sat Nov 12 2022 13:27:36 GMT-0500 (Eastern Standard Time)
M561 ; clear any bed transform
G29 ; probe the bed and enable compensationThis is the config file
; Configuration file for Duet WiFi (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.14 on Sat Nov 12 2022 13:27:36 GMT-0500 (Eastern Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Ender 5 Pro" ; set printer name; Network
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 forwards
M569 P1 S0 ; physical drive 1 goes forwards
M569 P2 S0 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E420.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X220 Y220 Z300 S1 ; set axis maxima; Endstops
M574 X2 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin xstop
M574 Y2 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X15:215 Y15:195 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
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 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; 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 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 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; Custom settings are not defined
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power lossThis is homeall
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.3.14 on Sat Nov 12 2022 13:27:37 GMT-0500 (Eastern Standard Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X225 Y225 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X-5 Y-5 F6000 ; go back a few mm
G1 H1 X225 Y225 F360 ; move slowly to X and Y axis endstops once more (second pass)
G90 ; absolute positioning
G1 X15 Y15 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 Z5 F100 ; lift Z relative to current position
G90 ; absolute positioningThis is homez
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v3.3.14 on Sat Nov 12 2022 13:27:37 GMT-0500 (Eastern Standard Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lower Z relative to current position
G90 ; absolute positioning
G1 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 Z-5 F100 ; lift Z relative to current position
G90 ; absolute positioningI would appreciate input on which file(s) need to be reviewed and which documentation is the best source to correct what I have missed. I will find the error if I can get some ideal of which file it is in.
Thanks
-
@TimV-0 said in Can't seem to set where the bed should be when print starts:
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X220 Y220 Z300 S1 ; set axis maximaYou have S1 on both of those. Snnn 0 = set axis maximum (default), 1 = set axis minimum
So your homing is going to be a bit confused. Change the S1 on the second line to S0.
Also please post your slicer start gcode.
-
G28 ;Home
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis upThanks for spotting the S1
-
@TimV-0 Reset the 2nd S1 to S0
Z does not stop when the BL Touch touches the bed. It keeps going. -
Have a run through this: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing
-
@Phaedrux Thanks - will do. There are too many documents on this subject imho
-
@TimV-0 When I fixed the last problem with the double S1's I didn't realize that the probe was trying to trigger while off the bed on the minimum side. I adjusted the x position to 35 and now the probe is triggering properly.
It triggers repeatably at 2.5 mm on the probe and then lowers to exactly 7.5 according to the tool position display.
Perhaps I should try a test print?
-
@TimV-0 Finished the last paragraph in the document and the probe is triggering reliably. Tool position is consistent at 2.875
-
@TimV-0 Sorry, I bet you wish I would read the whole document before applying one sentence and reporting back. I'll try
-
@TimV-0
I’m still fighting with this. I figured out that my bed kept climbing because the bltouch was off the left side of the plateI have gone through the document several times and I end up in the same place.
I have brought up the bed and levelled it with a piece of paper until it is consistently perfect. I set the z height to zero, drop the bed by 10mm, issue the g s-1 command and I end up with 2.5mm. I’ve put that in my config.g file, and when I start a print, the filament is falling in thin air to the bed.
I’ve tried to adjust z by microstepping, but since the print has started, I can’t adjust z through DWC, since it needs to be homed again.
-
Can you share a small sliced gcode file so we can see what your slicer is doing at the start of a print? Please also post your config.g and homing files if they have changed.
-
-
What does your heightmap look like?
When are you running bed.g?
When do you load the heightmap?
Maybe you aren't using mesh compensation at all.
After doing a homeall, can you jog the nozzle to touch the bed? Does the Z axis position show 0 when it's touching the bed?
If you tell the Z axis to move 10mm, does it actually move 10mm if you measure it? In otherwords, are you sure your Z axis steps per mm are correct? Or is the Z axis moving smoothly without missed steps or binding?
I don't see anything obvious from your gcode files. Perhaps you could record a video showing from power on, to starting a print.
-
@Phaedrux
Once more for good luck.
From the Test and Calibrate Document
HomeX Ok
HomeY Ok
HomeZ Ok After G30 is run, bed raises until bltouch triggers. Bed stops raising at 2.73mm from nozzleCalibrate the Z probe trigger height
Issue M561 - done
Center nozzle at center of bed - done
Z is still reporting height = 2.73mm
Raise the bed to remove the 2.73mm
Bed not trapping paper
Issue M564 S0
Nozzle contacts paper at -0.4mm
Nozzle stops paper at -0.45mm
Issue G92 S0 - Confirm bed height indicates 0.00
Lowered Bed by 5mm
Measured distance to confirm 5mm
G30 S-1 stopped at 2.73
G31 P500 X-45 Y0 Z2.73 set in config.g
edited G31 in config.g.bakReset the duet 2 board.
Position indicator says Z 0.00
That is not true. after the board reset, the nozzle is 10mm above the bed
HomeX -- ok
HomeY -- ok
HomeZ -- okTool position reports Z at 2.73mm
I don't want to do anything else on my own until I understand for sure what is happening.
Is this not the result of what I set in the G31 command in config.g?Ok, I am really confused now. I started a print job and it is printing perfectly. I have a good, even first layer.
-
@TimV-0 Sorry, it is not perfect. I think I need to run the autobed levelling to set up the heightmap properly. I just hope it doesn't undo what I have done
-
@TimV-0 That all sounds accurate. After a power cycle the position is lost, so having to rehome is normal.
The position seems to be reporting correctly after homing.
You are using G31 and the procedure to find the trigger height value correctly.
Home the printer and then send G29 to create a mesh. (or G32, since your bed.g just contains G29)
Seeing what the heightmap looks like would be a good next step.
-
@Phaedrux Thanks for all of your help and for sticking with me.
I will do the auto bed levelling next. I did look at the height map that I had and it looks terrible. I am currently printing a case for the duet 2 board to make it a little safer and hopefully protect the actual wiring. I know I should have done the auto bed levelling first. |I had some quality issues and some print lifting. I should have really cleaned the print surface first. Just because it's brand new doesn't mean it is ready to go. I will also need to go over the extruder setup as I can see from the print that it is no set properly.
I did add a dual gear extruder, but I am thinking that maybe I should stack it on the carriage and get rid of the long bowden tube. Any thoughts or cautions I should know about?
-
@TimV-0 said in Can't seem to set where the bed should be when print starts:
Any thoughts or cautions I should know about?
Just follow the principle of one thing at a time.
-
@Phaedrux
Always good solid advice. Most of my issues with why I wrote in for help are related to no knowing which problem was creating which challenge. -
@TimV-0 Hi: I sent out the G29 last night to generate a heightmap.
It sampled lots of spots on the bed and I got no feedback.I tried printing today and I have a small forest of PLA that I wasn't expecting.
I clicked on the heightmap and it is empty. I'm sure the bed is not perfectly flat.
Is there somewhere I should have saved it when it finished? I think I sent an M500 because I thought I should.