Mach3 - MPG - Precise control as it is on an industrial CNC...
Good morning all,
I have MACH 3, been using it for a decade or so. My current setup is: Windows 10, Mach 3, ESS (Ethernet Smooth Stepper). For the MPG, I am using a FANUC MPG wired up using "A" and "B" etc.
Regardless of what computer, what MPG, what machine, what configuration, I have NEVER been able to get the MPG to behave as it does on any industrial control.
I can set the distance per step, and if I slowly rotate the MPG, I will get a near perfect step with every click of the MPG. However, if I rotate the MPG any faster than "SLOW", not all clicks translate into an increment of motion. On industrial CNCs the machine will move 1 increment / click of the MPG.
I know there are setting for velocity mode, multi-step, single step, etc. I believe I have tried every combination of these and I cannot get the machine to perform "correctly". The best is in Velocity mode and the machine will move some distance greater than a single increment, however, it still starts and stops crudely.
I have tried the tuning function as well with no luck.
Has anyone found the magic combination to getting industrial MPG performance on MACH 3?
Thanks in advance!
Chris D.
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Have you tried using the cal. mpg function? If so what were the results ? I am going thru the same thing I have just now got my mpg to work ( kind of ) I have windows xp using the latest .066 version of mach3 and wired to the 2nd printer port with out using the ESS. I too am a Fanuc guy ....if you get a chance to look at the machine the other industrial controller is hooked up too you will find a Fanuc board that was designed just for the hand held manual pulse generator . For our cheap hobby machines I am not sure you will get the same results that you have from the industrial machine has . These days you get what you pay for doosan milling machine (120,000 usd ) compared to 1000 usd . If you dont mind please keep me updated on this project as I will do the same and maybe we can come up with something that will work
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Michael and Chris,
I have wireless MPG for Mach3. Ever-since I purchased it, had nothing but the problems. I installed all of the plugins and it is recognized in Mach3 latest version. I am running Win XP.
My experience with MPG is:
- slow micro steps joging are ok, but anything a little bit faster or moving further distance present the problem.
- the table does not move "one" for "one", like on the real CNC. It might move first 3 clicks and the table travelling "disconnects" from the MPG due to buffering the steps. This is very dangerous because you might think that you need few more steps, but the new stream comes trough the device even if you stop turning the wheel. The new stream comes out of the buffer and it might cause over-traveling or crashing the tool into work piece.
Some people said that wiring MPG directly to the control board will offer better results (because of the pulse), but I just think that there is a glitch in Mach3 and how Mach3 is interpreting those steps.
I have not found the solution to this problem yet, but there are many people out there with the same problem.
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Quote:
Originally Posted by
Michael82
Bird19,
I have had the same issues you are having with the wired version. I just finished getting my mpg wired up to the 2nd printer port I installed on my pc . I do think version 062 is a bit more stable than 066 but nevertheless I think you hit the nail on the head as far as mach3 not being able to convert what it sees as signal over to moves to the machine . I am still working on my mpg to get it dialed in I haven't had it hooked to a machine since I have had this issue I brought my pc inside my house to work in it rather than in the garage . Please keep me posted on your results as i will for you. It's good to know i have someone else in the boat with me
No worries. I will keep you posted Michael.
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Linuxcnc will do what you say.. The encoders are hooked real-time directly into motion.
Quote:
Originally Posted by
Michael82
I too am a Fanuc guy ....if you get a chance to look at the machine the other industrial controller is hooked up too you will find a Fanuc board that was designed just for the hand held manual pulse generator . For our cheap hobby machines I am not sure you will get the same results that you have from the industrial machine has .
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Hi,
I have a VistaCNC P1A pendant, and have had it for six plus years. First on Mach3 where it works great and for the last five years on Mach4 where it works perfectly.
One problem that a number of people report is when in step mode and they spin the MPG its possible for the MPG pulses to exceed the speed of the axis
and the pulses get stored up in a buffer. When you stop spinning the MPG the axis keeps moving until the pulses are consumed. This is very disconcerting and
most regard it as a fault....its not....its doing exactly as it supposed to. I used to have that problem when I had set '1mm per click' and it was possible for me
to exceed the machines velocity and end up with a whole bunch of 'after-run'. I have since changed my max increment to 0.5mm per click and it works near perfectly,
you can still exceed the axis speed but you really have to spin the MPG as fast as you can, not really an issue.
The two most used increments are 0.5mm per click for rapid jogs and traverses and 0.1mm for touching off for general (less than ultra tight spec) operations.
The MPG has 100 clicks per revolution and so if I spin the MPG when at 0.5mm per click I get 50mm axis travel, and that's exactly what I get. Likewise when at
0.1mm per click I get 10mm per revolution, spot on every time.
To my way of thinking I'm very happy with my pendant, it does exactly as its supposed to. Remember Mach is a buffered control system, and there are times when the buffering
action can catch you out, like 'after-run' for example. Buffered control systems are a necessity for CNC solution running on Window OS PC's. If you don't like buffering
buy an industrial control ($$$$!!!) or go Linux.
LinuxCNC runs on a realtime capable Linux distro and does not require a buffer. This can have real advantages, the most important being closed loop control
for which Windows systems must rely on discrete hardware to enact. In this context a pendant running on a realtime control system will work more like the industrial
control you are thinking of.
If you can't get your pendant to work on Mach3 its because either the pendant or the plugin that matches it is sub-standard, mine works perfectly and exactly as advertised.
Craig
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
MPG dials are normally just quadrature encoders
In LinuxCNC you can link the MPG encoders directly to the real time
trajectory planner, so there is never more than a 1 or 2 ms delay from MPG motion
to machine motion (outside of any trajectory planner acceleration or velocity limits
or deliberate low pass motion filtering)
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Hi,
an MPG is a kind of encoder, they have an A and B channels in phase quadrature and sometimes an index signal just like an encoder.
As I explained LinuxCNC is realtime BECAUSE the distro of Llinux is realtime, that is to say it has RTE (Realtime Extensions) applied to a regular Linux distro.
All it means is that any MPG pulse is applied almost instantly to the stepper motors whereas Mach has a buffering delay between when an MPG pulse is received
an when its actually enacted.
As I said with suitable settings the difference is in-descernible. Whatever plugin or code you are using to run your MPG is poor/faulty. The VistaCNC plugin works perfectly.
Craig
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
This kinda might explain linuxcnc and jog wheels..
https://youtu.be/mg4Pkub0ioI
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Hi,
i don't have a video but my VistaCNC P1A pendant operates almost identically to your MPG on my Mach4 machine as it did with Mach3 when I was still running Mach3.
To OP: I suspect the the motion software/code that you are using with your MPG is either faulty or buggy. There is no reason that an MPG cannot perform (almost) indentically
to the video that samco posted.....nice work by the way.
I noted that you said you had a Fanuc MPG? I presume that it must interface with Mach......so is it Machs software that is causing you problems?
If that is the case I would suggest a VistaCNC pendant, because the software is contained in the VistaCNC plugin......or maybe upgrade to Mach4.
Effectively you must use an external motion controller with Mach4, and I know from personal experience that an Ethernet SmoothStepper does a very good
job of jogging (in realtime) with a manual MPG.
Craig
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Bird19,
Did you ever get to the bottom of your mpg problem
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Quote:
Originally Posted by
Michael82
Bird19,
Did you ever get to the bottom of your mpg problem
so ddi you? Im having the same issues
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
My solution was to give up on MACH 3 software and switch to the Centroid controller. I heard that MACH 4 might work better, however, at the same time I was being told by the suppliers for the motion boards that the screwy motion was normal due to buffering of the steps.
Since switching, I have not regretted the change and overall performance improved.
Chris D
Re: Mach3 - MPG - Precise control as it is on an industrial CNC...
Hi,
Quote:
I heard that MACH 4 might work better, however, at the same time I was being told by the suppliers for the motion boards that the screwy motion was normal due to buffering of the steps.
ALL Windows platform CNC software MUST have a buffered control system, including Centroid, Mach3, Mach4, UCCNC, PlanetCNC and more. Because Windows is not a realtime
system you MUST have a buffer. More often than not the buffer is so small, usually less than a few hundred milliseconds, that you don't notice it.
I run Mach4 with an ESS motion control board on a dual core Atom single board PC.....about the smallest and lowest power PC you could choose, and it runs fine.
I have for some years run the motion buffer at ESS default of 180ms. That is to say the buffer will have up to 180 'motion time slices', each of 1 millisecond which get
executed sequentially. With such a buffer, for instance, if I hit FeedHold the machine could continue movement for up to 180ms (less than two tenths of a second),
but often much less say 100ms, you can notice the delay.......just. Many people whom run Mach4 on a more capable PCs run the buffer as short as 20-30milliseconds
and then any delay is not noticeable at all, you'd swear everything were instantaneous.
While to the human eye most Windows platform CNC softwares appear to run nearly instantly....they do not. Certain time critical things like home switches, limit switches, probe
inputs, torch height corrections, z axis corrections when single point lathe threading must all happen in realtime, that is to say within microseconds....not milliseconds.
All Windows software solutions require a hardware motion controller that can handle those realtime functions autonomously, because the PC is just too delayed to be involved.
That is why motion controllers for the likes of Mach4, UCCNC and Centroid are so important....they are required to enact certain functions in realtime......and how well they do that
varies from one manufacturer to another.
One area where this motion buffer poses a real restriction is realtime feedback control of servos. Many motion controllers for Windows CNC software are Step/Direction only and
cannot 'close the loop' because of that delay. There are controllers like CSMIO/A and Gallil, Dynaflop/Kanalog that can and do support 'closed loop' servo control, but they tend to
be somewhat specialist and expensive.
LinuxCNC is somewhat different....it runs a realtime operating system, typically a stable Linux distro but with Realtime Extensions (RTE). This allows it to run with virtually no buffer,
on commonly available computing platforms available to hobbyists, a delay of 4 microseconds is normal and respectable. To all intents and purposes a LinuxCNC program is realtime,
and consequently Mesa, the goto choice for many LinuxCNC users does not require any fancy hardware to enact time critical functions, the computer can handle that. All the Mesa
is required to do is reliable highspeed input and output, and that they do well, and for the amount of IO offered, very economically.
Notably because LinuxCNC is realtime then things like closed loop control of servos is possible limited only by the ability to program the required functions.
The low cost of LinuxCNC combined with its power bought about by being realtime is a VERY compelling argument for it. I'm not a fan of Linux however. If you wish to customise LinuxCNC
then you need to program it in C, not impossible but no walk in the park either.
For day to day operation of your milling machine there really is little to choose between Mach4, UCCNC, LinuxCNC or Centroid, they all work well, not identically, but all work well.
When I first started CNCing years ago I used Mach3 and a parallel port, and it worked well. Since then I upgraded to Mach4 and an external motion controller and haven't looked back.
It does everything I want, and I can customise it to do just about anything at will, and runs on a cheap as chips PC with a very familiar OS. When all said and done its about the quality
and ease of the parts that you make that counts, and any of these solutions will do that.
Craig