cncsnw wrote: ↑Mon Oct 07, 2024 5:23 pm
If a person with time, resources and knowledge had a segment of G code that consistently showed the problem, then they could use the CNC12/MPU "debug dump" feature to capture a short interval (maybe one second?) of the low-level data, to see what the outgoing pulse stream looks like. That could be compared to the Delta data plot, to see if the pause in acceleration was commanded from the MPU or not.
This is part of our plan, with the segment of G code being "G01 X50 F1500". The flat spots could be lost counts on the position request. However, this was ruled out because there was no mention of standoff or other position errors. There is some chance that something is amiss in the Delta plot collection or position input. A comparison of the Centroid and Delta plot should show if this is the case, or we are just not reproducing the problem.
If you give me some exact steps, I will do them and see if I can make the reports and logs you need.
I tried to set up the PID screen to record when it was stepping, but I couldnt get it record the entire time. I didnt spend much time trying TBH.
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
cncsnw wrote:
Change P223 from 800 to 400, and see if that makes a difference in the "flat spot" behavior.
Also check again to make sure your control PC is not running any extraneous Windows software or tasks that might be competing for the CPU's attention.
Pretty sure the PC is up to the job. It is dedicated, not internet connected. And passed the performance test when I did it years ago.
I can run any tests on it needed to confirm.
I will also try the P223 change.
Should get some time over the next few nights to have a play. I am in the middle of one of the most complex firmware projects of my life so my brain is a bit frazzled at the end of each day!
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
A few more hours on this tonight... I think I have reached the end of what I can achieve myself now. I know this much so far:
- Steps are still there in the pulse output. I can only reproduce on the MDI with smoothing on. Cant reproduce in the PID test program.
- Smoothing on makes dead start movements more harsh than with it off. It really squares up the initial acceleration. It is necessary on this machine to run smoothing all the time. With it on it is harsh on the start/stop moves, with it off it is ok on start/stop but harsh on transitions.
- By applying filtering to the position signal in the drives I can make the machine perfect and smooth and quiet, while still achieving full accel rate on the bigger moves (0.2s accel). And with high control bandwidth so position error is low and control is stiff. Or by using the drive in PR mode (internal control mode) and using the acceleration S curve values it is nice. The machine and drives are definitely capable of moving fast and without knocks given the right commands.
- Problem is that adding the filter in the drive increases delay (measured by PID->Tune) to 22ms, and of course a large following error during transitions. I am currently at 8.75ms with soft motor tuning settings and no filtering so already high. With the gain values I would like to run it is 5.5ms. It really needs the filtering to be in the control.
- Slowing Centroid acceleration does not seem to help much, it is the initial hit that causes the knocking, once past that moment, it doesn't matter how hard you accelerate/decelerate, it is all good. If only I could reduce the rate acceleration is applied.
(Note: Liking will "up vote" a post in the search results helping others find good information faster)