Posts Tagged ‘CNC’

ER16 Collet Box

I haven’t moved as fast as I intended on the live steam projects. Again, just too many irons on the fire. Excuses are easy.

My little Taig Machine business has greatly picked up in the last month. I know why, it’s the new ball-screw mill. I might have the most sales for Taig for September. Taig doesn’t know why, but I must have done something correctly. I know I have been re-stocking and placing orders as one, if not THE busiest months for me with the RDS store.

I do have a workshop CNC project. I have to make a bunch more of the 1” wrenches for use on the Taig mill spindle. The 6061 T6 aluminum is on order. The wrenches have become a popular accessory. Many customers buy just one but it takes two for me to change tools in the collet. One wrench on the spindle and one on the collet. I might offer a slight discount for a set of two rather than sell them individually. But first I have to make more!

As I write this I have my 3D printer running, making ER16 collet boxes. They are a really nice way to keep those small ER16 collets in order. The Taig set is not supplied with any type of permanent holder or storage box. The boxes are selling good.

Decent weather (temperature) has come back to Texas. That makes working in the shop much nicer. That’s what I considered for getting back to the live steam work, comfortable working conditions.

I received a good question from reader feedback at Ramblin’ Dan’s Store. It was sent to me as a private email, but I think it is worth making my reply public. MPS2000 is a CNC micro-mill produced by MicroProto, the CNC division of Taig Tools. The question is about using a laptop computer for CNC control.

“Looking to see if there is a way to rum my machine (CNC Mill) from a lap top. Has the MPS2000 software been upgraded to true 3D?”

My reply,

Not sure of your question of “true” 3D. I don’t use or support MicroProto (MPS) controllers and am unaware of any (perhaps hardware?) issues about 3D mill operation and the MPS controllers. The software is MACH3 which can certainly run 3D CNC action in 3 or 4 axes on a single parallel port. I have been doing it for nearly 2 decades.

There may be purest fanatics with certain micro accuracy issues with MACH3 and such things as trajectory planning and my answer is, “don’t use it if it is a bother.” In practical use, it works fine for the hundreds of projects I have run. (Because of issues with Windows 10) I recently switched to LinuxCNC. Not perfect either, but is works for what I need. 🙂  BTW… I don’t recommend LinuxCNC to a non-programmer unwilling to hack code.

Tormach for example, has switched to their own (self-supported) version of Linux based CNC called PathPilot

The problem with laptops is the built-in energy conservation techniques at the OS or hardware level that may shutdown ports or interrupt the critical pulse timing. Of course, laptops are being used, but there are too many variables for it to be recommended.  One solution is to use an external pulse generator fed by USB or LAN port for laptop use. I have used a Warp9 “SmoothStepper”  and this one, but there are many others. These devices are probably not “perfect” solutions either.  🙁

Example – 3D printers work on laptops (also stand-alone using memory cards) because the timing is created within the self-contained printer controller and not dependent on step timings from the laptop.

MACH3 is still very usable and popular but is no longer actively being developed. MACH4 REQUIRES an external pulse generator. MACH3 and LinuxCNC both use step timings generated within the computer operating system. This requires a “real time” uninterruptible version of the operating system to function reliably. That is unless you add an external generator.

I hope this helps with your question…

“I was told MPS2000 moved then held the Z axis while interpolating X and Y, this 2 and a half D.”

Interesting. I have never seen that as a problem in real operation. The decision between 2-1/2D machining and 3D machining is made in the CAM program and not the controller (MACH3) software. Nor in the actual MPS2000 controller.

I have only viewed one MicroProto controller in operation.

All computers are digital, so there may inherent Z before XY operation in MACH3 which happens at a very micro analytic (between timing pulses) level as there is no (never) parallel execution possible in code written for a single core processor, which only operates in a serial execution mode. (MACH3 is not multi-core aware). I suspect multi core processors with conventional OS systems are not true parallel processing. Parallel path (streams), but not true parallel execution. (Because of memory access and other time sharing issues.) The processors and both the OS and program code have to be specifically designed for true parallel computations. Not the case with consumer PC’s.

In any case, in the speeds a Taig mill will normally run (30-50 IPS), it will probably never be a detectable issue in MACH3 output. With microstepping (I use x4) for my Taig(s), 200 steps x 4 = 800 steps x 20 TPI screws = 16,000 steps per inch. 1″/16000 = 0.0000625 movement per step. In a real world, any hesitation, unless it is a great many steps delay, is wiped out by vibration, TIR of the spindle and backlash of the drive system and the stepper movement itself. Most computed moves are multi-step for distances far greater distance than 0.0000625 inch. Plenty of time to do the 2-1/2D computations (in serial) that I mention. Those computation results are also stored in a multi-line output buffer, so there is no rush unless there are a very fast sequence of very small moves. However, this fast execution of steps IS a typical operation of rapid, highly detailed 3D milling. The MACH3 buffer size is adjustable for best performance.

Pushing the IPM milling speed beyond hardware design limitations will always cause problems. MACH3 has settings for fast pulse timings and high speed hardware. That only helps with capable hardware. It will not help an MPS controller and a mill with 20 turn screws and stepper motors that are most powerful at low speeds. MicroProto recommends half stepping and I recommend at most, quarter stepping (for smoothness).

Software output accuracy usually far exceeds the obtainable accuracy of the hardware.

MicroProto reports 0.000125″ (half stepping) resolution and 0.0005″ mechanical repeat-ability. How it does it is unimportant, unless it can’t reach these specifications.

I don’t hang out in the popular forums because there are usually too many pundits with obscure “facts” to discuss. What you “heard” may be absolutely true, but does it have ANY relevant effect on real world operation?

How long does that 2-1/2D style computation take?  That may be how MACH3 reads G code, but not a function in the MPS2000 controller. The MPS2000 controller is not doing any 2-1/2D processing or interpolating. (That is what I infer from your info.) The controller only receives a stream of real time steps and a direction pulse from MACH3 on 8 parallel input lines. Maybe there is loading delay with a controller hardware buffer? Load Z and execute, then load X,Y and execute? If true then ramping into a cut would be very fragmented. But then, would you ever see a 0.0000625 inch stair step?

Apparent (averaged) action is far more important than actual action. It is the reason digital audio sounds like analog audio, especially with high sample rates. I have seen this misinterpretation of one axis at a time CNC movement before on forums. It probably arises form very basic serial stream control used with simplistic robotic electronics and devices. Not real time G-code CNC 3D machining controllers.

Perhaps, with VERY old and slow processors… or super fast VMC operations would there be an issue.

Not a real world problem IMHO for the Taig hobbyist. I will file this in my memory bank in case I hear more of this “issue”.

Laptop operation is a totally different animal.

🙂  Dan

PS  I have pushed my newest Taig mill with standard screws to over 100 IPM rapids with digital drivers. I operate normally at much less than half that speed. Banging the hardware around at 100 IPM is not good on the hardware.



First look. I poked around looking at the trending in 3D CAD/CAM tools. Autodesk (AutoCAD) has always been at the top of my unobtainable list because of cost. I have a now quite old LT version which is strictly 2D. I also have a standard AutoCAD I think is version 4 or 6. Neither are installed on my machines. I need 3D.

In my web search I discovered a new tool from Autodesk called Fusion 360. I was actually reading about Apple’s new super powered iPad Pro. I thought if I owned an iPad Pro, it would have to do 3D CAD. I discovered a new 3D CAD program for the iPad Pro called Shapr3D.

Shapr3D looks very Avant-garde performing on the iPad Pro. Here is a quote from their home page: “All you need is your iPad Pro, an Apple Pencil and Shapr3D.” The program is listed as “free” but the first two requirements are a bit beyond my budget. That didn’t stop me from exploring the application features,

In the reviews I read on this product, there was a mention of the Fusion 360 application. I followed the hyper-link and discovered it is an Autodesk product. Now I am paying attention.

Fusion 360 is more advanced than Shapr3D. It is also one of the new wave “cloud subscription” products. For professional users, it is a subscription service with a monthly/yearly user fee. It provides a huge amount of professional services, sharing, cloud storage, etc. I expect something from Autodesk to reek with such high end features,

What is truly startling, is a full featured, fully operational, free installation is available for start-ups groups and developers and individual hobbyists (me), no strings attached. I will have to confirm my non professional use on a yearly basis. If I earn $100,000/yr from designs made with Fusion 360 I must pay the, less than $1/day owners fee. (Monthly or yearly) Truly a pittance for a tool that is producing that kind of return. What an extremely reasonable plan to build loyalty and skilled users.

Students and teachers have a slightly better offer as their continued free use is confirmed only every three years.

Autodesk is quite open about this free subscription. It runs on both Apple and PC computers. I don’t need to buy an iPad Pro. Ha!

Sharpie Holder

Sharpie Holder

I was able to quickly grasp the fundamentals of the Fusion 360 3D drawing tools. In the first few hours, I made a few very simple designs and 3D printed the Sharpie holder pictured. But Fusion 360 does so much more. It has a full CAM interface built in for CNC G code machining, Material stress analysis, movable parts testing. Much more than I can mention in this “First Look”

I have only “played” with this tool for less than a day. I have a lot more features to investigate and discover. This could be a serious challenge to my Rhinoceros and MecSoft RhinoCAM because of the free cost. I have yet to explore the CAM features of Fusion 360.

From what I can determine, Fusion 360 has existed for about three years. I was unaware as I have not been looking for a new drawing tool. It appears to be under constant development and new features are continually being added. Easy to do with a subscription type service.

So there may be some rough edges I have not discovered. But I have seen enough to install it on my computer and write this “First Look” review. The professional user has a 30 day opportunity to run and test the program for free, From what I have seen in this short time makes it worth the investment of time to check it out in a full install.

For the hobbyist, it seems almost too good to be true. I won’t know unless I give it a try.

The switch to Linux CNC was not without some trepidation. I left a machine control system (MACH3) that has worked well for me for over a decade. When something old still does its job very well there is no need to make a change. (It’s a shame human corporate careers don’t follow that philosophy. 🙂

The truth is , MACH3 is still a perfectly fine CNC machine control program. It’s a tool that just keeps working. The problem I have been bemoaning is the computer operating system with which it must operate within, has left it in the dust and moved on to a better social life.

Yes, I have kept the old OS on my old machines, but as I add additional machines and CNC computers to my shop, the old OS, which must have a license to prove it is legal, is no longer provided or can be installed on new hardware. The MACH3 license is a site/owner license so I can run as many copies as I need. The problem is the computer operating system.

So now my go-to is the Linux OS and CNC software called LinuxCNC (a.k.a EMC2).

I am very fluent in the Linux OS, as I have been working with it almost since it was first created. No, I am not a guru, but let me say, “I know the language.” That helps a lot.

I feel sad that I can not highly recommend Linux CNC to every (hobbyist) as a replacement for MACH3. It definitely CAN be a replacement for those folks where editing and rewriting software at the program level and working with Linux at the system command line level, are no problem.

There exists a large amount of documentation. However, Linux CNC is still evolving and I have to be very careful when searching for a documented solution for any issue I may be having. The obsolete material is never deleted (and probably shouldn’t be) so it is up to the reader (me) to search for the kernel of truth among all the chaff.

Enough of he gloom. If you understand Linux and like to play with software, Linux CNC is a great alternative for low cost machine CNC control.

De Pendant

One thing I wanted to have, that I find almost indispensable when zeroing in a new run on any of my CNC machines is a remote control Pendant. It is a hand held controller that moves the machine in all axes to set the start point of machining operation. It can be done with the computer keyboard, but a pendant is far more up close convenient.

That function is not available on a stock LinuxCNC install. Many pendant variations have been documented in the LinucCNC wiki, so it has been done. I found one I like using a low cost game controller pad and functions to duplicate LinuxCNC key presses. I will post an article after I have some experience in its use. I do have it installed on two Linux CNC machines.

The install was definitely not plug and play, but quite doable. A young fellow has a YouTube video that helps. I am very satisfied to have a low cost pendant available on all my machines.

I had one pricey commercial pendant I used with MACH3 but switched it between my machines. Whichever one was in current use. Its like drug addiction, once I got hooked on using the pendant it was hard to live without using again… Ha!

The point here is that I had to do some serious research and code hacking to get that feature installed with LinuxCNC. I realize from the many folks I have assisted with CNC machining, this is far too complex. Many people just want and need a system that helps them just do the machining.

Building new functions into a machine CNC software program is a hobby or perhaps a service business all to its own and separate from pure machining skills. LinuxCNC requires skills in both hardware and software areas or a access to a support system at least on the software side.

My favorite tool lust is Tormach CNC machines. Here is where a professional organization has adapted the Linux system into a well supported tool for their hardware. People buy their machines to get the most use from them. Not to rebuild the software on which they operate.

This proves to me that a Linux OS is perfectly reasonable and practical solution for the loss of a good Microsoft live kernel OS. There may be a market to be exploited for a Linux or other UNIX based live kernel OS for machine control. But I am not going to hold my breath.


The reason for using the PC to do the critical pulse (step) timing was driven by the government National Institute of Science and Technology (NIST) creation of the first edition of EMC. Built using Windows NT, it soon adapted to the Linux OS due to concerns over the stability of the real time Windows NT kernel.

This OS change with EMC led to the creation of the various MACH series of Windows OS based machine control software developed and written by Art Fenerty. Both were built on the PC hardware because it could be done.

That is NOT the case today. MACH4 requires a hardware pulse generator. LinuxCNC is moving to an internal PC card made by Mesa Electronics, that conditions all the timing signals in a super parallel port. That’s because the standard printer parallel port does not exist on new PCs. The Mesa card is perhaps what Tormach is using. I have no idea, but is what I would be using, or something similar in a commercial application.

A New Age

$30.00 Ardrino CNC Controller

$30.00 Ardrino CNC Controller

I believe the age of the PC (Personal Computer) OS kernel doing the timing is just about over. There is no future in that direction as the personal computer hardware and OS has changed significantly. I have read that the LinuxCNC developers are adamant about not designing and depending on an external pulse card. That will limit serious commercial application for using the newer generation of personal computer. Creating new, low cost, non PC-based, CNC computing hardware, and making it available is not a serious issue to overcome. It already exists.

The PC is destined to become just the display for a “smart”, low cost, CNC controller with an embedded (Linux or Arduino OS?) processor. All timing will be in the smart controller with I/O from the processor through direct CPU pin (buffered) output to a break-out type interface to the Stepper drivers.The picture shows a readily available $30 smart CNC controller that does all this.

How do I know? This is EXACTLY how CNC operates with 3D printers. There is absolutely no reason this can not be done with machine tool CNC, except for the need of heavier motor drivers. I currently have hundreds of fault free CNC operation hours on the controller pictured.

The old school dumb controller is virtually dead. I have worked with the Arduino software code in my “intelligent controlled” 3D printers, This is where I would be placing my bets (low cost intelligent controllers) and would be spending my time exploring CNC programming as a hobbyist. My current investment in ancient technology is the reason I do not.

Check this LINK. It’s not the machine that interests me, but how it is controlled. No tool changers, pendants or other “big boy” features. It’s a toy today, but the writing is on the wall.

Legacy Burden

The old school control will continue because of the existing old hardware. Just like me, the old investment in tools has value. Tools, the hardware, can last for a very long time. Some point is reached where repair is no longer feasible. The old ways will be abandoned and new technology takes hold. Here is an interesting read of the history of numerical machine control.

3D printing does not have a legacy burden to drag its development. A 3D slicer program produces garden variety G code that can be run on any CNC controller. MACH3 or LinuxCNC could both be used for 3D printer control. It’s probably been done. But they are not the systems of choice.

So I do what I need to do as I am interested in what the machine tool can do for me. I like to know and play with how it does it, but developing software is not my prime objective. I am thankful for legacy methods and software that let me enjoy what I can make with the power of computer controlled machine tools.

LinuxCNCYowza! More to the tool change than I realized in LinuxCNC. The tool change routine exists in the latest available stock version of LinuxCNC but it is poorly implemented for a manual tool change on a hobbyist machine and unworkable as is, for an automatic tool changer.

The good part is that the bones are there. It is up to the user to hang some flesh on those bones.

LinuxCNC will respond to the tool change code installed in the Post Processor I mentioned in a previous post, by stopping for a tool change. But that is all it does. Stop at the safe move height.

None of the axes will manually move. They remain disabled. Any fooling with the pause or start buttons which will get manual control back, will also set the G code file back to the beginning. Bummer.

With the age of EMC, EMC2, and LinuxCNC (all the same) I would think a MACH3 type of manual tool change would be fully implemented AND FUNCTIONAL in the stock release. Such is not the case.

My normal MACH3 operating method on my Taig micro mills and HB2 is to wait for the auto stop for the tool change. (Stock LinuxCNC only does this.) Then I manually run the spindle up to provide room for the manual tool change. (ER16 collets) Then move X/Y to find a place to touch off Z height. Do the touch and set Z to zero for the new tool. Then move back to a safe Z height.

When I resume the run, the program picks up where it left off and moves to the new cutting location and continues.

I found the solution in the LinuxCNC Wiki. The issue has been recognized for a very long time. That itself, is a problem. If you don’t understand what is in this link then LinuxCNC is probably not for you. The link to the file here will not run the latest LinuxCNC. It is the old EMC version. That’s part of the pitfalls in user Wiki support… old data. I have the corrected Python code file if needed.

A Python file named “hal_manualtoolchange” (no quotes) must be edited or changed in the user/bin directory of the Linux operating system. Some Linux systems may put it elsewhere.

Many of the pundits on the Wiki say to just run separate G code file for each tool. That is extremely lame, but it is an effective no-programming solution. Not a fix but a work around.

Links to a real fix are in the User Forum but in one posting, the first two examples in a series of postings maintain links to obsolete editions of the software. Like the one in the Wiki link above. Only the finial version after reading and studying many long pages of user posts is relevant to the current LinuxCNC version.

I am not posting all the details as you have to be somewhat of a Linux Head to understand all of them. The details could change tomorrow and I would be posting bad skinny, The tool change fix is commented as, “a bit buggy” for all that it might mean. What it does mean is that it works well enough but it is not idiot proof. If you load a new program or push run instead of tool change “continue” button, things will go wrong. Its a human operator error, but one that is not locked out.

After some personal consideration, I realize what is happening here. Because the tool change is not bullet proof, there is a liability in having it fully implemented as is. If I as a user, have to hack the software to make it work, then I am the responsible person. That liability concern is unspoken, but I think it is real.

So I have to revise any implied recommendation about LinuxCNC as the ultimate solution for CNC control for the average home shop hobbyist user.

LinuxCNC is not a solution for the casual machinist who has no skills with software hacking and no desire to dig into the naked code of LinuxCNC. Those things are part of my bag, so no real problem for me to figure things out.

LinuxCNC is by it’s very nature, experimental and a continuous work in progress. It is NOT plug and play, more like plug and PRAY. Ha!

It is still a solution for me, but I realize it is not for everyone or anyone who just wants to run their machine tool. It’s not a fault. It is what it is, and I am making that fact perfectly clear. Uh… Read my lips. Ha! Again…

Folks like Tormach can take this software and create PathPilot, a fully functional Linux package and support it for their own use. PathPilot was the main reason I took another look at LinuxCNC. I believe Linux OS IS the solution, but raw LinuxCNC is not for everyone.

PathPilot is not available open market because of the support issue and the thousands of variables in hardware beyond Tormach control. So I understand.

I like to hack in Linux so (again) it does work for me. I understand my hardware because I built it. There are a lot of users like me that can make good use of the software, so I am not special.

My recommendation is to stay in your own comfort zone. If you are happy as an operator and machinist, go purchase commercially supported products. Hacking software will only drive you nuts and make you feel insecure.

If you are also a programmer and comfortable with Linux OS, then LinuxCNC is the lowest cost functional CNC program upon which to build you own system.

Now that I have tool changes working, I am feeling secure again…


NOTE: Log in is for admin and members only, not required to post comments.