Ok, first off… I know there are 1000 threads for step issues. Before I get sent to search for one, PLEASE hear me out.
I’ve been running an Arduino / GShield with no issues on a 1000x1000 xcarve. I have upgraded the belts to 9mm and added stiffeners / risers, all from TBD CNC. As my next planned upgrade, I built the Demon CNC controller. I did substitute DM542 drivers for the TB6600.
After upgrading the belts/adding stiffening mods, I recalibrated everything, jobs were running better than ever. Zero play in the y axis, able to make much deeper cuts with no issues. After putting together the demon controller, I can only determine that it’s demon possessed
Every job I run, no matter the speed, size of the job, bit size, depth of cut, material, etc, The bit is traveling EXACTLY 1.5mm + on the x axis, and 3mm+on the Y axis by the end of the job. If I run a 4 hour job with .5mm depth per pass, that 1.5mm and 3mm are spread out over the entire job. If I run a 5 minute job with 1.5mm depth per pass and 2 passes, it’s much more noticeable.
I’ve tested the following:
- Changing depth per pass makes no difference. Even if I run the job with zero load (bit 2cm above the workpiece) it still ends up off by exactly 1.5mm and 3mm.
-Adjusting the belt tension from “oh my god it’s about to break” all the way to “this belt is about to fall off entirely” makes no difference.
-I’ve tried 1/2, 1/4, 1/8 microstepping. no difference
-I’ve tried with holding current at 100% and at 50%, no difference
-Tried changing the current output on the DM542’s, no difference.
-Tried 3 different power supplies (currently using a 24v, 400w power supply) and have adjusted the output to all extremes, no difference
-confirmed all screws are tight on pulleys, v-wheels are tight enough to not have any play, but loose enough that I can move smoothly by hand with the belt disconnected
-I’ve swapped the stepper drivers around, and no matter which axis I put them on, I still end up exactly 1.5mm + X and 3mm + Y
-I can manually jog the machine all day long and it always returns to exactly the same spot (I’ve tested 250mm moves, starting at the center and going in all directions in the square. did this for 20 minutes, and no variance)
Also note: when I reconnect everything back to the GShield, all works as expected. And I’m using the same Arduino for both, so it doesn’t appear to be anything with GRBL settings, or anything mechanical? Is there a hidden setting in easel I don’t know about?
I’m at a complete loss. I’m ordering the TB6600 to see if that’s the issue, but wanted to see if anyone else had experienced this? It’s almost as if there’s a 1.5mm and 3mm variance being added to the Gcode, but I can’t figure out why or how.
Any help or advice is greatly appreciated, as I now have about 20 hours in troubleshooting with nothing to show for it but a bunch of busted jobs.