X axis zero point drifting to the right

More
11 Jul 2016 17:41 - 14 Jul 2016 13:36 #77303 by Wirewrap

File Attachment:

File Name: Jula-2.hal
File Size:11 KB


File Attachment:

File Name: Jula-2.ini
File Size:4 KB


File Attachment:

File Name: custom-2.hal
File Size:1 KB

I have been struggling for a week with my mill setup.
The system is Debian Wheezy with LinuxCNC 2.7.4, Mesa 6i25 controlling three Gecko G213V directly, 3Nm steppers on 5mm pitch ball screws.

My problem is that in a long program run with lots of small movements, the x axis drifts to the right.
To diagnose this I have made a simple test program:

%
G21 G90
G64 P0.01
G0x0
F1000
#1=10
O100 DO
G4 P2
G1X1.3
G1X0
G1X1.3
G1X0
G1X1.3
G1X0
G1X1.3
G1X0
G1X1.3
G1X0
#1 = [#1 - 1]
O100 while [#1 GT 0]
%

This program is run with a dial indicator on the X axis and a pointer on the X motor shaft.
There is no external load on the machine and the spindle is not running.

After each iteration of the test program the zero point of X has moved about 0.01 mm to the right. This is about 4 steps.

Things I have tried so far:

1. Is anything slipping in the ball screw drive? No, The zero point as seen by the pointer on the back motor shaft moves with the dial indicator value.
2. Increasing DIRSETUP and DIRHOLD from 300 to 3000, result is no better, no worse.
3. Increasing STEPLEN and STEPSPACE from 2000/3000 to 6000/6000, result is no better, no worse.
4. Decreasing MAX_ACCELERATION from 500.0 to 50.0, result is no better, no worse.
5. Exchanging the X and Y channels by switching stepgen.00 and stepgen.01 and swapping motor connectors. Result is no better, no worse.
6. Trying the test program with fast moves in one direction and slow moves in the other direction, error always the same size, always to the right.

What else can I try?
Attachments:
Last edit: 14 Jul 2016 13:36 by Wirewrap. Reason: Later version of included files

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

More
11 Jul 2016 19:02 - 11 Jul 2016 19:03 #77304 by Rick G
Try changing...
G64 P0.01
to
G61
or
G64 P0.001 Q0.001

Rick G
Last edit: 11 Jul 2016 19:03 by Rick G.

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

More
11 Jul 2016 19:09 #77306 by Wirewrap
I will try that.

Have already tried without any G64 line at all, it didnĀ“t change the zero point drift.

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

More
11 Jul 2016 19:22 #77307 by PCW
If you only have an error on X and you have swapped all external electronics (step drives, 6I25 pins, stepgens)
it does sound mechanical ( loose ball nut? )

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

More
11 Jul 2016 21:32 #77316 by Wirewrap

If you only have an error on X and you have swapped all external electronics (step drives, 6I25 pins, stepgens)
it does sound mechanical ( loose ball nut? )

I thought so too, so I put an index pointer on the motor shaft. The motor has shafts on both ends. This motor index pointer is pointing in a different direction at X0 after the test program has run.

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

More
11 Jul 2016 22:19 - 11 Jul 2016 22:24 #77319 by BigJohnT
Sounds like your loosing steps... too high acceleration or loads or sticky something. Did you do a stepper test to find out the limit of your setup? Typically maximum acceleration is 10-20 times maximum velocity.

Open the Show Hal Configuration (assuming Axis) and locate the X axis step information and add that to a watch window. Run your program with your pointer on the shaft. If the numbers are the same for step count at the end then you have a mechanical/electrical issue. What voltage are you running the G213V?

JT
Last edit: 11 Jul 2016 22:24 by BigJohnT.

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

More
14 Jul 2016 13:57 #77436 by Wirewrap
Voltage feeding the stepper drivers is 35V unregulated.

The step counts in the Watch window does not show the error, it returns to the same value for X0 after any number of cycles.
Why is "position-fb" not zero when the motor is stationary at X0?


I made a very wrong assumption that the error only affects X. It is present on Y and Z also with the same magnitude. For some reason I did not notice, but I have checked now. Especially, the Z axis drifts upwards against gravity 0.01 mm for each program iteration.

I tried very low values on speed and acceleration, this did not change the problem picture, still 0.01 mm drift per iteration. (To my surprise the X home switch was accidentally crushed by the low acc setting when homing, the X axis did not stop qick enough. I have a small bag of spare microswitches so no worries)
Attachments:

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

More
14 Jul 2016 14:01 #77437 by Wirewrap
I tried all the suggested settings, this did not change the problem picture either for better or worse.

I will keep the "G64 P0.001 Q0.001" setting for future use, thanks.

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

More
14 Jul 2016 15:03 #77442 by PCW
Try setting MAX_ERROR to 0.01

(this is a PNCCONF bug .0005 inches is OK for MAX_ERROR .0005 mm not so good)

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

More
14 Jul 2016 19:55 #77453 by Wirewrap

Try setting MAX_ERROR to 0.01

(this is a PNCCONF bug .0005 inches is OK for MAX_ERROR .0005 mm not so good)

I do not seem to have any MAX_ERROR at all set yet.
I am guessing this should be set in *.ini under {AXIS_0] ?

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

Time to create page: 0.089 seconds
Powered by Kunena Forum