X axis zero point drifting to the right

More
10 years 3 months ago #77303 by Wirewrap

Attachment not found



Attachment not found



Attachment not found


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?

Please Log in to join the conversation.

More
10 years 3 months ago #77304 by Rick G
Try changing...
Code:
G64 P0.01
to
Code:
G61
or
Code:
G64 P0.001 Q0.001

Rick G

Please Log in to join the conversation.

More
10 years 3 months ago #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 to join the conversation.

More
10 years 3 months ago #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 to join the conversation.

More
10 years 3 months ago #77316 by Wirewrap

PCW wrote: 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 to join the conversation.

More
10 years 3 months ago #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

Please Log in to join the conversation.

More
10 years 3 months ago #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?

Attachment not found



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)

Please Log in to join the conversation.

More
10 years 3 months ago #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 to join the conversation.

More
10 years 3 months ago #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 to join the conversation.

More
10 years 3 months ago #77453 by Wirewrap

PCW wrote: 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 to join the conversation.

Time to create page: 0.196 seconds
Powered by Kunena Forum