Hi everybody,

I'm following this mailing list for a number of years with one year interruption during kitchen remodeling and unplanned medical leave last year. First annoyance was subscribing again to post to the list. Now I'm getting two copies of each email.

Having experience with mechanical computer peripherals I'm not afraid of building a CNC machine of some kind. I spend a lot of time researching possibilities to achieve my goals:
- convert Grizzly lathe/mill to Linux CNC,
- build a small CNC router for my hobby use (aluminium, plastic)
- build larger CNC router for woodwork use by my relative in EU.

However, I started to wonder last year what's the future of LinuxCNC?
What concerns me most is the computing part mainly based on silly old PC architecture from the 80's. Using PCs for that purpose made sense in the early 1990s to about 2010 but now it's time to move on IMO. I don't see much usable discussions on this mailing list, sorry guys.

There seem to be no major industrial drive to use LinuxCNC as one of available software options to more or less "open hardware design". I believe there's $$$ to be made with LinuxCNC: system design, installation, support, and training for this open source product. OS is free but based on my research CNC kits manufacturers do not offer or mention it at all.

On the other hand, there is plenty of those that include that other CNC thing, Mach??. I wonder why these people are so clueless to design their software for the worst mass produced OS in the history of computers and never bothered to port their product to much better OS Linux?

One thing that's hard to understand on LinuxCNC side is why is there so much emphasis on testing a motherboard to make sure it's going to work well with real time kernel on multi-core CPUs with GHz clocks? Let's say my relative overseas needs to replace a bad motherboard and all I can do is to say 'try different mobos with running timing test'! That's too much folks!

Most motherboards are build for computer gamers, entertainment, and office work so they are bad choice for CNC use. Besides, there is no long term support for motherboards which is critical for industrial use. What's needed is exact selection of hardware that's easy to find and not too expensive.

I worked on a number of industrial applications where Digital PDP-8 had enough computing power to handle huge critical tasks in the 80's. In other cases PDP-11 was used to control machinery in steel mills, hydro power plants, etc. Paper tape, core memory; that was fun. That makes me wonder why it's so hard to find a decent low cost computer in $500 range that would be good for most CNC applications and will last or be supported for 10 years or so?

I bet a plate of sushi that LinuxCNC dependency on PC motherboards is preventing many to venture into business of building CNC machines or kits on this architecture.

On the "PC architecture side" I'm aware of PC-104 but that's very poor design. Ever tried to use scope on the middle of 3 boards in PC-104? Now we have new crop: RaspberryPi, Beagle Board, Arduino, all very powerful compared to computers 40 years ago but all have the same _stupid sandwich design_ that requires wires connected to their boards from all sides or even somewhere in the middle of the PCB. In addition, connectors, data or address lines are not standard as far as their location on pins go or their voltage.

People that designed PDP series were much smarter and solved such problems long time ago so it would make sense to adopt that kind of design but on smaller scale with modern higher density ICs and connectors. Unibus standardized address, data, interrupt, and few other lines. That opened OEM business for PDP platform.

I hate to see parallel port mentioned for use in CNC IO of any kind. That's so 1990s. It would make much more sense using parallel I/O card from Mesa Electronics or some such by default. Anybody serious about retrofitting an old machine to CNC or just building a new one should not mind paying a bit more for a decent CNC computer with standard IO interfaces plugged into standard backplane, not PCs.

VME is too expensive for DIY. RaspberryPi, BB, Arduino, or such were designed for something else. Where does this leave me? On the sideline for now but disappointed over the fact that there's so little progress in this field. I also hate to see thousands of hours, that many of you guys used for designing and tweaking LinuxCNC over the years, go to waste.

Another disappointment is G_code. It's archaic and "inhumane". HP-GL with CNC enhancements would be much easier for use on flat surface jobs IMO. In systems administration work we (some of us) transitioned from korn shell, awk, sed, and perl to more logical and powerful python. Some old things just don't die when they should. G-code with it.

There is new (?) trend in using Arduino and GRBL for entry level CNC. That alone should make it clear that it's silly to search for suitable PC motherboards that can run RT linux kernel when Arduino can handle much of it. Why did GRBL designers go that route? My guess is that LinuxCNC was too complicated from their point of view.

My choice for CNC control would be a system with the following major components: * backplane with power supply and connectors for accepting CNC computer board and interfaces, all using edge connectors.

* headless computer board running LinuxCNC (non-gui) with RT kernel and USB port to get the job related commands from the front end GUI part of LinuxCNC, or independent APIs, and execute them in real time. Small CNC machines could work with Odroid, BeagleBoard, or RaspberryPi like system, bigger ones on more powerful would use 64bit CPU systems.

* two types of servo boards would be plugged into backplane directly. First kind would include motor drivers for use in smaller CNC systems. Another kind would provide signals for more powerful external drivers with large heatsinks like Gecko etc.

* DIO interfaces for connections to different sensors such as magnetic or optical encoders, limit switches, keypads, etc. Manufacturers could make different kinds of IO interfaces that would be able to interrupt main CNC computer in real time.

* front end computer for user interaction with CNC system and outside world. A PC with (ubuntu) LinuxCNC gui or a "tablet" with Android for example. It would be connected to the CNC system over USB3 to control jobs; not motors, relays, or other components in detail. Hint: ROS for managing robots. Bluetooth could also be an option. This would allow for one person to walk around and manage a set of CNC systems quickly.

Sorry it's so long.

Best wishes to all in 2019,

--
Rafael Skodlar


_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to