Hi,
but sadly enough it seems that Mach3 is completely unaware when the motors stop . So my question is , is there a solution for this.
Mach3 and Mach4 are open loop controllers. This is because Windows is not a realtime computing system and has never made any pretentions of that
sort, Both Mach3 and Mach4 can read an encoder for instance but the potential delay between the reading of the encoder and Mach issuing corrective
instructions mean the feedback loop fails.
As you have pointed out, servos and their drives are closed loop. Thus if Mach issues a movement instruction to a servo drive and the servo can't keep up or is
overloaded and therefore is a significant distance from its commanded position then it will fault and signal an error. There are stepper motor drives that
have closed loop drivers, they come at a premium and really offer too few advantages to be economically viable. They do provide some reassurance to
you, not that they prevent the situation from happening.
The real issue is that your stepper are loosing steps and they should not. Properly functioning steppers with appropriately specified drives DO NOT loose
steps. It means that you have the max velocity and/or acceleration in the motor tuning set too high.
Can you give us some details...stepper model, drive model, power supply voltage, microstepping regime, steps per unit value, max velocity and acceleration.
Once I got my steppers dialed in they don't loose steps and haven't done for five years unless I'm trying to do something stupid.
There are other ways, the previous post has an idea. There are motion controllers which can monitor encoders and enact feedback corrections. Gallil is one
very good but very VERY expensive example, expect to pay $2000-$3000 for a Galill. Vital Systems HiCon is or can be made capable at around $1200 with
the right activations and probably the CSMIO at around $600. All of these solutions rely on the realtime feedback computing be done on the control board
and therefore relieve Mach of the task that it is to slow to do.
LinuxCNC is a realtime computing system, I have done some experiments with it and on my spare laptop it has a jitter of 6us which allows a communication
loop bandwidth of acceptable quality of 25kHz. That's way less than you could get with a dedicated realtime motion controller but is none the less very
useful. Downside is you are going to have to be a whiz at Linux and able to program in C,C++ to take advantage of it.
The problem you describe (loosing steps) is well known, if you read the forum you will find hundreds of posts about it. You will also see that most people
have solved it as well and been using Mach happily ever since. May I suggest before you consider closed loop servo/steppers, a closed loop motion
controller or a closed loop computing system like LinuxCNC that you spend some time to understand what is happening with your steppers and
the potential solutions to it. As I say many have with good success.
Craig