5i25/7i76 Stepper Following Error, Other Questions
24 May 2016 02:41 #75018
by zamazz10
5i25/7i76 Stepper Following Error, Other Questions was created by zamazz10
Howdy,
I'm attempting to control my legacy DMM Tech servos using step direction commands from a 5i25/7i76/7i77 combination. I recently switched from analog control using a 7i77, which didn't work the best as the drives need 0-5v command and a direction signal. I got these signals working, however there were two PID loops at play and no amount of tuning seemed to get perfect results. I then miswired the spindle and destroyed the analog outputs of the 7i77, so I figured it was a good time to switch to the 7i76. I still have the 7i77 hooked up for the encoder and additional I/O, however, which still work correctly. I'm using the 7i77-7i76 configuration on the 5i25. I just switched the control from LinuxCNC 2.5.2 on 12.02, I believe, to 2.7 on Debian. Its run on an ancient Dell Dimension 1100.
I used PNCconf to get the stepper motion set up with the intent to hand edit the HAL and INI files for the rest of the setup, most of which will be the same as with the analog control setup. The problem I am encountering is that whatever axis is being jogged will throw a 'joint following error' message when jogged past a certain speed. For instance, it will throw the error when jogged about 72 ipm but below that is fine. It is very repeatable, for instance at a given velocity it will error out after moving the same distance every time.
The velocity is set to 230 ipm and acceleration to 30i/s/s, which is very similar to what I was running with the analog configuration. The stepscale is also verified to be correct and works with the step length and spacing.
I did note that after switching to Debian my latency is horrible. It went from about 30000 on Ubuntu to about 300000 on Debian, and that is just opening the latency test without any additional CPU loading. If you guys believe this is the issue, I will upgrade the computer to the recommended H97 MB, etc.
Attached are my HAL and INI files, perhaps there is just something I am overlooking.
A second issue I am having, possibly also computer related, is that sometimes LinuxCNC will not start. It gives the attached error message today, but also has indicated that the 5i25 is not initializing with:
[ 66.836514] hm2/hm2_5i25.0: invalid cookie, got 0xFFFFFFFF, expected 0x55AACAFE
When this happens it will refuse to start for days at a time then suddenly work again. Sometimes reseating the 5i25 or changing PCI slots helps. It did this for a week at a time about two months ago and I decided to replace the motherboard with a used identical motherboard. This solved the problem for about a month, but it just started acting up again.
I'm running short on patience and don't want to throw more parts at it if it isn't going to fix the problem. Any thoughts on why this is happening would be greatly appreciated. Thanks,
Zach
I'm attempting to control my legacy DMM Tech servos using step direction commands from a 5i25/7i76/7i77 combination. I recently switched from analog control using a 7i77, which didn't work the best as the drives need 0-5v command and a direction signal. I got these signals working, however there were two PID loops at play and no amount of tuning seemed to get perfect results. I then miswired the spindle and destroyed the analog outputs of the 7i77, so I figured it was a good time to switch to the 7i76. I still have the 7i77 hooked up for the encoder and additional I/O, however, which still work correctly. I'm using the 7i77-7i76 configuration on the 5i25. I just switched the control from LinuxCNC 2.5.2 on 12.02, I believe, to 2.7 on Debian. Its run on an ancient Dell Dimension 1100.
I used PNCconf to get the stepper motion set up with the intent to hand edit the HAL and INI files for the rest of the setup, most of which will be the same as with the analog control setup. The problem I am encountering is that whatever axis is being jogged will throw a 'joint following error' message when jogged past a certain speed. For instance, it will throw the error when jogged about 72 ipm but below that is fine. It is very repeatable, for instance at a given velocity it will error out after moving the same distance every time.
The velocity is set to 230 ipm and acceleration to 30i/s/s, which is very similar to what I was running with the analog configuration. The stepscale is also verified to be correct and works with the step length and spacing.
I did note that after switching to Debian my latency is horrible. It went from about 30000 on Ubuntu to about 300000 on Debian, and that is just opening the latency test without any additional CPU loading. If you guys believe this is the issue, I will upgrade the computer to the recommended H97 MB, etc.
Attached are my HAL and INI files, perhaps there is just something I am overlooking.
A second issue I am having, possibly also computer related, is that sometimes LinuxCNC will not start. It gives the attached error message today, but also has indicated that the 5i25 is not initializing with:
[ 66.836514] hm2/hm2_5i25.0: invalid cookie, got 0xFFFFFFFF, expected 0x55AACAFE
When this happens it will refuse to start for days at a time then suddenly work again. Sometimes reseating the 5i25 or changing PCI slots helps. It did this for a week at a time about two months ago and I decided to replace the motherboard with a used identical motherboard. This solved the problem for about a month, but it just started acting up again.
I'm running short on patience and don't want to throw more parts at it if it isn't going to fix the problem. Any thoughts on why this is happening would be greatly appreciated. Thanks,
Zach
Please Log in or Create an account to join the conversation.
24 May 2016 08:40 #75026
by andypugh
Replied by andypugh on topic 5i25/7i76 Stepper Following Error, Other Questions
I think that when using a PID loop for step generation (as you are) the PGain needs to be 1000, rather than 50 (as you have)
(For a 1mS servo thread)
(For a 1mS servo thread)
Please Log in or Create an account to join the conversation.
24 May 2016 09:40 - 24 May 2016 09:49 #75029
by cncbasher
Replied by cncbasher on topic 5i25/7i76 Stepper Following Error, Other Questions
dell pc's are not the best latencey wise they tend to be sliced down to the bones internaly , however you are using mesa 5i25 / 7i77 so you dont have a base thread or require low latencey as a parrallel port does .
then 7i77 will control 5v analog , although i see this as unusual , older servo drivers are industry standard analog 10v or TTL
which the mesa cards can cope with ,
i'd change the pc , also make sure any fan control or power management is turned off in the bios
this does seem to be the likley candidate , given the problems you suggest
i find gigabyte motherboards to be good
along with your tuning and setup , which seem to be way out
your default dir hold and dir setup are far to low they should be higher than step values , by a factor of 10
also your default velocity is also low both in traj section and your display section amongst others
then 7i77 will control 5v analog , although i see this as unusual , older servo drivers are industry standard analog 10v or TTL
which the mesa cards can cope with ,
i'd change the pc , also make sure any fan control or power management is turned off in the bios
this does seem to be the likley candidate , given the problems you suggest
i find gigabyte motherboards to be good
along with your tuning and setup , which seem to be way out
your default dir hold and dir setup are far to low they should be higher than step values , by a factor of 10
also your default velocity is also low both in traj section and your display section amongst others
Last edit: 24 May 2016 09:49 by cncbasher.
Please Log in or Create an account to join the conversation.
24 May 2016 10:28 - 24 May 2016 10:29 #75032
by PCW
Replied by PCW on topic 5i25/7i76 Stepper Following Error, Other Questions
You likely have a following error because your ini file has
MAX_OUTPUT = 1.25
For all axis (that means the PID output, which is scaled in inches per second will be limited to 1.25 = 75 IPM)
Your 5I25 error is most likely from a dirty slot/card fingers or a bad PC powersupply (3.3V low)
To clean the card fingers, take some 99% isospropyl alcohol on a paper towel and vigorously scrub the 5I25s gold contact fingers, To clean the motherboard slot, take a piece of card stock , dip in 99% isopropyl alcohol and insert/remove from the PCI slot about 10- 20 times
MAX_OUTPUT = 1.25
For all axis (that means the PID output, which is scaled in inches per second will be limited to 1.25 = 75 IPM)
Your 5I25 error is most likely from a dirty slot/card fingers or a bad PC powersupply (3.3V low)
To clean the card fingers, take some 99% isospropyl alcohol on a paper towel and vigorously scrub the 5I25s gold contact fingers, To clean the motherboard slot, take a piece of card stock , dip in 99% isopropyl alcohol and insert/remove from the PCI slot about 10- 20 times
Last edit: 24 May 2016 10:29 by PCW.
Please Log in or Create an account to join the conversation.
24 May 2016 23:40 #75057
by zamazz10
Ah! I was skimming past the PID parameters. Good catch. If I'd just used PNCconf as it was intended this wouldn't have happened, I'm sure.
I've cleaned the PCI slots several times to no avail, but I'll check the 3.3v when I get the chance.
CNCBasher - Yes, I had the 7i77 working with the 5v control scheme, just not as well as I'd like. Two competing PID loops was difficult to tune. Actually, the DMM tech drives are difficult to tune in general, as no feedback is offered out of the drive. They are really meant to be controlled by pulse/dir. I'm not happy with that purchase, I won't be using them in the future for many reasons.
DMM actually has no recommendations for the stepper tuning numbers that I can find. I used approximately the longest pulse length and spacing I could to get the required step frequency for max velocity and left the direction settings alone. I saw 2000 ns recommended elsewhere, I'll go with that for now. Its apparent that this isn't the immediate problem.
Default velocity is intentionally low. I don't want to keyboard jog any faster than 120 ipm. If I do, I'll move the slider.
Andy - I read that elsewhere, but neglected to make the change. I'll do that as well as soon as I get the 5i25 to initialize.
Thanks for all the help guys. The support community here is fantastic.
Zach
Replied by zamazz10 on topic 5i25/7i76 Stepper Following Error, Other Questions
You likely have a following error because your ini file has
MAX_OUTPUT = 1.25
For all axis (that means the PID output, which is scaled in inches per second will be limited to 1.25 = 75 IPM)
Your 5I25 error is most likely from a dirty slot/card fingers or a bad PC powersupply (3.3V low)
To clean the card fingers, take some 99% isospropyl alcohol on a paper towel and vigorously scrub the 5I25s gold contact fingers, To clean the motherboard slot, take a piece of card stock , dip in 99% isopropyl alcohol and insert/remove from the PCI slot about 10- 20 times
Ah! I was skimming past the PID parameters. Good catch. If I'd just used PNCconf as it was intended this wouldn't have happened, I'm sure.
I've cleaned the PCI slots several times to no avail, but I'll check the 3.3v when I get the chance.
CNCBasher - Yes, I had the 7i77 working with the 5v control scheme, just not as well as I'd like. Two competing PID loops was difficult to tune. Actually, the DMM tech drives are difficult to tune in general, as no feedback is offered out of the drive. They are really meant to be controlled by pulse/dir. I'm not happy with that purchase, I won't be using them in the future for many reasons.
DMM actually has no recommendations for the stepper tuning numbers that I can find. I used approximately the longest pulse length and spacing I could to get the required step frequency for max velocity and left the direction settings alone. I saw 2000 ns recommended elsewhere, I'll go with that for now. Its apparent that this isn't the immediate problem.
Default velocity is intentionally low. I don't want to keyboard jog any faster than 120 ipm. If I do, I'll move the slider.
Andy - I read that elsewhere, but neglected to make the change. I'll do that as well as soon as I get the 5i25 to initialize.
Thanks for all the help guys. The support community here is fantastic.
Zach
Please Log in or Create an account to join the conversation.
25 May 2016 00:15 #75059
by andypugh
This is true of the Dyn2 drives, the Dyn4 looks a lot more LinuxCNC-compatible.
Replied by andypugh on topic 5i25/7i76 Stepper Following Error, Other Questions
Actually, the DMM tech drives are difficult to tune in general, as no feedback is offered out of the drive. They are really meant to be controlled by pulse/dir. I'm not happy with that purchase, I won't be using them in the future for many reasons.
This is true of the Dyn2 drives, the Dyn4 looks a lot more LinuxCNC-compatible.
Please Log in or Create an account to join the conversation.
Time to create page: 0.079 seconds