• Your membership appears to have expired. Please consider renewing your membership to the OTI as the dues are used to support the great content within the site, the Symposium and all the educational content for new and established ornamental turners. PLEASE CLICK HERE TO RENEW YOUR MEMBERSHIP If you believe this message is in error, please contact our Treasurer Thank you.

2nd generation Computerized Ornamental Lathe up and running


As some of you know, I've been working on a 2nd stage for another OT lathe. The price was right ($72 on eBay and included stepper motors). This 2nd stage has a total travel of 8" each direction. This permits me to mount the stage behind the lathe and be able to make cuts from the back or from the end of the work (either forward of center or back of center) and allows work up to 12" diameter (more than I need). See the photos I posted today.

The main goal of this 2nd machine is to bring it up using EMC running on Linux on an old PC. My stepper driver is a Gecko G540 (can drive 4 motors) connected via a parallel port to the old PC. This will give me some practical experience with g-code and EMC running in more of a batch mode. I've modified my RESurface software to output a g-code file (this will take a lot of work yet to refine, so don't ask for a copy of it just yet).

My original machine used Phidgets stepper drivers. They did NOT coordinate the movement of all the stepper motors together. The custom program I wrote would tell each of the steppers where to go, and then wait for each of them to indicate that they arrived at the programmed coordinate. This resulted in a lot of "start-stop" kind of motion and as a result there was a limit to how fast one could cut.

On the other hand, EMC coordinates the movement of all stepper motors while moving at the same time. It can do this because it generates the pulses for the motors via a parallel port with very low latency. Moreover, EMC appears to do some "look-ahead" to the next instruction and doesn't decelerate/stop a motor if it knows that it will continue to move with the next command. This results in much smoother motion and faster cutting (if you choose to cut faster for coarse cuts).

Anyway, I mounted the tool post and started making some cuts yesterday. Here are my initial impressions of using g-code/EMC versus driving directly from my custom software:

-> The first thing I notice is that the motion of all the motors/stages is much smoother. This is mainly because every point does not cause a deceleration/stop. I can turn up the speed much faster for rough cuts. This is probably the biggest advantage I see to using g-code/EMC compared to my prior approach.

-> There are a lot of subtleties to even simple g-code. As I write my g-code output software, I have the 2nd machine right there to find out what works and what doesn't work.

-> You really need to use inverse time mode for everything (thanks for the pointer, Dewey). If you move to a coordinate that does not actually cause any movement in the X and Z stage (like on the top of a broad hump on a rosette), then the feed rate is interpreted as degrees/minute rather than inches/minute. This causes the spindle to suddenly rotate VERY slowly. Since you don't know in advance what resolution the end user has (stepper resolution, micro-stepping, lead screw pitch, etc) the only solution is to use the inverse time mode. Every operation then takes place in the specified fixed time. This causes very smooth spindle rotation independent of whether the XZ stage is moving or not. It's just is more of a pain to program the g-code output using inverse time.

-> For handling the "wrap-around" of the spindle (c-axis), the g92 offset seems to work just fine. For example, once I get to a full rotation (c=360.0) then I issue a "g92 c0.0" code which now defines this current position to be "zero". EMC accumulates these offsets and even keeps track of them from run to run. The only thing is that the values are still there the next morning when you boot the computer and launch EMC. I manually enter "g92.1" to clear out the values and reset the first thing in the morning prior to homing the axes.

-> The cuts I'm getting are pretty good, but not as good as with my original machine (using the same lathe bed, cutting frame, and pattern). This is partly due to the fact that not everything is bolted down securely. I notice that if I put a dial indicator on the bed of the lathe and touch the tip to the stage, then simply putting my hand on the stage with some weight causes about +/-2mil movement. This is NOT GOOD for real work. I'll look for a piece of scrap granite counter top and then bolt everything down securely.

Sorry for the long post, but I know some of you were waiting to hear from me on this project. More results to follow.