4 ms·
Yep, he's right about the timing issues. I've taken a deep dive into LinuxCNC recently, as I'm using it as the motion controller for my custom servo-driven 3dp/
by defterGoose 7y ago
Yep, he's right about the timing issues. I've taken a deep dive into LinuxCNC recently, as I'm using it as the motion controller for my custom servo-driven 3dp/Mill, and one of the most important decisions one makes up front is what Linux kernel to run. The real-time kernels are all but necessary for doing heavy number crunching and encoder reading, and that's even on a powerful i5-powered desktop machine with custom IO hardware.
As you start to climb into the multiple-thousand dollar arena on a project that was planned with just a couple, you really start to realize why the manufacturing industry routinely pays significant fractions of a $MM for their machines.
- Blackthorn 7y agoIsn't it more that real time kernels are necessary period? The number crunching itself can't be that problematic...I just upgraded an old Anilam mill controller that ran 3 axes. It was running on a 386. The new encoders on the servos are way better, but the replacement modern hardware is also way better. I think in both cases (especially the upgrade), the event handlers and drivers are all done in separate, dedicated hardware
- defterGoose 7y agoWell, you can run the simulation and such without it, but for doing any real work, yes they are necessary. That was kind of my point though: you could in theory put one of those kernels on an RPi or something (barring compatibility issues with the chipset), but you'd probably still be lacking the proper IO hardware, etc.
- Causality1 7y agoAbsolutely agree. Modern operating systems are utter beasts when it comes to complexity and are far less predictable than simpler solutions. There are reasons microcontrollers are still everywhere.