Lathe work

A 31mm long prototype part with 6mm diameter in one end and 3mm at the other. From an M12 stainless steel threaded rod (the only stainless at hand...)

EMC2 upgrade

I've upgraded Ubuntu and EMC2 on the Atom 330 machine I have for controlling the lathe. The Atom 330 is a dual-core chip, but with Hyper Threading the OS can see four cores. That's not good for real-time performance, so the first thing I did was turn off HT from the BIOS. Next I did a distribution upgrade to 10.04LTS which downloaded about 1 Gig in an estimated 9 minutes (2Mb/s is OK I guess...). I then used the emc2-install script which installs the real-time kernel and emc2, and finally I edited /boot/grub/menu.lst by adding "isolcpus=1" on the kernel line. This reserves one cpu core for real-time and the other for non-real-time tasks. Without "isolcpus=1" the latency-test jitter values were easily 10k and more with a light load on the machine. With one core dedicated to real-time the jitter numbers start out at around 4k at light load and double to 7-8k under heavy load.

Here are some selected screenshots:

Next stop is getting the X and Z servos moving, as well as the hefty 2 kW spindle servo.

Lathe tool-post and tools

My order from RDG tools arrived today. The quick change tool post if T00, or Myford-size, for 12 or 12.7 mm tools, and included three holders. I also got a pack of five extra holders for a total of eight. There's a set of seven 12mm carbide-insert turning tools, and an internal threading tool for metric (60 degree) threads.


The order with ER11 and ER25 straight-shank collet chucks including sets of collets from CTC hasn't arrived yet. Since it comes from Hong Kong it will probably go through customs and I will have to pay VAT...

Lathe parting tool

I've ordered a bunch of tooling from RDG (, Chronos (, and CTC ( for the lathe. There's at least one more of these deep-discount tool stores: These stores sell tools of mostly Chinese origin, but I think they will do just fine for hobby use, and the price-level certainly is only a fraction of what European tooling costs. If anyone knows more of these let me know!

The first things to arrive were a set of center drills and this Glanze parting tool from Chronos. I've settled on only a "Myford-size" T00 tool-post which has holders for max. 13 mm tools.

Lathe chuck

The lathe-project I bought in November is slowly moving forward. I got an Optimum/Quantum 100mm 3-jaw chuck for it today. Turns out the spindle needs to be disassembled to attach the chuck, so this was an opportunity to look at how the spindle is built.

The front bearing seat is machined into the spindle box, while the back bearing seat is a separate bolted on part. The front bearing has a nice 2-part aluminium chip-guard which protects the bearing from coolant and chips. A chip/dust-guard for the back bearing would probably be a good idea too. The spindle is held in place with a nut against the back bearing that tightens the whole assembly. This nut will probably need a set-screw or something else to secure it rigidly (rapid accelerations, changes of direction etc. might otherwise loosen it?). The chuck attaches with three M8 hex bolts, and the 20mm ones which came with the chuck are a bit short - need to buy 3pcs 25mm M8 hex bolts. For now everything is dripping with anti-corrosion spray, but for use the bearings will require either grease or oil (oil is better for higher RPM?). Also, I need to source a timing-belt and 1:1 pulleys to transmit ca 2kW @ 3000-3500RPM from the spindle-servo up to the spindle. Any suggestions?

Wires, wires, wires…

Number of wires from servo-motor to controller on my lathe build: 19.

1: Motor power U
2: Motor power V
3: Motor power W
4: Hall sensor +5V
5: Hall sensor U
6: Hall sensor V
7: Hall sensor W
8: Hall sensor GND
9: Encoder +5V
10: Encoder A
11: Encoder B
12: Encoder Z
13: Encoder GND
14: +Limit switch Common
15: +Limit switch N.O.
16: +Limit switch N.C.
17: -Limit/Home switch Common
18: -Limit/Home switch N.O.
19: -Limit/Home switch N.C.


The motor currents go through the AMP-connecor, everything else through the 25-pin D-connector.

I'm glad the lathe only has two servos (and a spindle), I would go mad with a 5-axis machine...


Drilled four holes for AMP-connectors and used a hole-punch to make cut-outs for eight 25-pin D-connectors. The four motor-connectors will provide 3-phase power to the spindle-servo, the X- and Z-servos, and a high-speed live-tool spindle. The servos have three Hall-signals and three(single-ended) or six(differential) encoder signals which will enter the cabinet through the D-connectors. I'm using these since I'll use 25-pin printer-cables for the Hall/Encoder signals. There are eight D-connectors just to provide some room for expansion. Three will be in immediate use for the three servos, one for limit/home switches, and one or two will be used for a jog-pendant.  That still leaves three 25-pin connectors unused (tool-changer? tool-length probe? etc.)

Also mounted the breakout-boards inside:

Mesa 5i20 breakout boards

In 2006 I made optoisolator cards for the cnc-mill project, but now with the lathe I am using servo-drives and a VFD which mostly already have optoisolated inputs, so I will use these very simple breakout boards instead. There are two pitch-standards for the screw-terminals, an imperial one with a pitch of 5.08 mm (i.e. 0.2 inches), and a metric one with 5.0 mm pitch. These boards are for 5.0 mm.

Pads logic and layout files: 2010_01_16_m5i20_breakout_board

Etch-mask (PDF): etch-mask

Atom330/ITX computer for EMC2 lathe-control

I put together this small computer which will be used to control the lathe. The components for this kind of box are quite inexpensive:
D945GCLF2 motherboard including 1.6 GHz Atom330 CPU, 76 eur
Codegen MX31 case including 420W PSU, 46 eur
2Gb DDR2 memory stick, 46eur
Samsung 320Gb HDD, 44eur
Labtec keyaboard + mouse, 17eur

Total:  229 eur (no display) parts from jimms-pc and

The motherboard has one PCI-slot for a Mesa 5I20 FPGA-card which provides 72 digital I/O pins for real-time control.

Here is the D945GCLF2 motherboard. The CPU doesn't need a fan, but there is a small fan for the PCI-controller(?).

Realtime performaceshould be OK, I was getting about 10 us of jitter for a 1 ms thread.

Lathe Electronics Cabinet

A bit of progress with the electronics cabinet for the lathe. Some components have been bolted to the back wall of the cabinet. From left to right: a Bonmet servo-drive for the main spindle servo, a Siemens VFD for the live-tool spindle motor, and to the right two Brushless PWM amps for the X and Z axis motors from pico-systems. Below these there are two 350W 48VDC switched-mode powersupplies. Today I made holes for two 220VAC 120 mm fans which blow air from both the left and right side into the cabinet directly on the heatsinks of the servo drives. There are plenty of holes in the bottom of the cabinet through which the air can exit.