Hello Guest it is August 22, 2019, 07:04:09 PM

Author Topic: Machine servos stop but mach3 keeps running movements as machine is moving.  (Read 581 times)

0 Members and 1 Guest are viewing this topic.

Hi,

The title might be a little awkward. This is my problem. Sometimes my machine hangs, meaning the Y motors stop turning but mach3 keeps moving the coordinates, which is kind of a problem cause my zero point is lost and I need to throw away the piece I am making.

Servo motors are closed loop, but sadly enough it seems that Mach3 is completely unaware when the motors stop . So my question is , is there a solution for this.

Secondly, does mach4 take feedback of the motor positions?

Thirdly, are there controllers that are able to keep track of servo motor/driver positions (linuxcnc or edingcnc?)

Thx for any help.

Regards,

Stephane
Re: Machine servos stop but mach3 keeps running movements as machine is moving.
« Reply #1 on: September 12, 2018, 11:50:09 AM »
The problem you have is related to a bug in the Galil-ST ver 4.6 plug in. It is supposed to be reading the encoders to get position, but does not do that. Ver 4.4 seems to work correctly. Read some of my posts on loss of position for more details.
Re: Machine servos stop but mach3 keeps running movements as machine is moving.
« Reply #2 on: September 12, 2018, 02:38:22 PM »
Hi,

Quote
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
My wife left with my best friend...
     and I miss him!
Re: Machine servos stop but mach3 keeps running movements as machine is moving.
« Reply #3 on: September 12, 2018, 04:46:22 PM »
If you are running a Galil controller with servo motors, Mach3 is supposed to work differently from what it does with steppers. If you do not have a Galil controller, then you may have posted on the wrong forum. To quote Smurf:

"Mach3 with a Galil is not the same as Mach3 controlling a stepper system.  Mach3/Galil is a closed loop system!  The servo PID loop is closed on the Galil.  And there is another important distinction; Mach3 gets its position from the Galil!!!  This is in contrast to a stepper system where Mach3 has it's own notion of where it thinks the table should be.  What is displayed in the Mach3 DROs comes from the Galil (which comes from the encoders).  This can be verified by disabling the servo drives and turning the motors by hand.  You will see the position updated in the Mach axis DROs."

The Galil controller is supposed to handle the motion, as I understand, and Mach3 communicates with SmartTerminal. Unfortunately there seems to be a bug in ver 4.6 of the Galil-ST plugin that handles moves as if you had stepper motors, i.e. running open loop. Ver 4.4 seems to work correctly in this regard, but may have other issues.

To test if you have the problem, Reset Mach3 and turn one of your motors by hand. You should see the DRO update as you turn it. Another test is to turn off the power to your servo motors, or disconnect the cable from power supply to controller if you can. Then send a midi command G1 X1 F30 from Mach3. The motor cannot move since the power is off, so the encoder cannot move either. If you see the DRO changing as if it is moving, then you have an open loop, not what it should be. I have observed both of these problems with my system using ver 4.6.
Re: Machine servos stop but mach3 keeps running movements as machine is moving.
« Reply #4 on: September 12, 2018, 06:23:22 PM »
Hi bbutcher,
Quote
then you may have posted on the wrong forum
To my knowledge OP has posted in exactly the right board, its you who keep banging on about Galill,
for which there is a separate board.

Craig
My wife left with my best friend...
     and I miss him!
Re: Machine servos stop but mach3 keeps running movements as machine is moving.
« Reply #5 on: September 12, 2018, 06:33:40 PM »
Sorry, I was searching the Galil board, but it keeps jumping back to the General Mach Discussion page.
« Last Edit: September 12, 2018, 06:35:25 PM by bbutcher »