I replaced the controller board in my Monoprice Select Mini with an Arduino/Ramps setup and compiled an uploaded Marlin 1.1.0-RC8 to run it. I've got most everything calibrated and working with one exception.
I tell the printer to home for xyz and then level my bed with a piece of paper then start a print and the nozzle consistently drops too far down into the bed and nothing can extrude. If I adjust the bed and put 1-2mm gap between the nozzle and bed then it prints fine.
I can't find anything in Marlin to adjust for this and I'm kind of stumped. I'm printing the original cat gcode that came with the printer that should just work fine as it always has and shouldn't have anything that a slicer would put in there to screw things up.
Can anyone point me in the right direction?
This is the output of M503
Send: M503 Recv: echo:Steps per unit: Recv: echo: M92 X93.00 Y93.00 Z1097.50 E99.00 Recv: echo:Maximum feedrates (mm/s): Recv: echo: M203 X300.00 Y300.00 Z5.00 E25.00 Recv: echo:Maximum Acceleration (mm/s2): Recv: echo: M201 X3000 Y3000 Z100 E10000 Recv: echo:Accelerations: P=printing, R=retract and T=travel Recv: echo: M204 P3000.00 R3000.00 T3000.00 Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s) Recv: echo: M205 S0.00 T0.00 B20000 X20.00 Y20.00 Z0.40 E5.00 Recv: echo:Home offset (mm) Recv: echo: M206 X0.00 Y0.00 Z0.00 Recv: echo:Material heatup parameters: Recv: echo: M145 S0 H180 B70 F255 Recv: M145 S1 H240 B110 F0 Recv: echo:PID settings: Recv: echo: M301 P26.15 I2.74 D62.35 Recv: echo: M304 P231.09 I45.21 D295.34 Recv: echo:Filament settings: Disabled Recv: echo: M200 D3.00 Recv: echo: M200 D0 Recv: ok
I also wanted to test whether the nozzle is actually moving closer. I did a G28 and manually put a piece of paper's width gap between the nozzle and the bed at all points. Then I started a print with no filament but with the sheet between the nozzle and bed. When it got to temp it homed all the axis and moved the nozzle to the first position. I would expect the paper to maintain the same gap but it tightly presses into the paper. The first gcode move that includes the Z before extruding is :
G0 F3600 X42.228 Y46.985 Z0.3
Which you would expect would put even more space between the nozzle and bed for the first .3 layer of filament but it isn't.
I printed directly from the SD Card to hopefully rule out Octoprint running gcode before the print so I really think the culprit is Marlin at this point.
If nozzle sets lower than it should, after heating up, then you may need to calibrate with heater turned on.
Another (although less likely) reason can be an incorrect Z steps number. However, if the print, after adjusting the first line height, does well, this should not be the case.
Fast track solution is to use
M206 (something like
M206 Z0.3) command to adjust nozzle offset, in your case Z position. This does not fix the root cause but should allow you to mitigate the problem.