Hi everyone,
I have what I think is an unusual application, but I think that linuxcnc has the ability to provide an elegant solution to it, and I wanted to get some feedback before committing to the build. Briefly, I need to build a roll-to-roll paper coating machine. I have built several CNC machine tools around linuxcnc, so I am reasonably familiar with the system, but I am about to venture into the unknown.
The crux of the problem is this: as you draw paper off the supply roll and onto the takeup roll, the diameter gets larger, which means that if you run the takeup roll at a constant rotational speed, the speed of the paper through the system increases with time. I realized, though, that this is the analogous (though reversed) situation to cutting large diameter parts down to small ones on a lathe. As the diameter changes, so too does the surface speed. Enter linuxcnc, with its G96 constant surface speed command capability. What I want to do is put a rotary encoder on the motor that drives the takeup roller and a linear encoder that bears on the roller/paper itself with a freewheel on the end. As the roll diameter increases, the encoder registers the change in position and feeds the new position back to the motion control system and the spindle speed is automatically adjusted for the surface speed I specify.
All that sounds perfect in theory, but here is where I run into my own ignorance: does the spindle-synchronized routine that makes the G96 code work require that the machine is actively controlling both axes, or can it be used to passively correct spindle speed as in the above description? By analogy, what I am asking is this: can you configure linuxcnc to control the spindle of a manual lathe for constant surface speed control if you have an encoder that reports the position of the cutting tool?
Thanks in advance for any input/advice! Also, if you know of a better way to skin the cat, I'd welcome that advice too. I'm not married to this idea, it just seems like the best solution that I could implement.