CNC daydreaming

So, is LinuxCNC the proverbial stick in the mud here?
In short, yes.

I'm not sure how the control algorithms are coded. I know LinuxCNC expects to be in the loop between position (encoders) and steppers/servos. I would imagine things like backlash compensation, which LinuxCNC can do, gets more complicated if you're trying to work around another motion control system. But I also know LinuxCNC's roots are based on bit-banging old printer parallel ports as individual I/O lines. So there could be a lot of code layering, with no inclination by the core developers to revamp the guts and create a software interface between the low level control algorithms that a motion controller would replace, and the higher level functions.

The FPGA code used in the Mesa cards is open source, (considered part of the linuxCNC project?). The MESA cards basically create a register bank, so even in the ethernet interface version linuxCNC sends/receives register read/write commands. It may also be possible to build a substitute I/O card using a whole lot of different techniques (FPGA or microcontroller come to mind).

There's some attraction to taking @JimDawson's approach of diving into coding, but I'm really trying to avoid getting too wrapped up in coding on this. I'm willing to wait a few more months to see how things resolve. First step is to get on the linuxCNC forum and see if anyone has a roadmap for how the new Mesa cards are being incorporated into LinuxCNC. Until I do at least that much, I'm basically whining.
 
Once I figured out that the stepper motors I got from StepperOnline do not like to have extra connectors added to their supplied cables, I've been making great progress using LinuxCNC on an OrangePi5 paired with a Mesa 7i96s. That board is targeted at stepper motors with 5V signals for the drivers. So it may not apply to your system with servos.

The Yaskawa servo controllers in this thing can use either step/dir pulses or 10V analog direction/velocity control. Somewhere I got the impression that the analog servo control may give better control/performance than the step/dir setup. That may not even be correct but it is the path I started down. Reverting to step/dir via one of the other Mesa card options may be a good alternative.
 
The Yaskawa servo controllers in this thing can use either step/dir pulses or 10V analog direction/velocity control. Somewhere I got the impression that the analog servo control may give better control/performance than the step/dir setup. That may not even be correct but it is the path I started down. Reverting to step/dir via one of the other Mesa card options may be a good alternative.
My guess would be that if the drive has both, the analog is converted to digital for the step signals anyway.

Anything analog will have amplifiers and inherent bandwidth limiting (filtering). Going from digital control to analog outputs down cables to analog inputs/ADC's to movement is most likely going to be slower than directly commanding a digital controller to one step at a time.

If Step/Dir is an option, I'd look seriously at that. Those digital signals can be pulsed pretty quickly.

At the very least step/dir appears to be the standard for many things now. If you had a drive failure in the future a replacement would be most likely be 'plug-n-play' going step/dir.
 
My guess would be that if the drive has both, the analog is converted to digital for the step signals anyway.

Anything analog will have amplifiers and inherent bandwidth limiting (filtering). Going from digital control to analog outputs down cables to analog inputs/ADC's to movement is most likely going to be slower than directly commanding a digital controller to one step at a time.

If Step/Dir is an option, I'd look seriously at that. Those digital signals can be pulsed pretty quickly.

At the very least step/dir appears to be the standard for many things now. If you had a drive failure in the future a replacement would be most likely be 'plug-n-play' going step/dir.
The one limitation is that the spindle motor needs the analog input, so I need at least one analog channel although that would be relatively easy to resolve. I've posted to linuxcnc's forum to see what they say. I clearly asked is using step/dir made sense verses analog.
 
Pretty straightforward answer, just a matter of which Mesa options to use. The possible combinations are poorly explained on the Mesa website. The new cards can be expanded via either an RS-422 link to break out boards, or a DB-25 format. Seems they are moving away from DB-25 toward RS-422. Just a matter of putting all the options together. A bit more $$ but got a config that should allow me to use either analog or step/dior.
 
Last edited:
The one limitation is that the spindle motor needs the analog input, so I need at least one analog channel although that would be relatively easy to resolve. I've posted to linuxcnc's forum to see what they say. I clearly asked is using step/dir made sense verses analog.
The 7i96s has a 10V analog output for spindle control; though, I decided to go with RS-485 control for the VFD that will drive my spindle motor.
 
Addendum:

But, the step/dir signals for the 7i96s are 5V. I was disappointed when I found out they weren't 24V. Buyer beware.
 
I am a complete amateur regarding CNC controls and associated hardware, so take this with a grain of salt...

It seems like you guys are putting a lot of effort into going the Linux route. If Mesa is slow at developing/deploying hardware, I would quickly move on. There are many other good choices in my feeble opinion.

I have a Sharp mill in my shop that has a two-axis CNC system by Southwest Industries. https://www.southwesternindustries.com/products/knee-mills. Having messed with it a little over the last few months, I have decided that I am going to convert it to a 3-axis machine, utilizing the quill as the 3rd axis. There is a strong probability that I will be utilizing Centroid All-in-1 control system for mine. The user reviews from YouTube, etc. are very positive. It runs servos and closed-loop systems. I don't see a need to reinvent the wheel. I did look at Masso but was not impressed with user feedback.
As far as latency, etc, I am not running a production shop so squeezing the last microsecond out of the machine is not important to me. I don't mean to discount the path you guys are going down, and it appears that you know a lot more than me, but is all of that effort worth it when the final result will be to make chips?

My $0.02
 
Does southwest need too much $ to upgrade???

A friend has a recent mill of theirs and it is one cool machine.
 
I am a complete amateur regarding CNC controls and associated hardware, so take this with a grain of salt...

It seems like you guys are putting a lot of effort into going the Linux route. If Mesa is slow at developing/deploying hardware, I would quickly move on. There are many other good choices in my feeble opinion.

I have a Sharp mill in my shop that has a two-axis CNC system by Southwest Industries. https://www.southwesternindustries.com/products/knee-mills. Having messed with it a little over the last few months, I have decided that I am going to convert it to a 3-axis machine, utilizing the quill as the 3rd axis. There is a strong probability that I will be utilizing Centroid All-in-1 control system for mine. The user reviews from YouTube, etc. are very positive. It runs servos and closed-loop systems. I don't see a need to reinvent the wheel. I did look at Masso but was not impressed with user feedback.
As far as latency, etc, I am not running a production shop so squeezing the last microsecond out of the machine is not important to me. I don't mean to discount the path you guys are going down, and it appears that you know a lot more than me, but is all of that effort worth it when the final result will be to make chips?

My $0.02
Already got the Mesa/Linux route straightened out. Did what I probalby clearly should have done months ago and posted a question on the linuxcnc forum. Problem resolved in about 30 minutes.

Latency isn't (primarily) an issue of speed, but of positional accuracy. If the latency is too large the controller misses the position estimate by a large margin before updating. Think about navigating with a GPS that displays the position several minutes later.

edited to add: Working on too many projects in parallel and much of this was, as I said earlier, is just whining (or sharing my journey). Just hoping I'll have my bridge crane done in a month or so and will be able to move on to working on the CNC, along with 3 or 4 other projects that involve disassembling bigger machines.
 
Last edited:
Back
Top