Hello Guest it is August 18, 2019, 07:55:48 AM

Author Topic: Why is there no effort for the true closed loop control on the mach3 level  (Read 15796 times)

0 Members and 1 Guest are viewing this topic.

Online Tweakie.CNC

*
  • *
  •  7,882 7,882
  • Super Kitty
    • View Profile
    • Tweakie.CNC
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #10 on: January 13, 2011, 05:08:50 AM »
Some have been able to use it successfully in production environments, but it is still a "hobby" control.

A bit more than 'hobby' today. One can do serious production with it IF you know how.

Cheers



I second this, in fact there are a great number of people using Mach3, in it's present form, for serious production.

Providing a CNC system is designed and built reasonably well there really is no need for closed loop operation - yes it would be nice but accurate, reliable and repeatable work can be achieved without closed loop.

Tweakie.
Success consists of going from failure to failure without loss of enthusiasm.  Winston Churchill.

Offline DaOne

*
  •  236 236
    • View Profile
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #11 on: January 13, 2011, 05:29:19 AM »
I don't really understand why it matters to have mach close the loop anyways. I might be wrong but if the loop is closed on the hardware controller card there should be no difference. As long as the card is capable of issuing an alarm when the encoder to command error reaches a set threshold. On most real controls it works this way. It does try to speed up an axes to catch up. That would cause other problems. What they do is command an external e-stop when an out of sink error is detected. About the only thing it cant do is show a dro for the encoder if the servo power is turned off and the machine is in manual mode however you can always display that encoder in mach and use a script to set it to what it reads when you switch the servos back on. Also you cant show exactly where you are if you push your servos beyond there abilities and get an alarm but once again... you can always show the encoder in a dro.

Online Tweakie.CNC

*
  • *
  •  7,882 7,882
  • Super Kitty
    • View Profile
    • Tweakie.CNC
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #12 on: January 13, 2011, 05:51:54 AM »
I agree and anyways if a position error occurs and is subsequently corrected (by closed loop) there is a good chance that the job has already been spoiled (obviously this, to a certain extent, depends on the 'steps per' or resolution of the machine). The secret to success is no error in the first place.

Tweakie.
Success consists of going from failure to failure without loss of enthusiasm.  Winston Churchill.
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #13 on: January 13, 2011, 06:20:48 AM »
With industrial servos the drive can display the position error in real time  (the difference between the encoder feedback position and command value).  In my initial trials these errors show mostly in acceleration and desceleration movements (G0) but when cutting is initiated with G01, G02 and G03 the system has had time to catch up.

Offline Jeff_Birt

*
  •  1,107 1,107
    • View Profile
    • Soigeneris
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #14 on: January 13, 2011, 09:13:01 AM »
Quote
I don't really understand why it matters to have mach close the loop anyways.

Very good question! Much of the 'closed loop back to the PC' is just sales hype. The only real advantage of having some form of real time feedback to the planning stage of the CNC control is to allow all axis to slow to match a slow axis. If you machining a multi-thousand dollar part this might be very, very important to you as it could be the difference between a scrapped part or not. For the most part though you won't have a 'slow' axis unless you have really messed up in your programming.

So that begs the question, what is closed loop? Stepper motors are designed to move in discrete steps so as long as you don't overload them they will always be where you tell them to be. Servo motors on the other hand must have an encoder on them to tell the servo control the angular position of the motor. The control looks at the pulses coming back from the encoder and changes the signal sent to the motor. For example when a servo is standing still it is actually being driven back and forth very quickly. So, the upshot of this is that if you have servos you already have a closed loop system. It is closed to the servo control which is fine in 99% of cases.

More advanced motion controls like Galil, DSPMC, etc can actually make use of the encoder signals to do electronic gearing and all the fancy stuff that the big name CNC controls do. The reason they can do so is that all real time the motion control stuff is done in dedicated hardware designed for that purpose. PCs stink at real time motion control but they are great at reading big CNC files, path planning, and user interfaces. Dedicated motion controllers suck at reading large files, the complex path planning that goes with then and user interfaces but they are great at motion control. Using PC + a motion control card gets you the best of both worlds the big name CNC control guys figured that out more than a decade ago.
Happy machining , Jeff Birt
 

Offline kf2qd

*
  •  123 123
    • View Profile
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #15 on: January 13, 2011, 02:28:30 PM »
Seems that some folks are just finding a way to say that closed loop is a waste of time.

Closed loop means that the machine is always compensating for position errors. THose errors must remain small, and if they get very big then there is a problem and the control can shut things down as this is a fault situation. Open loop like mach can have huge errors because of hardware failure and never know (or care) that those errors exist. Closed loop takes more computing time than does open loop, and is well within the capabilities of a PC running Win2k or XP. I have used controls running both. The software is more complex and the hardware is more complex. The motion control software on a closed loop can never miss a cycle or the whole machine is out of position. Many have dedicated encoder circuits and require Analog to digital converters for each axis. And they will be more accurate and repeateble and at higher speed. And they cost money.

Mach requires relatively simple hardware and can work with some rather sophisticated hardware. BUT it is open loop and has no way of sensing when the move is not correct. It just send a string of pulses and expects that the drives/machine will keep up. If the drives don't keep up it has no way of knowing how much out of position the hardware is.

Closed loop and open loop are like trying to control the mouse on a computer. If you can see the screen it is easy, yopu instantly compensate for any problems with how you move teh mouse. Open loop is like trying to tell someone over the phone how to do the same operation. You can't see what is happening and can only hope that things are enough identical that they do the same thing you are telling them.

Offline rcaffin

*
  •  1,003 1,003
    • View Profile
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #16 on: January 13, 2011, 03:09:34 PM »
Closed loop means that the machine is always compensating for position errors. THose errors must remain small, and if they get very big then there is a problem and the control can shut things down as this is a fault situation.
Quote
BUT it is open loop and has no way of sensing when the move is not correct.

While true that correct machining requires that any position errors be corrected very quickly, the implication that a CNC system based on Mach does not have this sort of feedback is WRONG. You have to look at the whole CNC system, not just the Mach part.

In any CNC system there are several parts all working together, as Jeff has just written. In a Mach system the servo drive does the feedback part, with Mach relying on the servo drive to flag the error if one happens. In older more expensive systems the distribution of work may be different. Big deal.

But focusing on the distribution of responsibilities misses the entire point. No matter how the system is designed, if any significant errors start to occur the part is scrap. If you drive any sort of system so hard it goes into a fault situation then YOU at at fault for misusing it. Don't expect the software to compensate for that.

Some of this misunderstanding is probably due marketing spin from the vendors of the older more-expensive systems. They don't want potential customers thinking that the newer designs are as good. Haven't we seen this before?

Cheers

Online Tweakie.CNC

*
  • *
  •  7,882 7,882
  • Super Kitty
    • View Profile
    • Tweakie.CNC
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #17 on: January 14, 2011, 02:02:30 AM »
kf2qd

Quote
Seems that some folks are just finding a way to say that closed loop is a waste of time.

Just to pick up on this one point - "If you have a good machine, of small size, closed loop is totally unnecessary". If you doubt that go to my website and take a look at some of the stuff I have made. OK I can improve on all of it by using higher resolution, smaller cutting tools etc etc but no improvement would be gained by me using closed loop.

The debate between servo's and steppers will go on forever and it is "horses for courses". Mach has proved to be good for driving both.

Tweakie.
Success consists of going from failure to failure without loss of enthusiasm.  Winston Churchill.
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #18 on: January 14, 2011, 09:58:41 AM »
More advanced motion controls like Galil, DSPMC, etc can actually make use of the encoder signals to do electronic gearing and all the fancy stuff that the big name CNC controls do. The reason they can do so is that all real time the motion control stuff is done in dedicated hardware designed for that purpose. PCs stink at real time motion control but they are great at reading big CNC files, path planning, and user interfaces. Dedicated motion controllers suck at reading large files, the complex path planning that goes with then and user interfaces but they are great at motion control. Using PC + a motion control card gets you the best of both worlds the big name CNC control guys figured that out more than a decade ago.

*Hi - my name is sam and I am an emc person.  hi sam  ;)
Emc2 actually does that.  It uses a realtime extensions to the linux kernal.  The external hardware used by emc is 'dumb' in effect.  All the hardware does is count encoders really fast, output high frequency pwm, switch i/o and or output high step rates.  No motion control is done in it.  So - you don't need expenive hardware to do real closed loop.  Motion control, trajectory planning and such is all done in the pc.  That is why emc doesn't work with the motion cards like galil - emc wants to be the one in control.  Internally the stepper setups are actually closed loop.  It is just that the step generator feeds the info back into the motion control itself.  Some have actually unhooked that virtual connection within emc and hooked in encoders as feedback.  (that is also the reason why stepper machines that are not configured correctly will get following errors with emc2 - throws people off initally) ;)

As far as 'why you would ever want true closed loop'
My following error is .00016" peak right now - what is yours? ;)
I can estop the machine without rehoming.
while the servo drives are disabled I can move the machine around without it loosing its position.
The machine will go into estop if my following error is greater than the amount I have set.
The dro is displaying actual machine position - not what it thinks the position is.
(I am sure there is more but it is early)

BTW - because all the big stuff is done in emc - electronic gearing can be done also - so rigid tapping, gear hobbing and the like are possible.  (gear hobbing is sort of a expert level configuration though... ;))

emc was built on the philosophy 'sense, model, act'

Mach is great software.  I just like to expand the conversation.

sam
« Last Edit: January 14, 2011, 10:03:27 AM by skunkworks »

Offline Jeff_Birt

*
  •  1,107 1,107
    • View Profile
    • Soigeneris
Re: Why is there no effort for the true closed loop control on the mach3 level
« Reply #19 on: January 14, 2011, 10:08:21 AM »
Quote
closed loop

Closed loop is closed loop, there is to 'real' or 'fake' about it. The implementation may differ from system to system but that does not make one implementation more 'real' than another.

Quote
I can estop the machine without rehoming.
while the servo drives are disabled I can move the machine around without it loosing its position.
The machine will go into estop if my following error is greater than the amount I have set.
The dro is displaying actual machine position - not what it thinks the position is.

You can do all of these things in Mach as well. EMC approaches things a bit different than Mach and does a few nifty things itself that Mach does not. But, motion control done on a PC (real time OS or not) will always be inferior to motion control done via a motion controller in dedicated HW. This is not because EMC or Mach is deficient, it is a limitation of the PC hardware.
Happy machining , Jeff Birt