I re-cut one of my hardboard struts this evening, after triple-checking my toolpaths and tool settings in Estlcam because I wanted a total depth of 3.5mm and each pass to be 2mm deep. During the cut, I quickly grew suspicious that something was off, and it turns out that my machine was cutting to a depth of 7 mm below the cutting surface. Nothing I found in some forum searches seems to match what’s happening in my situation.
I have a couple hypotheses as to why this might be happening, but I assume there’s a 95%+ chance I did something wrong somewhere instead, so… let’s see if I can cover enough relevant information for troubleshooting:
I am running an SKR Pro 1.2, purchased from Amazon. I flashed the board with the V1CNC_SkrPro_DualLR_2209-2.1.1 V515 release firmware. 2209 stepper drivers, UART mode with no other jumpers.
I am using Estlcam 11.245_A_64. The following are as many settings as I can think of to capture. I tried to set everything up per the docs to start with, and have only changed the depth per pass.
1/8" upcut endmill:
All toolpaths look like this, I don’t specify toolpath depth right away. I am not using a finishing pass for the struts:
When saving the CNC program:
When I load the gcode into CNCjs, I see this in the “G-code” section:
Here is the start of the gcode for the strut I cut this evening:
… and the whole gcode file for the strut:
front_strut_cut_full_no_finish.gcode (89.7 KB)
Measured cut depth (one example, it is within .1mm of 7mm across the entire cut):
My workflow, after securing the hardboard to the MDF with screws and powering on the LR3:
- Manually drive the router to the starting X and Y location;
- Manually home Z, since it seems like the probing doesn’t work without that;
- Usually manually send G92 X0 Y0, even though it’s in my gcode;
- Upload the gcode file to CNCjs;
- Hit play in CNCjs;
- Hit play to resume in CNCjs when it pauses for “Attach Probe”;
- Connect the probe’s clip to the router bit;
- Click the display button to start the Z probe;
- Once the bit hits the plate resting on the cutting surface, the gantry moves up 20mm and the program pauses (I am aware 20mm might be a little far, but while it’s on the floor, this makes it easier to release the clip);
- Disconnect the clip and stow the probe;
- Visually double-check that the router is where I want it to be in X and Y;
- Slide the floating dust shoe body onto its mount and release the linear rail truck;
- Start the router;
- Start the vacuum;
- Hit play to resume in CNCjs;
- Click the display button to start cutting.
As far as the machine goes:
- It measured square to within 1/16" with a dot test before doing any cutting.
- All axes home as expected, and all endstops work properly.
- The Z lead screws are both lubricated.
- Grub screws are all tight and have been double-checked.
- The router is secure in its mount.
Things I don’t have/haven’t done:
- Sitting here a few hours later, I realize that I probably ought to do a simple Z movement test and measure whether the gantry moves up/down by the specified amount, although visually it seemed to move appropriately in pre-crown testing;
- I don’t have temperature strips on my stepper motors so I don’t know how hot they are running, but I haven’t changed anything in the firmware as far as stepper current goes;
- There is no G90 at the very beginning of my gcode, in case that matters;
So, what boneheaded mistake/s have I made, and/or what other information is needed (other than that Z movement test to check if the steppers are moving the right number of steps)?