I have built a CNC machine but I can't get it to calibrate.
I'm using an arduino UNO without cnc shield, running GRBL 1.1;
I'm using nema34 stepper motors, M542t drivers at 1/8 microsteps on all axis, standstill current setting off, peak current set at 3.2A;
I'm using universal gcode sender 2.0.7.
Here's the issue: I try to calibrate the machine using the setup wizard. At some point in the wizard you can jog the motors by 1mm (according to UGS). You are then supposed to measure and fill in the actual distance traveled and USG will adjust accordingly. For the Y axis (have not tested the other axis but assume the same issue), I jog the machine 100mm (according to UGC). I then measure the distance as 75mm and fill this in. I finish the wizard and then use jog to move the Y axis 70mm. When I measure the distance, it's actually about 55mm, so it's way off.
I've tried this several times with the same result. 70/55=1.272 so I go back to the wizard and multiply the value by 1.272. Now the machine moves like 90mm when I jog it 70. Does anyone know what's going on here?
One thing that is a bit different on my machine is that the Y axis is powered by 2 identical stepper motors. They each have a different driver for power but I wired the control wires together and hooked them up to the Arduino as one Y motor. I know that a missed step in a single motor will mess things up but that's how it is. One thing to note though is that the 55mm is at least consistent, So I don't think that's the problem.
if you know the screw pitch and step angle, the rest is straight math
I also tried that. Pitch for my screws is 5mm/ revolution. 1 step is 1,8 degrees, or 1/200 of 1 rotation. So one step advances the nut 5/200=0.025mm. I use 1/8 microstepping so the distance traveled for that should be 0.003125mm (ignoring backlash et al). I think I got similar wonky results but I'll try again tomorrow.
1metiz:
I also tried that. Pitch for my screws is 5mm/ revolution. 1 step is 2 degrees, or 1/180 of 1 rotation. So one step advances the nut 5/180=0.02778mm. I use 1/8 microstepping so the distance traveled for that should be 0.00347mm (ignoring backlash et al). I think I got similar wonky results but I'll try again tomorrow.
Hmmmm. Does your lead screw have polished threads and do you have an adjustable nut? Have you actually quantified the movement discrepancy in your machine. In other words, is the thread consistent over the entire length of the screw. Stuff you buy from a hardware store is rolled threads, not cut threads.
Paul
1metiz:
I also tried that. Pitch for my screws is 5mm/ revolution. 1 step is 1,8 degrees, or 1/200 of 1 rotation. So one step advances the nut 5/200=0.025mm. I use 1/8 microstepping so the distance traveled for that should be 0.003125mm (ignoring backlash et al). I think I got similar wonky results but I'll try again tomorrow.
edit 1,8 degrees, not 2
Your calculation looks OK
I will ask stupid questions which I am sure you have looked at it just my 1.5 cents
Are you sure about the coupling backlash or other system back lash or losness.
First a couple of answers to questions earlier in this thread: "Are you ALWAYS moving in the same direction when you are making the measurements?"
Yes. "Hmmmm. Does your lead screw have polished threads and do you have an adjustable nut?"
I use RM1605 for X and Y and RM1204 for Z and matching ball screws. They are not adjustable.
So I just tried again. I didn't bother with visual calibration but just went straight to nr of steps per 1mm. X and Z are now properly calibrated, but the massive discrepancy in Y still remains. I've posted a wiring diagram below for my two Y drivers. Anything wrong there perhaps?
I think I figured out the problem. One of the connection points from the gantry to the ballnut was pinching the screw, causing one of the motors to miss steps, making the gantry to go crooked, causing the other motor to miss steps too. I fixed the connection point and it's working as it should now.
I built this cnc a couple of years ago and then kind of forgot about it. Recently I started a project where a cnc would be really handy so I'm back at it. Can anyone recommend a mill that works well for cutting 1mm cold-rolled mild steel? It needs to be pretty precise, so like 1.5-2mm max diameter.