PDA

View Full Version : Home-made CNC lathe using servos



r3292c
6th Nov 2018, 06:30 AM
This is a thread about CNC Lathe I recently built. This is my first CNC machine, and obviously, I’m not a CNC guru. Being an engineer, I prefer more practical ways of making things rather than R&D approach with investing plenty of time, money and energy. This is also why I use simple and robust ideas instead of diving deep into unique ones and solving the problems just created.


https://youtu.be/73clOyYkPpQ

I started with Atlas lathe bed I bought on ebay. This bed has pretty wide (1-1/2”) flat ways, so one can easily put the linear bearing rails on it.

376716

I use THK HRW-21 slides. The rail is 37mm wide, so it uses the whole width of the bed ways. The slide block is 21mm tall (with a rail) – this is a low-profile series. I think it’s important to use low-profile one here because the overall heights of the “sandwich” limits the maximum swing over carriage. The same HRW-21 slides are used for X coordinate as well.

I put ~1/2” aluminum plate in between of Z and X rails. I milled the surfaces and made the threaded holes to mount the slides on the plate. The X-screw supports are also mounted on the plate. The milling was done on my manual EMCO machine.

376717

There are some essential parts I bought in LMS online store. These are: the headstock casting, the spindle with 4” flange, and the milling table.

376718

376719

376720


I didn’t buy the headstock assembly because it goes with 3” spindle, ball bearings and other stuff I didn’t need (gears, etc.). I installed roller bearings. The riser blocks were made to rise the headstock by 1-1/2”.

1605 ballscrews were installed on both coordinates. The bed has about 42mm spacing between the ways. So 40mm wide ballnut fits perfectly.

376721

376722

To be continued with Drives and Tooling.

KBs PensNmore
6th Nov 2018, 06:47 PM
Thanks for the "How to", looking forward to the rest of the article.
Kryn

r3292c
8th Nov 2018, 06:03 AM
The cross-feed (X-) rails are bottom-up mounted. The rails are screwed directly to the table. The threaded holes of X sliding blocks were drilled through with a carbide drill bit.

376743
As you can see from the picture, X slides are exactly above Z ones. All the slides have the same exact position with a respect to each other, they don’t move. When the active tool (and the table) moves to it’s working position, it stops in between of the slides, and the cutting force is applied vertically. No bending force created, at least for reasonable part size.

r3292c
8th Nov 2018, 06:08 AM
I use Yaskawa SGMAS-01ACA21 servo motors and SGDS-01F01A drivers for controlling X and Z coordinates. Here is some basic info on screenshots below.

376744376745



HTD-3M pulleys with 4 x 1 ratio are used to drive ballscrews. Servo has x1 timing pulley, and ballscrew has x4 one. So, the ballscrew has ¼ of servo’s RPMs, and torque is multiplied by 4. As a result, the equivalent moment of inertia of parts being moved is divided by 42 = 16 times, what is good for overall feedback loop stability. Less powerful motors can be used as torque is multiplied by 4. However, the maximal speed is also divided by 4. If the motor can typically provide 3000RPM, the ballscrew can run at 750RPMs. Since I use 1605 screw, it gives me 5mm * 750RPM = 3750mm/min = 3.75m/min = 147inch/min maximal linear speed. This speed is probably not the best result for a large industrial machine, but I’m happy with it on my small lathe. The tool typically moves by 1-2 inch, not more.
The servo motors and drives can go to overload providing x2-x3 torque and running at 6000RPMs for 2-3 seconds. This feature also helps accelerating and decelerating quickly.

What I also like about servo drives - they don't need huge transformers for supply. They can be plugged directly to the wall outlet.
376746

100W motor looks tiny, it's just 76mm long. Z-axis motor.
376747


X-axis motor
376748

r3292c
8th Nov 2018, 07:00 AM
I used SigmaWin+ tool to configure and auto-tune my servodrives. This tool is available for free download on Yaskawa website, as well as all manuals. This tool allows to:
1. check the drive,
2. configure it to one of the standard settings (velocity, torque, position, combined mode, etc.),
3. auto-tune electromechanical control loop,
4. check the Gain, stability and Phase Margin of the loop,
5. automatically search and suppress electromechanical resonances (tool performs FFT analysis and enables notch filters),
6. apply hundreds of settings, limits, adjustment manually.

I use these steps above to setup and configure my Sigma-3 servodrives as a part of the lathe. As I know auto-tuning is not available on older Sigma-1 and Sigma-2 generations. The next Sigma-5 and Sigma-7 gens are much more powerful!
What is really great about SigmaWin+, that it analyzes the performance of the whole machine! (mill, lathe, plasma cut), considering servodrives as parts of the bigger system. The tool tunes-up the servodrives to a machine-specific rigidity, inertia, friction, step-response to provide the best performance in each individual case. Even my Z and X drives have different settings after auto-tuning, because the weights and rigidity of Z and X axis’s are different.
Yaskawa manuals are very technical, detailed and clear. These are one of the best manuals I’ve ever seen. JZSP-CMS02 cable to connect servodrive to PC is available on ebay.

pippin88
11th Nov 2018, 10:28 AM
Fantastic work.

Very nice write up.

I like the use of the old flat way lathe bed.

r3292c
13th Nov 2018, 05:25 AM
The spindle is driven by 400W SGMAS-04ACA41 servo motor by means of HTD-5M timing belt and 2 x 1 pulley set.

I wanted to have a more powerful motor initially but can’t find anything greater than 400W with 110V AC supply. All servos having more than 400W require 220V AC supply. I didn’t like the idea of having two different supply rails – 110V for axis’s and 220V for spindle.

Then I found Walter Machining Calculator (https://www.walter-tools.com/en-us/press/media-portal/apps/tools-more/pages/default.aspx) that helps calculating cutting force (and driving power needed) to cut different materials at different speed, feed and depth. Using this calculator, I realized I do not need more than 400W on a small lathe. Since I use servo motor, I’m talking about “true” 400W mechanical power with up to 1kW “overdrive” peak power. I was happy about using Yaskawa servos on coordinates, so I converged to using 400W SGMAS-04ACA41 servo motor for spindle. The servodriver for this motor is SGDS-04F01 (reminder: "F" means 110V AC, you need "A" for 220V AC, see tables below).

376864

This motor has 3000RPM nominal speed and 6000RPM peak speed. The timing pulleys reduce the speed on spindle by 2 with doubled torque. Typically spindle runs at 1000-2000RPM. I can cut 7075 aluminum of 80mm diameter without a problem (not at 2000RPM, of cause http://metalworkforums.com/image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7:) ). Just haven’t tried anything bigger than that.

376865

r3292c
13th Nov 2018, 05:30 AM
Servodrivers are connected to LPT port of the PC. The only interface used in between of PC and servodrivers is the one recommended by Yaskawa. It’s a simple SN75174N signal converter. It takes digital signal from PC and generates a pair of output signals – the buffered signal and the inverted one.

376866376867

This pair of complementary signals goes to the differential input stage of servodriver. The input signals that need to be buffered are “PULS” (step) and “SIGN” (dir) for each servodriver. Two DC voltage sources +24V and +5V are required to enable the driver. That’s all you need for communication if you use "step-dir" protocol.

376868

SCSI MDR 50Pin Connectors are used to connect to servodrivers, and DB25 D-SUB Male Plug Adapter to connect to PC.

376869376870

My first hook-up :)

376871

I use MACH3 to generate “step-dir” control signals. Standard MACH3 setup, nothing special.

r3292c
16th Nov 2018, 06:29 AM
Here is something about tooling.
First, I tried to use a simple and quick idea below. The carbide insert is installed on the top of 1/2” bolt. Of course, the height of the bolt is trimmed precisely to have the edge of the insert at the lathe center. This idea works fine, it can be used for external turning. If the thread insert is installed, the external threads can be machined either.

376918
However, both X- and Z- coordinates of the insert tip must be re-captured every time the insert is replaced. This is not convenient.

Then I made module holders for 2 and for 4 tools. I used 2” thick 7075 aluminum plate. There are 2 pins on the bottom surface of the module. These pins have a tight fit into the slots of the table. So, the module is aligned by the pins inserted into the slot. There are 16mm holes drilled and bored in the plate. Drilling and boring were performed on the lathe to match the height of the holes.

376919

376920

Tools with 16mm shank are used. I have LH and RH boring bars with 16mm shank, I use these bars for internal (RH) and external (LH) turning. Other tools can be installed into collet chucks with 16mm straight shank. I use ER-16 chucks having 10mm through hole, so I can install smaller boring bars, drill bits, end mills, HSS round stock (custom tools).

Each tool has it's own unique number. The coordinates of all tools are entered to Tool Table in MACH3. After the module is changed, I need to reference just one instrument. After this setup MACH3 knows coordinates of all instruments.

Number of tool modules can be made to use an individual module for a specific part. The basic idea here is replacing the whole module, not adjusting instruments one-by-one for every new part.

376921

r3292c
16th Nov 2018, 08:00 AM
As a conclusion. What do I finally have? I have a small CNC lathe with linear swiss-type tooling. Maximal X-axis travel is 165mm, that allows me to install 4 tools by 50mm distance. More tools (x 5 by 40mm, for instance) can be installed for machining smaller parts. Maximal Z-axis travel is about 350mm, what makes me feel happy. Maximal diameter over carriage is 100mm, over bed – 200mm.

376922

I consider this is a low-cost machine, I bought most of the parts on ebay as used. Sure, the costs of these purchases depend on your personal luck. The parts I bought in LMS were quite inexpensive. I didn’t invest any money in buying CNC controllers or processors for this machine.

It took about 11 months to build this machine. This time includes learning things about CNC, buying components, reading manuals, learning MACH3 and basics of G-code programming. I’m using this lathe almost every day for the last 8 months without any major problem. Minor problems can be fixed easily. I think it’s a great machine, and I’m still happy about it after 8 months of usage. Hope, the information I put here will be useful for someone.

Com_VC
16th Nov 2018, 06:01 PM
Great machine!

I too like the use of an old flat bed lathe with the linear rails mounted to it.

Also I always thought using servos would add too much complication when compared to stepper motors, you make it look easy.

Any plans to CNC the mill?

r3292c
17th Nov 2018, 05:16 AM
Great machine!

Any plans to CNC the mill?

Yes, I do have plans to build CNC mill. That's not going to be a CNC conversion, I don't like the idea of taking a donor with dovetail ways for the conversion. I'm thinking about building a small mill with linear rails only.

r3292c
17th Nov 2018, 06:02 AM
Also I always thought using servos would add too much complication when compared to stepper motors, you make it look easy.


I think it's an interesting comment!
The way I'm using servo's on this machine is the same as one uses steppers. I provide simple "step/dir" for the servodrives. This means I've just replaced steppers by servos. The advantages of servo's over simple steppers are:
1. Feedback control due to the drive reading encoder data;
2. Higher torque provided by servo's - see picture :)
3. Higher resolution due to encoder - 32k pulse per rev. * 4, where 32k ppr is the resolution of encoder, and 4 is the pulley ratio (in my case).

However, I think you can get the same performance if you use hybrid steppers with encoders.

To my understanding, servo's can demonstrate the superior performance in case when analog control is used. In this case the processor calculates trajectories for each axis including accelerating/decelerating at sharp edges (corners) to minimize over/undershoots. Lots of look-ahead calculations are used to see and optimize the trajectory. The real complication (say Kflop + Kanalog) is required for this case. But this is more important for mills and routers.

In case of "step-dir" the tool doesn't really specify the trajectory, it specifies the coordinates of the path step-by-step. It "has no idea" how it moves in between of the coordinates, assuming linear moving.

I'm not an expert, just thinking...

These servo's are really powerful. They smashed the part and didn't even stop until I hit the Estop button!
376953

NGrimberg
17th Dec 2019, 06:36 PM
Hi r3292c,


Looking very nice ! I'm watching with interest. That may be the coolest tool ever. So impressed!! If the aluminum star in a ball is for sale, let me know!

r3292c
18th Dec 2019, 05:18 PM
Hi r3292c,

Looking very nice ! I'm watching with interest. That may be the coolest tool ever. So impressed!! If the aluminum star in a ball is for sale, let me know!


Hello
NGrimberg,
Thanks for your interest. I don't remember I posted a picture of star in a ball here. Probably you found it in my youtube videos.
I don't want to put commercial info in this thread. Added the link to eBay to video description below


https://www.youtube.com/watch?v=6Hm23tCWQJs



Things made on this lathe
383799

383800

Milling on the lathe :)


https://www.youtube.com/watch?v=yaETUKNwMss


And finished item


https://youtu.be/WdQYVJqzMtE