Long post: Trying to solve X,Y axis creep. Help!

More
18 Apr 2022 22:16 #240597 by LinfieldGarage
Hello All,
I have been working on this 50x50 gantry plasma table for a while now, having trouble with "creep" on the X and Y axes.  Both axes creep exactly the same amount but in opposite directions.  The Y has 2 motors, and the gantry auto-squares and stays square.  The Z axis is perfect, no creep.

The issue is that although the machine functions correctly with a basic configuration, the X axis will creep towards 0 after several moves, each move getting worse.  The Y axis creeps in the positive direction.  I use a test file that someone graciously uploaded to the forums to move the carriage out to a set distance and back, 100 times.  It only takes 2 moves to start seeing the creep appear, and it will be off by .5 inches in 4-5 moves.   Eventually it would crash through the 0 limit switch if I let it go on...

My theory is that the X and Y axes are losing steps and this causes the creep or drift towards 0.  I'd love to know if there are any other causes for this behavior (backlash, PID Values, voodoo, etc.)  INI and HAL files attached. 

My build uses a Mesa 7i96 board, KL 5056-E drives, NEMA 23 open loop 570 oz/in steppers, rack and pinion drives (same on X and Y) with 22/60 tooth gear reduction.  The Z axis uses the same drive and stepper but a ball screw movement.  I have the acceleration set artificially low becuse high accel can cause lost steps.

Today I went through some detailed troubleshooting to see if microstepping or motor current could be the problem.  I thought that maybe my power supplies were too small or just bad quality, but the power draw is far below the power suppliy max in all tests. 

Here are some notes.
1. Set the drives to maximum current of 5.6A, it was set to 1.4A - No change (only measuring 1.5A max on axis movement)
2. Set the recommended: DIRSETUP = 1200. DIRHOLD = 1200. STEPLEN = 5000. STEPSPACE = 5000 - No change
3. Changed microstepping from 4 to 2, recalculated STEP_SCALE on the X axis - No change
4. Tried DIRSETUP = 2500. DIRHOLD = 2500 - No change
5. Tried 25x microstepping, recalculated STEP_SCALE - No changeI'm out of ideas. 

Can anyone comment on other causes for lost steps?
Does anyone have a working INI and HAL for a machine using these KL-5056e drives?

I am a good troubleshooter generally but this thing has me stumped.  Any help is appreciated.
Thank you!
Jamie 
Attachments:

Please Log in or Create an account to join the conversation.

More
18 Apr 2022 23:21 - 18 Apr 2022 23:22 #240606 by LinfieldGarage
Forgot to attach the HAL and INI files.
Attachments:
Last edit: 18 Apr 2022 23:22 by LinfieldGarage.

Please Log in or Create an account to join the conversation.

More
18 Apr 2022 23:52 #240610 by tommylight

2. Set the recommended: DIRSETUP = 1200. DIRHOLD = 1200.

Recommended is 20000, not 1200. It has no real effect on step rate in normal use, but having it to short might cause missed steps for sure on some drives.
Try omitting this line in hal:
setp pid.x.maxerror 0.000500
Also try doing some short 2 inch moves back and forth, say 10 times if possible, then do 20 inch moves 10 times and check if the error at the end is the same.
-it is the same?
-it is not and comes to 10 times bigger at 20 inch?
-not the same at random ?
And just in case, omit the maxvelocity overrides in hal till you get this figured out.

Please Log in or Create an account to join the conversation.

More
19 Apr 2022 12:05 #240649 by LinfieldGarage
Hey Tommy, thanks for the reply.

I should have mentioned that I had been using 20000 before all of this testing. I have seen all 3 settings documented with no real hardcore recommendation for these drives. I'll go back to 20000, 20000, 5000, 5000 and retest.

I will also retest the way you mentioned and report back.

Can you expand on the last comment: "And just in case, omit the maxvelocity overrides in hal till you get this figured out." Which lines should I comment out?

Thanks again!

Please Log in or Create an account to join the conversation.

More
19 Apr 2022 19:40 #240678 by tommylight
# connect max velocity overide increments - switches

    setp halui.max-velocity.count-enable true
    setp halui.max-velocity.direct-value true
    setp halui.max-velocity.scale 20.000000
net max-vel-override-incr   =>  halui.max-velocity.counts
net mvo-incr-a           =>  mvoincr.sel0
net mvo-incr-b           =>  mvoincr.sel1
net mvo-incr-c           =>  mvoincr.sel2
net mvo-incr-d           =>  mvoincr.sel3
net max-vel-override-incr   <=  mvoincr.out-s
    setp mvoincr.debounce-time      0.200000
    setp mvoincr.use-graycode      False
    setp mvoincr.suppress-no-input False
    setp mvoincr.in00          0.000000
    setp mvoincr.in01          5.000000
    setp mvoincr.in02          10.000000
    setp mvoincr.in03          25.000000
    setp mvoincr.in04          50.000000
    setp mvoincr.in05          75.000000
    setp mvoincr.in06          90.000000
    setp mvoincr.in07          100.000000
    setp mvoincr.in08          250.000000
    setp mvoincr.in09          100.000000
    setp mvoincr.in10          100.000000
    setp mvoincr.in11          100.000000
    setp mvoincr.in12          100.000000
    setp mvoincr.in13          100.000000
    setp mvoincr.in14          100.000000
    setp mvoincr.in15          100.000000
This is in your .hal file, not sure what it is doing there, so omit everything, or even easier, make a copy of the entire config folder and save it to a USB stick so you can revert back, and delete these lines.

Please Log in or Create an account to join the conversation.

More
19 Apr 2022 22:54 #240700 by LinfieldGarage
Quick update after more tests:
1. Changing DIRSETUP/HOLD back to 20000 - no change
2. Deleting errant HAL file lines - no change
***Here is what's crazy***
3. ran a test on the X axis from 2" to 4" - absolutely no creeping after 100 passes. exactly the right distance back to 0
4. ran a test from 2" to 22" - BIG CREEP
5. re-homed and re-ran 2" test - no creep again
6. re-ran original 2" to 8" test - standard amount of creep originally seen.

What in the world is significant about a 2" move that makes it accurate, but larger moves are losing steps?
The creep on the 20" move was definitely larger than the 6" move, but I can't say by how much without more measurements.

One thing I forgot to mention, there is no slippage on between the motor, timing pulley, or anywhere else in the rank and pinion gear. I know this can cause maddening problems.

Thanks again for the help.

Please Log in or Create an account to join the conversation.

More
19 Apr 2022 23:32 #240705 by tommylight
In what direction is the "creep"?
This sure looks like scaling is not correct, not creep.
Also, to check if the scaling is correct, use the total axis distance, short distances will have very small errors so hard to measure.

Please Log in or Create an account to join the conversation.

More
20 Apr 2022 14:49 #240735 by LinfieldGarage
Hey Tommy, that is an interesting point. The X axis "error" is toward 0, whereas the Y axis error is positive.

If scale was a problem, I can see how the carriage would move the wrong distance, but it would be consistently wrong, no?

I will do some full length tests today and record better data. Thanks again for the help.
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
21 Apr 2022 21:44 #240819 by andypugh
If short moves are OK but long moves are not, this suggests that the problem is related to velocity (the system probably doesn't get up to max velocity on a 2" move)

Try halving max velocity and make max accel 10x smaller (purely for experimental purposes) and see if that changes anything.

Please Log in or Create an account to join the conversation.

More
23 Apr 2022 17:23 #241008 by LinfieldGarage
!!!!!!!!! It's Fixed !!!!!!!!!

Hey guys, thanks for the help. This problem was not "creep" or acceleration, but was caused by a scale problem as Tommy suggested. Long story short, things do not work like I thought they did.

The gear rack drives I bought were supposed to be 3:1 reduction, a 20T and a 60T belt pulley. The manufacturer shipped me a kit with 22T drive pulleys on the stepper, instead of 20T. I thought no problem, I will adjust the ratio from 3:1 to 2.7:1 and recalculate the scale (steps per rev). For some voodoo magic math reason, this does not work. The error shows up as ever-increasing movements past the startpoint of a move. Replacing the drive pulleys with 20T fixed this machine.

Why I thought this was creep or lost steps?
In my mind, scale is scale. It shouldn't matter if it takes 400 steps or 40,000 steps to move 1 inch, it should be consistent. If The machine moves out to 20", needing XX,000 steps to get there, the controller should send XX,000 steps in the opposite direction to get back to the start. My machine would overshoot the starting point, and keep getting worse till it crashed through the 0 stop.

I figure this has something to do with exponential numbers, rounding error, or just voodoo. Anyway, I have been fighting with this dang thing for 2 years, and i'm glad it only took $30.00 in parts to fix it. Thanks again to the forums for putting up with my mess.
Jamie
The following user(s) said Thank You: tommylight, clunc

Please Log in or Create an account to join the conversation.

Time to create page: 0.099 seconds
Powered by Kunena Forum