Under Construction ...


        After I reading the book "CNC Robotic - Build Your Own Workshop Bot", I bump to the KELLYWARE home page. into that link, I bump to many sites that make me very impressive by the creation of many CNC machines by selfmade (Majosofts Hobby Site). Expecially of the John's site : John C Kleinbauer's Unique Plans for Hobbyists, it is very-very impressive. Starting from that, I then start to build my own CNC table. Because I don't have skill much in mechanical section, don't have many tools, still in a new starter and up to my purpose, ie; drill and mill the PCB, I only make the smaller table for this uses. Searching on the net, at last I found Zoltar machine plan that I think, I could make it by myself besides that the part could be found on the local market. It has size about 60mm x 40mm. Perfect size!!!

        First, I search for the important materials, ie: stepper motor drive, threatrods, and mechanic driving. An exception of another parts will be build by myself. I found cheaper threatrods, but the threads very few. I bought 3 of them each with 1 metre length; each of has pitch like 6mm (1/4") with thread about 26 tpi (turn per inch), 8mm with thread about 20 tpi and 10mm (3/8") with thread about 17 tpi. It will drive slower, but I think it's ok for the begining. I found used stepper motor NEMA-23 standard, but the spec for 5-phase coils, not quiet the same with the other making, like 2 phase bipolar or 2 phase unipolar (the spec like stepper disk drive). At first I think, I could found the schematic controller from the net. Searching the net, but I could not found any related with this kind of stepper. Disk drive stepper has NEMA-17 standard (it is about 1.7" dimension). The torque is very small, only can drive small load. Nema-23 standard (2.3" dimension) has more torque to drive. It can drive CNC table with size about 1 metre x 0.5 metre  or below. Up to it is NEMA-34 (3.4" dimension) can drive about 2 metres x 1 metre or below. Up to that is NEMA-42, and so on ... so on ... I put email in the  stepper motor discussion news group, but don't have any replay or answers. So I think I must search for the new ones with the same spec and abandon all what I have or make my own controller for this stepper motor. I prefer the second choice because it is more challenge, besides that I already bought those stuff. For the mechanical driving, I will use ball bearing slide drawers rather than using linier rails with roller bearing. It is more cheaper and easy to get from hardware store (like : ace hardware or home depot/depo bangunan).

        First, I try to hacking the connection of the stepper motor.

Motor Spec is : Vexta, 5-phase Stepping Motor, 6-cable, Type : A2487-9215, 0.75A, 4 Ohm, 0.72Deg/Step, FH7-1413, Under licence of Berger Lahr, Vexta, Oriental Motor Co. Ltd., Made in Japan.

I found the connection is star connection with one cable is the centre tap.

        Searching the net how to run the stepper, I found Prof. Douglas W. Jones tutorial, show algorithm how to run the star type stepper motor for 5-phase coils. I make some experiment on my PC, using parallel port to drive this stepper. Until I am sure the motor could make its run,  then I think how to controlled it using programmed chip. I have microcontroller knowledge, I think it is now to try my PIC-micro project. For more explanation about this stuff goto electronic section. While I still experiment, I also built the mechanical section of the CNC table. Here are the progress ...


        First I collect the parts that I think could be used for this purpose :

2 kind of angle bars, plain type size of 35mm x 35mm x 6000mm and thickness about 3mm. The hole type size of 35mm x 35mm x 3000mm and thickness about 2mm

3 kind of threadrods, 6mm with 26 tpi, 8mm with 20 tpi, and 10mm with 16 tpi. Each of 1 metre length. I don't know yet which one is the match. And some of nuts.

I don't know yet this purpose, aluminum rails, usually used for electrical panel, size of 30mm x 10mm x 1000mm and thickness about 1mm. The white plastic is mothers plate usually used for chopping meats and vegetables. I plan to build the z-plate holder from this material. I need also aluminum plate to make small part. The size depends as the purpose. I can get the 1mm plate. I think this is enough.

Ball bearing drawer sliders, I take the longest one, size about 45mm x 12.5mm x 600mm and have steel thickness about 1mm. It can travel up to 600mm, but at the end point there is a little sway. For this purpose we only used at the begining part only. I think it is stiff enough.

Needs some nuts and bolts of course. Also some washers and spring washers. Because I don't used welding. By using the nuts and bolts, I can adjust the levelling acurately and besides that I don't have the capability of welding yet.

   I got these used stepper motors from refurbished market. But a pity it was a 5-phase type. Hard to find the controller to run it. It is very good resolution indeed, 0.72 / step, I hope that I could make the controller.

What next ...???


        Start to design what it should be like and how??? Here is my plan, but not complete yet!!!

First, I cut the plain angle bar with length 400mm - 4 pcs, and 600mm - 2 pcs, these will be made for table top. There is still half bar left. Make a hole for each corner to joint it with bolt. I don't used welding, I don't know it and I don't have the tools. Also not shown that for the leg, length of about 100mm - 4 pcs. The white bars are the parts after finishing.

I cut the hole angle bar to several size; 500mm - 3 pcs, 300mm - 4 pcs, and 50mm - 6 pcs, total of 3000mm length. Try to see how it looks like. It seem stiff enough. I don't know yet, the motor could drive this steel. If this is too bulky then I think I must cut it a little more.

Then I try to modified 60mm slide drawer to become 435mm. and the rest modified to z driving. I cut 2 of these drawer sliders. Cut the others drawer sliders with the size of 435mm. This is for y-axle drive. Joint it to the y-frame. The rest of this drawer used for z traveling, after modified. Its only has about 6cm stroke. I think its enough for PCB drill and router uses for z-axle travel.

Now I still working for the z-axle drive. Still thinking for the ideas .....!!!

At last, the z-axle drive complete. Complete build the z-axle, and then working to the threadrod. It is quiet difficult also. Then make the connection for the rest 2 axles. Here are the rest ...

The nut I make from 6mm hex nut put 2 top and bottom, the middle fill with plastic tube to sustain the hex nuts.

Then working to x-drive ...

It needs aluminum plate to make the motor frame support.

Here are the x-motor frame support and the threadrod support.

Put the drawer sliders beside the table bed. One of each side. This is for the x-axle drive. Joint the y-axle frame to this drawer sliders. Also it can be seen the x threadrod already put.

Now working for coupling threadrods to motors. I cannot found a perfect material yet. Because I don't have a lathe machine!

Still thinking ...!!!

Solving the problems for rods couplings, I got the perfect coupling using a cup of plastic marker pen. Its diameter size fit the 10mm rod. I used it for the 8mm too, using the reducer from a wall nut (small anchor nut). The top cup drilled to the size of motor aces. The rest 6mm using cable tube. All of the materials easy to find and can be replace at any moment if worn out. The dial I used from 3 1/5" disk drive rotary plate. Here could be seen also limit switch for x-drive. I put it at the moving frame, so the wiring can be made simple. I made it from a push on switch and a micro switch.

You see, now I know the used for aluminum bar, I make it for x and y drive nut mounting. The nut made from wood. For y-drive I used 8mm claw nut, planted to the wood. For the x-drive I used the standard 10mm hex nut also planted to the wood.

Working to the y-drive axis, this is the easier part to do compare to the other axis. Here How I mount the threadrod and limit switch. Limit switch made from a micro push on switch, usually used for PCB reset function.

I moved a little far, design the table for this CNC machine and the result can be seen here. Also a few tests and calibrate using pen for a starting, still perform till now ...

Here are the complete machine ...

The complete machine!

Because the space for this Z-drive is very little, the limiter using a dial beside the drive. The limit switch put on the top. I made this from 3 1/5" disk drive micro switch detecting the disk hole. It's cool!

For the spindle, I got the perfect type, it much, the same as dremel pro tool (maybe a license one) from Krisbow maker. I bought it for Rp.200.000,- include with a few of its accessories bits. Variable speed, 0 ~ 35.000RPM, selectable adjuster(1 ~ 6 speed). But not implemented yet! I will use it! Another kind is a wood router, one speed 30.000RPM, this is more cheaper Rp.120.000,- I think this is to fast to used for PCB drill and mill. It also fit for wood working project. I bought also a few of its router bits for Rp.6.500,- each. The bits are big, 3mm ~ 6mm standard type. Maybe this is for the next dream!

This is how I mount this mini grinder tool ...



        As told before I made all of the controller using PIC Microcontroller, the simplest one type is PIC-16F84A. For detail explanation about this stuff go to electronic section. Here are some of the pictures.

Controller bits setup (LPT I/O port bits) with selected bit function (based on KCAM drawing example) :

  1. X-Drive Step Pulse = pin-2 (DP-0), active low
  2. X-Drive Direction = pin-3 (DP-1), active low
  3. X-Drive Enable = pin-4 (DP-2), active low
  4. Y-Drive Step Pulse = pin-5 (DP-3), active low
  5. Y-Drive Direction = pin-6 (DP-4), active low
  6. Y-Drive Enable = pin-7 (DP-5), active low
  7. Z-Drive Step Pulse = pin-8 (DP-6), active low
  8. Z-Drive Direction = pin-9 (DP-7), active low
  9. Z-Drive Enable = pin-16 (PC-2), active low (I used this since it is not inv.)
  10. X-Drive Limit Switch = pin-10 (PS-6), active high (I used this since it is not inv. and I used Normally Closed contact LS (series connection), if you used a Normally Open LS (parallel connection), set this to active low)
  11. Y-Drive Limit Switch = pin-12 (PS-5), active high (the same as above)
  12. Z-Drive Limit Switch = pin-13 (PS-4), active high (the same as above)
  13. Spindle ON Control Relay = pin-1 (PC-0), active low (This is an inv. output)
  14. Aux. Control Relay 1 (for coolant or vacuum) = pin-14 (PC-1), active low (This is an inv. output, I plan to run a vacuum next)
  15. Aux. Control Relay 2 (for coolant) = pin-17 (PC-3), active low (Also an inv. output)
  16. Spare Input Control 1 = pin-15 (PS-3), non inv. input
  17. Spare Input Control 2 = pin-11 (PS-7), inv. input


        To run the CNC machine, first I tried to use Kelly "KCAM" Software. But not succeed, even when tried to configure the port setting (it's a little bit confused). The motor didn't want to start. I think this is because the PC is too slow. At last I found that to run this software it needs 500MHz PC!!! Then I used TurboCNC (DOS based). This is more friendly. But without the graph display. The result more than I expected. It can run perfectly. My configurations are like these :

The specification for TurboCNC parameters are like these :

    1. Axes Setup :
        X-Axle Drive :
            Steps per Rev. = 500 (My 5-phase stepper resolution)
            TPI of Screw = 17 (This is for the big rod, 10mm) ---> changed to 16.9
            MicroStepping = 1 (Standard controller)
            Reduction = 1 (Direct coupling)
        Y-Axle Drive :
            Steps per Rev. = 500 (My 5-phase stepper resolution)
            TPI of Screw = 20 (This is for the middle rod, 8mm) ---> changed to 19.9
            MicroStepping = 1 (Standard controller)
            Reduction = 1 (Direct coupling)
        Z-Axle Drive :
            Steps per Rev. = 500 (My 5-phase stepper resolution)
            TPI of Screw = 26 (This is for the middle rod, 6mm)
            MicroStepping = 1 (Standard controller)
            Reduction = 1 (Direct coupling)

    2. Motion Setup :
            For all of axles (X-Y-Z)
            Max Speed (Hz) = 2000
            Acceleration (Hz/s) = 1500
            Max Start (Hz) = 500
            Pulse Width (us) = 1
            Backlash Comp = none

    3. Home Switch Setup :
            For all of axles (X-Y-Z)
            Home State = Active High (I used an NC contact limit switch)
            Home Direction = Negative
            Home Position = 0,0

     4. Miscellaneous I/O Setup :
            Spindle-On State = Active High

I could get up to 2000 Hz speed possible, up to this speed the motor start to buzzing and the drive lost steps. But I satisfied with this result. It's enough to run & drill PCB or maybe mill too. For 2000 Hz max speed, I can go about as fast as 12 IPM (Inch Per Minute) = 2000 (Hz) / 500 (steps/rev) / 20 (TPI) * 60 (sec).


        So far the test are so good. But I tried it using a pen, not a really tool. I don't know yet the precision and the result when the real feed rate applied. Still need more experiment ...

I will put the result when the test complete!

Here are some pictures, when I make the first test .....

The distance for x-,y-axis not the same (1/32" more), so I changed the TPI screw parameters.

This is when I wrong setting, put the axle rotate. The result made as if it go from the back.    Here after I put a pen mounting and set it back to normal setting and make some tests program.


        To milling a PCB layout, it takes more than just to run the machine. It needs a CAD/CAM works too. Some program out there can translate PCB layout from *.PCB to GCode or DXF file. I search the net to find how to make an outline drawing GCode from *.PCB file.

One is the very good result from Scott page, mechanical etching PCB, using the popular Eagle CAD drawing to translate it to GCode file. Eagle CAD has the capability to run a user define script program (*.ULP), and with the outlines.ulp (or other modified outlines*.ulp) can generate engrave drawing of PCB layout and the software is free for a limited edition. This file then stuff to CNC mill program (like TurboCNC, or any other programs). But it only can take the eagle format, not like the other PCB CAD like protel, orcad, etc. For this CAD, it must be transfered (imported) first to eagle CAD format. 

Second way, to translate it from an image file (*.GIF, *.JPG, or any other formats) to become GCode file. Many software programs can do it, but the results almost the same all, they can translate it to generate a curve drawing (not an engrave drawing). At last I found one, DeskCNC software, can do such an outline drawing (engrave drawing). This is a shareware program (30 days trial). I try this and the result is also pretty good. Here some of my examples : 5-phase stepper board and washing controller board.

These samples taken from DeskCNC software program.


        Here are some reference links about CNC and PCB drills & routers, others built out there :

LibrariesReferences :

Created on : January 10, 2004
Last updated : Fri, 19 Mar 2004 18:25:41 GMT - by : David Setya Atmaja
Visitors who interest so far : Counter

Home Return to Parent Page

HomeReturn to Parent Page

Yahoo! GeoCities