- Posts: 596
- Thank you received: 0
STEPGEN_MAXACCEL from PNCconf
4 years 4 weeks ago #253347
by zz912
STEPGEN_MAXACCEL from PNCconf was created by zz912
Hello,
I made a CNC machine work for a friend a few years ago.
zz912.webnode.cz/joes-cnc/
It was my first introduction to LCNC. At first it had unreliable electronics with a parallel port. The machine was a nightmare for me. it was a machine that churned out scraps all the time. The problem was that I had little experience with electronics and the error (lossing of steps) only appeared a few times in many hours. First, we replaced ordinary weak stepper motors with high-quality stepper motors with feedback. Only after installing the Mesa 7i96 card did the machine start working NON-STOP without any problems.
It worked until the hard drive in the PC failed. When I replaced the hard drive in the PC I did a new configuration of the machine via PNCconf, because the original configuration was my beginner's combination of PNCconf, JT configurator and my manual adjustments. I also switched his GUI from AXIS to Gmoccapy.
Everything worked fine when I was there. When I left, his machine started to stop. I have already started to stress that I will have to deal with it again for a year and a half.First
I replaced the PC. After that I thought it was Gmoccapy problem so I asked here:
forum.linuxcnc.org/gmoccapy/47029-error-...oad-gmoccapy-vs-axis
Then I remembered that when I first install this machine with a Mesa card, I had this problem (joint X follow error) as well. At that time, my colleague Mex from the Czech forum advised me to increase the value STEPGEN_MAXACCEL to twice the MAX_ACCELERATION value.
I then created a workplace to test this theory. At home I connected two 7i96 Mesa cards to two computers. I uploaded the same firmware to both cards, uploaded the same LCNC config to the computer and ran the same G-code as my friend had.
First, I ran the G-code with the same settings as my friend. Both computers stopped working after about an hour. I then increased the STEPGEN_MAXACCEL value to double the MAX_ACCELERATION value and now the two computers are running the second nine-hour G-code without error. I also made this change at my friend's, and his machine can now handle long programs as well.
I know that in the ini file it says:
# The values below should be 25% greater than MAX_VELOCITY and MAX_ACCELERATION
# When using BACKLASH compensation, STEPGEN_MAXACCEL should be 100% larger.
But I wonder why the default value is only 1.25x? I would like to change it to 2x. Is it good idea? Would this be a problem with a specific card? If so, wouldn't it be a good idea to increase this value only for the 7i96 card?
The fact that I solved this problem was due to the fact that I already have some experience with LCNC and also to the fact that I was a little lucky.
Since I've spent almost the entire weekend trying to fix this problem, I'd like to fix it for everyone. I would like to make a Pull Request where I would change the value of 1.25x to 2x in the PNCconf source codes. But first I want to discuss it with you here on the forum.
I made a CNC machine work for a friend a few years ago.
zz912.webnode.cz/joes-cnc/
It was my first introduction to LCNC. At first it had unreliable electronics with a parallel port. The machine was a nightmare for me. it was a machine that churned out scraps all the time. The problem was that I had little experience with electronics and the error (lossing of steps) only appeared a few times in many hours. First, we replaced ordinary weak stepper motors with high-quality stepper motors with feedback. Only after installing the Mesa 7i96 card did the machine start working NON-STOP without any problems.
It worked until the hard drive in the PC failed. When I replaced the hard drive in the PC I did a new configuration of the machine via PNCconf, because the original configuration was my beginner's combination of PNCconf, JT configurator and my manual adjustments. I also switched his GUI from AXIS to Gmoccapy.
Everything worked fine when I was there. When I left, his machine started to stop. I have already started to stress that I will have to deal with it again for a year and a half.First
I replaced the PC. After that I thought it was Gmoccapy problem so I asked here:
forum.linuxcnc.org/gmoccapy/47029-error-...oad-gmoccapy-vs-axis
Then I remembered that when I first install this machine with a Mesa card, I had this problem (joint X follow error) as well. At that time, my colleague Mex from the Czech forum advised me to increase the value STEPGEN_MAXACCEL to twice the MAX_ACCELERATION value.
I then created a workplace to test this theory. At home I connected two 7i96 Mesa cards to two computers. I uploaded the same firmware to both cards, uploaded the same LCNC config to the computer and ran the same G-code as my friend had.
Attachment not found
First, I ran the G-code with the same settings as my friend. Both computers stopped working after about an hour. I then increased the STEPGEN_MAXACCEL value to double the MAX_ACCELERATION value and now the two computers are running the second nine-hour G-code without error. I also made this change at my friend's, and his machine can now handle long programs as well.
I know that in the ini file it says:
# The values below should be 25% greater than MAX_VELOCITY and MAX_ACCELERATION
# When using BACKLASH compensation, STEPGEN_MAXACCEL should be 100% larger.
But I wonder why the default value is only 1.25x? I would like to change it to 2x. Is it good idea? Would this be a problem with a specific card? If so, wouldn't it be a good idea to increase this value only for the 7i96 card?
The fact that I solved this problem was due to the fact that I already have some experience with LCNC and also to the fact that I was a little lucky.
Since I've spent almost the entire weekend trying to fix this problem, I'd like to fix it for everyone. I would like to make a Pull Request where I would change the value of 1.25x to 2x in the PNCconf source codes. But first I want to discuss it with you here on the forum.
Please Log in to join the conversation.
4 years 4 weeks ago #253354
by PCW
Replied by PCW on topic STEPGEN_MAXACCEL from PNCconf
I think another problem is involved. 1.25x is plenty of headroom for the
PID loop operation at the joint max_accel limit. Can you plot the following error
(along with joint velocity) at a following error event? (trigger on joint.0.f-errored)
PID loop operation at the joint max_accel limit. Can you plot the following error
(along with joint velocity) at a following error event? (trigger on joint.0.f-errored)
Please Log in to join the conversation.
4 years 4 weeks ago #253356
by zz912
Replied by zz912 on topic STEPGEN_MAXACCEL from PNCconf
Do I have the oscilloscope set up correctly?
The problem is that two computers are stuck on "joint 2 follow error" and one computer is stuck on "joint 0 follow error".
I don't remember which one it was on.
At the same time, the error appears sometimes in 1 hour, sometimes in 4 hours.
That's why I'm asking you to check the Oscilloscope.
Idealy, if you should send me config of HAL Scope.
Attachment not found
The problem is that two computers are stuck on "joint 2 follow error" and one computer is stuck on "joint 0 follow error".
I don't remember which one it was on.
At the same time, the error appears sometimes in 1 hour, sometimes in 4 hours.
That's why I'm asking you to check the Oscilloscope.
Idealy, if you should send me config of HAL Scope.
Please Log in to join the conversation.
4 years 4 weeks ago #253357
by PCW
Replied by PCW on topic STEPGEN_MAXACCEL from PNCconf
That looks about right except I would scale the following error so
the following error limit would be on screen.
Also could you post your current hal/ini files?
the following error limit would be on screen.
Also could you post your current hal/ini files?
Please Log in to join the conversation.
4 years 3 weeks ago #253411
by zz912
Replied by zz912 on topic STEPGEN_MAXACCEL from PNCconf
It is weird, nothing happen.
Attachment not found
Attachment not found
Please Log in to join the conversation.
4 years 3 weeks ago #253412
by PCW
Replied by PCW on topic STEPGEN_MAXACCEL from PNCconf
what are the ferror limits?
I would also use no slower than 100 ms per division
as you may lose samples at slower rates
(note there are only 4000 samples but 500 ms*10 divisions is
5000 servo thread cycles so you may miss details)
I would also use no slower than 100 ms per division
as you may lose samples at slower rates
(note there are only 4000 samples but 500 ms*10 divisions is
5000 servo thread cycles so you may miss details)
Please Log in to join the conversation.
4 years 3 weeks ago #253428
by zz912
FERROR = 10.0
MIN_FERROR = 1.0
All configs and G-code, that cause stop machine are here:
forum.linuxcnc.org/gmoccapy/47029-error-...ccapy-vs-axis#253227
I have no choice if I need 3 channel:
I dont know what should I do now.
Replied by zz912 on topic STEPGEN_MAXACCEL from PNCconf
what are the ferror limits?
FERROR = 10.0
MIN_FERROR = 1.0
All configs and G-code, that cause stop machine are here:
forum.linuxcnc.org/gmoccapy/47029-error-...ccapy-vs-axis#253227
(note there are only 4000 samples but 500 ms*10 divisions is
5000 servo thread cycles so you may miss details)
I have no choice if I need 3 channel:
Attachment not found
I dont know what should I do now.
Please Log in to join the conversation.
4 years 3 weeks ago #253451
by PCW
Replied by PCW on topic STEPGEN_MAXACCEL from PNCconf
If you set the time per division to100 ms, can you see the ferrored signal?
Unless that can be captured, this will be difficult to debug
Can you set the scope to single sweep (so if you have a captured ferrored signal
its guaranteed that the scope captured it)
You might check the scope setup by deliberately generating a following error
(say by setting the PID maxoutput to 0.01)
Unless that can be captured, this will be difficult to debug
Can you set the scope to single sweep (so if you have a captured ferrored signal
its guaranteed that the scope captured it)
You might check the scope setup by deliberately generating a following error
(say by setting the PID maxoutput to 0.01)
Please Log in to join the conversation.
Time to create page: 0.189 seconds
