Predicting joint following error on axis n
- bernie_nor
- Offline
- New Member
Less
More
- Posts: 17
- Thank you received: 0
16 Jun 2015 18:45 - 16 Jun 2015 18:46 #59881
by bernie_nor
Predicting joint following error on axis n was created by bernie_nor
Hello all,
I've recently upgraded my mill from 2 axis CNC to 3 axis CNC. Its a ZX-45 clone with steppers controlled by the parallel port. I got "Joint following error" for the Z-axis right away. After a bit of reading on the linuxCNC website I figured that my configuration had a to high MAX_VELOCITY on the Z-axis. But I can't understand why this is not predicted in either the LinuxCNC' parsing of the ini and hal files, or in the stepconf setup. I guess that adding it to linuxCNC might be a bit hard given all the different configurations used and supported.
With my settings I have a BASE_PERIOD of 25000ns (25us), MAX_VELOCITY = 47.5 and SCALE = 1280.0 (all in mm) on my Z-axis. This will not work, My maximum velocity should with theses settings be 31,25mm/s (40kHz/1280 steps pr mm) or less.
Does this sound about right?
How about the MAX_ACCELERATION and STEPGEN_MAXACCEL? How should I set them up to best fit my setup?
(Both are 250 at the moment)
Cheers!
Bernie
I've recently upgraded my mill from 2 axis CNC to 3 axis CNC. Its a ZX-45 clone with steppers controlled by the parallel port. I got "Joint following error" for the Z-axis right away. After a bit of reading on the linuxCNC website I figured that my configuration had a to high MAX_VELOCITY on the Z-axis. But I can't understand why this is not predicted in either the LinuxCNC' parsing of the ini and hal files, or in the stepconf setup. I guess that adding it to linuxCNC might be a bit hard given all the different configurations used and supported.
With my settings I have a BASE_PERIOD of 25000ns (25us), MAX_VELOCITY = 47.5 and SCALE = 1280.0 (all in mm) on my Z-axis. This will not work, My maximum velocity should with theses settings be 31,25mm/s (40kHz/1280 steps pr mm) or less.
Does this sound about right?
How about the MAX_ACCELERATION and STEPGEN_MAXACCEL? How should I set them up to best fit my setup?
(Both are 250 at the moment)
Cheers!
Bernie
Last edit: 16 Jun 2015 18:46 by bernie_nor. Reason: Added parallel port info
Please Log in or Create an account to join the conversation.
16 Jun 2015 22:41 - 16 Jun 2015 23:21 #59885
by ArcEye
Just too many possible variables, you are right. The idea of stepconf is to get people started, not save them from themselves.
That said it is the best appreciation of the problem I have read for a bit.
The Zx45 has a hugely heavy geared head and thinking it can be moved at nearly 3 metres per min by a stepper running at those step rates, is probably rather optimistic.
If your BASE_PERIOD of 25K is the highest figure you got on a latency test, that also leaves you no leaway whatsoever for a hiccup.
Your SCALE is also very high for a metric machine. Don't know how much is gearing and how much micro-stepping, but anything above 8x micro-stepping (arguably 4x even)
is wasting steps getting nowhere, when the rotor position is interpolated anyway, so only properly accurate every few steps.
I have a turret mill which is admitedly a bit bigger than the RX45, using Nema34 steppers.
SCALE = 400 on all the axes, despite 2:1 gearing
X and Y are set at MAX_VELOCITY = 30mm/s and the Z axis set at 20 mm/s
BASE_PERIOD is set at 30000 despite latency test results of 11K
MAX_ACCELERATION = 120
STEPGEN_MAXACCEL = 150
The STEPGEN_MAXACCEL should be 20-25% higher than the MAX figure to allow that to be exceeded when doing combined moves of all axes, to maintain synchronisation.
I would suggest figures more in accordance with those to start with and you can tune up
My mill can be left to run all day with minimal supervision (swarf clearance etc)
There is nothing worse than running a machine on the edge of its limits and never knowing if it will lose steps and ruin a workpiece, or throw a following error etc
regards
Replied by ArcEye on topic Predicting joint following error on axis n
But I can't understand why this is not predicted in either the LinuxCNC' parsing of the ini and hal files, or in the stepconf setup. I guess that adding it to linuxCNC might be a bit hard given all the different configurations used and supported.
Just too many possible variables, you are right. The idea of stepconf is to get people started, not save them from themselves.
That said it is the best appreciation of the problem I have read for a bit.
The Zx45 has a hugely heavy geared head and thinking it can be moved at nearly 3 metres per min by a stepper running at those step rates, is probably rather optimistic.
If your BASE_PERIOD of 25K is the highest figure you got on a latency test, that also leaves you no leaway whatsoever for a hiccup.
Your SCALE is also very high for a metric machine. Don't know how much is gearing and how much micro-stepping, but anything above 8x micro-stepping (arguably 4x even)
is wasting steps getting nowhere, when the rotor position is interpolated anyway, so only properly accurate every few steps.
I have a turret mill which is admitedly a bit bigger than the RX45, using Nema34 steppers.
SCALE = 400 on all the axes, despite 2:1 gearing
X and Y are set at MAX_VELOCITY = 30mm/s and the Z axis set at 20 mm/s
BASE_PERIOD is set at 30000 despite latency test results of 11K
MAX_ACCELERATION = 120
STEPGEN_MAXACCEL = 150
The STEPGEN_MAXACCEL should be 20-25% higher than the MAX figure to allow that to be exceeded when doing combined moves of all axes, to maintain synchronisation.
I would suggest figures more in accordance with those to start with and you can tune up
My mill can be left to run all day with minimal supervision (swarf clearance etc)
There is nothing worse than running a machine on the edge of its limits and never knowing if it will lose steps and ruin a workpiece, or throw a following error etc
regards
Last edit: 16 Jun 2015 23:21 by ArcEye.
Please Log in or Create an account to join the conversation.
Time to create page: 0.056 seconds