Hi -
I'm interested in finding a good acceleration value for my three-axis router, for fast part program execution without harsh motion. The first thing to do is to push acceleration to the point where the actual velocity profile can't achieve the same sloppe as the desired velocity profile. My machine uses a Motenc-Lite PCI motion control interface board from Vital Systems, so the motion parameters are in linuxcnc/configs/motenc/motenc.ini.
In the TRAJ section of motenc.ini, I set MAX_ACCELERATION to 40, and I also set it to 40 in the AXIS_0 section.
Then I did a .5 inch X+ move at 1 inch per second (G1 X.5 F60.) and recorded the desired and actual positions of the X axis at each servo heartbeat (every millisecond). I used SciLab to differentiate the positions to obtain velocities. I plotted the velocities. It took about 50 milliseconds for the velocity profile to reach speed, so the acceleration was 20 in/sec/sec ... or half the value I had entered in motenc.ini.
I wondered if I had made a mistake. I repeated the experiment, making sure to re-start LOinuxCNC so it would have to read the motenc.ini file. I got the same result. I wondered if for some reason LinuxCNC was ignoring the motenc.ini file and using a 20 in/sec/sec acceleration value instead. To test this last possibility, I double the value for MAX_ACCELERATION two places in motenc.ini and re-ran the experiment.
This time, it looks like indeed the system is reading the motenc.ini file and using the MAX_ACCELERATION value. Once again it is half the value in the file.
I'll attempt to attach a .jpg showing the plot.
The smooth trace is desired velocity. The jagged trace is actual velocity. Differentiating real world data always produces a jagged trace. These are actually pretty good plots.
You can see the system reaches speed in about 25 milliseconds, which is consistent with an accel value of 40.
40 in/sec/sec x .025 sec = 1 in/sec.
Maybe somebody else has seen this same thing.