I’ve gotten the FrankenLaser so that everything moves in the correct direction and the laser will fire (all under LightBurn control).
BUT, the distances that the machine moves are not even close to the distances I want. I’ve been through all the posts I could find on the forum for getting accurate movement, but can’t quite get my head around applying it all with the Jackpot board.
I have 16 tooth stepper pulleys and 6mm wide belt. The steppers are the ones from V1 and I think they are 200 steps per revolution, but I’m not sure what happens when microstepping is enabled.
Does the steps per revolution get multiplied by the microstep count?
In the config.yaml file the current values use microstep=8 and the steps/mm is set at 68. What I got was a distance of 270 when I commanded 100. (or something like that, I’ve changed a few setting using the correction formula posted elsewhere).
Is there a way to send step count commands rather than distance commands? I’d like to test the step/revolution independent of the distance value, just to see what my steppers are actually doing.
In reviewing the setup of this machine I also realized that I didn’t check the distances on the JL-1 installation of the FluidNC Pen/laser board I need to go back and do that.
So, please, help me understand the interaction between microsteps and steps per revolution of the motor, and secondarily, how to verify the steps per revolution of the motor. Then what do I need to put in the config file?
You have a microstep setting and a steps per mm setting for each stepper. If you can tell us what yours are set at and how far they actually move vs what you asked for we can tell you the right settings.
For example, asked for 100mm, got 80mm on the X axis.
When I was having unpredictable stepper movement after making changes to the config I found in the Fluidnc docs or wiki that you have to turn on the power before you plug in the USB or the drivers don’t load correctly.
Belt width doesn’t matter for this calculation, but the pitch of the belt teeth is important. I believe all the belts sold at V1 are GT2, so 2mm tooth pich.
Here’s how the math breaks down for 8x microstepping:
8x microstepping means that the controller can subdivide a single step into 8 microsteps, so with a 200 step motor and 8x microstepping, you’ll have 1600 steps per revolution.
Then, with a 16-tooth GT2 pulley, you have 16 teeth in one revolution, and each tooth moves 2 mm, so that’s 32 mm per revolution.
Finally, divide 1600 steps (in 1 revolution) by 32 mm (in one revoution) to get 50 steps per mm.
Edit to add - some folks recommend changing your steps per mm based on doing a commanded move and adjusting for what you actually get. I don’t like doing that because there shouldn’t be enough “slop” or error in these belted systems to require that level of tweaking. If your calculated values produce moves that are way off the mark, you should check for mechanical problems (loose pulley grub screws, missing steps due to too high velocity/acceleration/friction, stretched/deformed belts or missing teeth, etc.) and fix those. Then the calculated numbers should get you right on the money.
On a 3D printer I will do adjustments based on actual filament movement for extruder steps per mm, since counting the teeth or measuring the circumference and “bite” by the teeth is impractical (and may change based on filament hardness), but that hasn’t been needed (in my experience) on my MPCNC’s X or Y axes.