- Posts: 18
- Thank you received: 0
Following errors at fairly low speeds with mesa 5i25? Also bad latency (120k)
- nick-parker
- Topic Author
- Offline
- New Member
-
Less
More
6 years 4 months ago #170889
by nick-parker
Following errors at fairly low speeds with mesa 5i25? Also bad latency (120k) was created by nick-parker
Hi all, I have a Shizuoka ST-N knee mill with a Summit-Dana Quickdraw ATC that was generously gifted to me around 6 years ago. I half-renovated it and half-converted it to LinuxCNC back when I got it, but then moved away and left it sitting in my dad's garage until today.
I've got it running now with a 5i25 board I bought back then and everything's great, I can do cuts, but I get joint following errors at pretty wimpy speeds. XY are limited to ~25 IPM and Z to ~15 IPM, which is odd because the three drives are identical. The original Bandit controller can run all three axes at 100 IPM and that's only a software limit, so something's wrong.
I have a handful of questions:
1. My latency occasionally spikes to 120k but for the most part it's happy down around 25-30. Can latency spikes cause following errors even though my 5i25 is handling the stepgen? And, are there any safe bets to upgrade hardware this old latency wise? EG stick an SSD in to replace the spinny disk, add more/faster RAM?
2. Does the 5i25 have DPLL clocks on it, or is that only a feature for ethernet daughter cards? I read those clocks help a lot with following errors. Enabling it in my HAL file didn't add any pins and trying to set the timer-us caused an error so I'm guessing not, but if there's a way for me to use this I want it.
3. More generally, am I doing something obviously wrong with my configuration so the mesa card isn't doing the high speed work it should be doing?
4. My steppers are weird four phase behemoths so I have to drive them in table mode, could that be screwing me? Modifying steplen and stepspacing had no effect, except to disable "stepgen.XX.maxvel is too big for current step timings & position-scale, clipping to max possible" errors at startup.
5. Should I have separate acceleration and velocity limits for the mesa stepgens vs the EMCMOT values? I see some examples online recommending the stepgen values be 25-100% larger than the EMCMOT values.
6. Should I adjust my base period or servo period? Neither seemed to have any effect when I fiddled with them.
7. Is there any modern hardware that's known-good for LinuxCNC, with or without a 5i25 stuck in it? I would just use a beaglebone black but I like the interactive graphics in Axis. Viewing your jog history is nice for some setups.
Hardware details:
HP Compaq DC7100 CMT
Intel Pentium 4 3Ghz
1 GiB DIMM DDR 400 MHz RAM
Intel GMA900 graphics
Thanks!
-Nick
I've got it running now with a 5i25 board I bought back then and everything's great, I can do cuts, but I get joint following errors at pretty wimpy speeds. XY are limited to ~25 IPM and Z to ~15 IPM, which is odd because the three drives are identical. The original Bandit controller can run all three axes at 100 IPM and that's only a software limit, so something's wrong.
I have a handful of questions:
1. My latency occasionally spikes to 120k but for the most part it's happy down around 25-30. Can latency spikes cause following errors even though my 5i25 is handling the stepgen? And, are there any safe bets to upgrade hardware this old latency wise? EG stick an SSD in to replace the spinny disk, add more/faster RAM?
2. Does the 5i25 have DPLL clocks on it, or is that only a feature for ethernet daughter cards? I read those clocks help a lot with following errors. Enabling it in my HAL file didn't add any pins and trying to set the timer-us caused an error so I'm guessing not, but if there's a way for me to use this I want it.
3. More generally, am I doing something obviously wrong with my configuration so the mesa card isn't doing the high speed work it should be doing?
4. My steppers are weird four phase behemoths so I have to drive them in table mode, could that be screwing me? Modifying steplen and stepspacing had no effect, except to disable "stepgen.XX.maxvel is too big for current step timings & position-scale, clipping to max possible" errors at startup.
5. Should I have separate acceleration and velocity limits for the mesa stepgens vs the EMCMOT values? I see some examples online recommending the stepgen values be 25-100% larger than the EMCMOT values.
6. Should I adjust my base period or servo period? Neither seemed to have any effect when I fiddled with them.
7. Is there any modern hardware that's known-good for LinuxCNC, with or without a 5i25 stuck in it? I would just use a beaglebone black but I like the interactive graphics in Axis. Viewing your jog history is nice for some setups.
Hardware details:
HP Compaq DC7100 CMT
Intel Pentium 4 3Ghz
1 GiB DIMM DDR 400 MHz RAM
Intel GMA900 graphics
Thanks!
-Nick
Please Log in or Create an account to join the conversation.
6 years 4 months ago - 6 years 4 months ago #170890
by PCW
Replied by PCW on topic Following errors at fairly low speeds with mesa 5i25? Also bad latency (120k)
Unfortunately, the built in position mode stepgen control in the driver
does not deal with jitter very well. This (and the 120 usec latency spikes)
are the most likely cause of the following errors.
That said, you can improve performance by setting the stepgen maxaccel
to 25% more than the per axis (or Joint for 2..8 and >) limits
Other options are using the PID control method that most newer hal files
use for stepgen control, you can get a good template for this by creating a
dummy pncconf configuration for any stepgen hardware.
Yet another option is to use the DPLL. This is not usually present in PCI/PCIE
firmware but can be added to any interface type.
Using both PID and DPLL together can get the stepgen position deviation
controlled to a very small fraction of a step even with a 300 usec or so occasional
latency spikes.
does not deal with jitter very well. This (and the 120 usec latency spikes)
are the most likely cause of the following errors.
That said, you can improve performance by setting the stepgen maxaccel
to 25% more than the per axis (or Joint for 2..8 and >) limits
Other options are using the PID control method that most newer hal files
use for stepgen control, you can get a good template for this by creating a
dummy pncconf configuration for any stepgen hardware.
Yet another option is to use the DPLL. This is not usually present in PCI/PCIE
firmware but can be added to any interface type.
Using both PID and DPLL together can get the stepgen position deviation
controlled to a very small fraction of a step even with a 300 usec or so occasional
latency spikes.
Last edit: 6 years 4 months ago by PCW.
Please Log in or Create an account to join the conversation.
- nick-parker
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 18
- Thank you received: 0
6 years 4 months ago #170893
by nick-parker
Replied by nick-parker on topic Following errors at fairly low speeds with mesa 5i25? Also bad latency (120k)
Thanks for the info! I'll try to add DPLL and switch to PID.
One more quick question: Would a fresh install of the latest LinuxCNC hurt performance on this old system?
It's showing its age pretty badly - the kernel's no longer supported, all my apt repositories needed changing, I need to upgrade SSL if I want git to work, etc.
Thanks,
-Nick
One more quick question: Would a fresh install of the latest LinuxCNC hurt performance on this old system?
It's showing its age pretty badly - the kernel's no longer supported, all my apt repositories needed changing, I need to upgrade SSL if I want git to work, etc.
Thanks,
-Nick
Please Log in or Create an account to join the conversation.
6 years 4 months ago - 6 years 4 months ago #170895
by PCW
Replied by PCW on topic Following errors at fairly low speeds with mesa 5i25? Also bad latency (120k)
What firmware/breakout are you using?
With that information,I can cobble up a matching
5i25 bitfile with DPLL module included.
Not sure about upgrading the OS, LinuxCNC has had issues
with newer RTAI kernels so there's no official updated image.
I think there's a forum thread on a Mint19/RTAI image that
might be worth a try
With that information,I can cobble up a matching
5i25 bitfile with DPLL module included.
Not sure about upgrading the OS, LinuxCNC has had issues
with newer RTAI kernels so there's no official updated image.
I think there's a forum thread on a Mint19/RTAI image that
might be worth a try
Last edit: 6 years 4 months ago by PCW.
Please Log in or Create an account to join the conversation.
- nick-parker
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 18
- Thank you received: 0
6 years 4 months ago - 6 years 4 months ago #170897
by nick-parker
Replied by nick-parker on topic Following errors at fairly low speeds with mesa 5i25? Also bad latency (120k)
I'm digging through the system to figure out what firmware I'm using - that'd be a question for me from 6 years ago but maybe I can find it on here.
I'm not using any actual breakout board, just a couple of breadboards which I'll convert to custom stuff once this thing's all done.
The 5i25 is just running one pwm gen that I convert to a 0-10V signal for my spindle speed, and three stepgens which are each stepping through an 8 state table which IIRC performs half-stepping on these weird four phase motors. This machine's "motor drivers" just have a 5V input to turn on each of the phases, so I hook up to those directly on the breadboard.
The only other part of my config is a little bit of logic to drive a buffer chip to drive the bank of 24V relays that turn the spindle's stator winding on/off and control its polarity, and that's done on the other parallel port.
Hunting for firmware info now, let me get back to you. Thanks a bunch for the help, I was not looking forward to figuring out how to modify the firmware myself!
Edit: Judging by when files were modified, the 5i25 is either running whatever its default firmware is, or a file I found on here called tablemode3.bit, which I probably wrote myself back in March 2014. It's in here with tablemode1 and tablemode0 made over the course of an afternoon.
I'm not using any actual breakout board, just a couple of breadboards which I'll convert to custom stuff once this thing's all done.
The 5i25 is just running one pwm gen that I convert to a 0-10V signal for my spindle speed, and three stepgens which are each stepping through an 8 state table which IIRC performs half-stepping on these weird four phase motors. This machine's "motor drivers" just have a 5V input to turn on each of the phases, so I hook up to those directly on the breadboard.
The only other part of my config is a little bit of logic to drive a buffer chip to drive the bank of 24V relays that turn the spindle's stator winding on/off and control its polarity, and that's done on the other parallel port.
Hunting for firmware info now, let me get back to you. Thanks a bunch for the help, I was not looking forward to figuring out how to modify the firmware myself!
Edit: Judging by when files were modified, the 5i25 is either running whatever its default firmware is, or a file I found on here called tablemode3.bit, which I probably wrote myself back in March 2014. It's in here with tablemode1 and tablemode0 made over the course of an afternoon.
Last edit: 6 years 4 months ago by nick-parker. Reason: Found my firmware
Please Log in or Create an account to join the conversation.
- nick-parker
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 18
- Thank you received: 0
6 years 4 months ago #170899
by nick-parker
Replied by nick-parker on topic Following errors at fairly low speeds with mesa 5i25? Also bad latency (120k)
Alright I'm fairly confident I modified the default hostmot2 firmware to support table mode in some capacity - I'm not sure why when that's a default feature, but I'll have access to the old hard drive that would have my modified source on it next week, so I'll report back then.
Thanks again!
Thanks again!
Please Log in or Create an account to join the conversation.
Time to create page: 0.113 seconds