Add Fiber-optic Control To Your CNC

CNC machines can be very noisy, and we’re not talking about the kind of noise problem that you can solve with earplugs. With all those stepper motors and drivers, potentially running at high-speed, electrical noise can often get to the point where it interferes with your control signals. This is especially true if your controller is separated from the machine by long cable runs.

But electrical noise won’t interfere with light beams! [Musti] and his fellow hackers at IRNAS decided to use commodity TOSLINK cables and transmitter / receiver gear to make a cheap and hackable fiber-optic setup. The basic idea is just to bridge between the controller board and the motor drivers with optical fiber. To make this happen, a couple of signals need to be transmitted: pulse and direction. They’ve set the system up so that it can be chained as well. Serializing the data, Manchester encoding it for transmission, and decoding it on reception is handled by CPLDs for speed and reliability.

The team has been working on this project for a while now. If you’d like some more background you can check out their original design ideas. Design files from this released version are up on GitHub. A proposed improvement is to incorporate bi-directional communications. Bi-directional comms would allow data like limit-switch status to be communicated back from the machine to the controller over fiber.

This optical interface is in service of an open-source plasma cutter design, which is pretty cool in itself. And if the IRNAS group sounds familiar to you, that may be because we recently ran a story on their ambitious gigabit ethernet-over-lightbeam project.

16 thoughts on “Add Fiber-optic Control To Your CNC

  1. Throw some VFDs in there for even more noise. Plasma cutters + VFDs are basically a recipe for a cacophony of electrical noise. No wonder. Love the use of Toslink cables and fittings as a COTS solution.

  2. Milltronics uses fiber optics to connect from their controller to the I/O panel and FANUC does it as well, at least on older machines.

    There also used to be a product on the market for motion control in the film industry used for multi channel step/direction control. It was actually pretty simple, it used a parallel to serial chip (I think a 75000 series IC) and dumped the serial through a fiber optic transceiver and then reversed that on the other side with the complementary IC. No need for encoding, cplds, pr fpgas.

    1. Any FANUC systems using Alpha-i series intelligent servo drivers (which includes nearly all which are 1996 or newer) will have a fiber-optic link between the servo drivers and the controller.

  3. Considering the reason the 99.99999999999% of the rest of the world doesn’t have this problem is that one keeps the machine controller next to the machine, I’d be curious to hear what the use case is here that prevents them from doing just that.

    1. Using a low-cost plasma cutter like Cut50 with HF start will stop the controller if next to the machine and in fact PCs and other machines in the same room encounter problems. Generally this happens when the arc is broken on plasma cutter, like the head cuts over a hole in the material or so.

      On the other hand, fibre is so cheap this days, that the cost of your machine may be lower if using it then good quality shielded cabling.

    1. That and putting everything in an enclosure on the machine so there is nothing to catch interference from. Use well shielded and terminated cables, use bypass caps on power supplies to ground, etc. Most plasma cutting systems I have worked on (up to 600A) are HF start and interference is a non-issue since they were designed well from the start.

  4. Max, “Next to” is a relative term. On a smallish 3d printerany given stepper is probably within 12inches, but with a full size plasma machine the far end can be 12+ft away from the control, and variably near a incredibly noisy electrical plasma source. Using optical signals for this makes alot more sense than it would on a smallish 3d printer..

  5. While interesting, this is a totally unnecessary, and perhaps detrimental. Any properly designed motor controller will not generate enough noise to require fiber optics. I say it might be detrimental because the FO solution doesn’t actually solve the problem (too much EMI); it just accepts it.

    1. It’s not about the controller *generating* noise, it’s about the plasma generating noise and the controller circuitry *receiving* it unwittingly. This may be a semi-unusual case, but there are =plenty= of scenarios where electronics are faced with epic quantities of RF, and must be designed accordingly. This solution is pretty slick, and uses commodity parts. What’s not to love?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.