"One Perfect Part at a Time"

Reader Email

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 https://www.tormach.com/pathpilot.html

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”  https://warp9td.com  and this one https://cnc4pc.com/uc100-usb-motion-controller.html, 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.

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