What's new
What's new

Analog DC servo - chasing/violent shaking

SeymourDumore

Diamond
Joined
Aug 2, 2005
Location
CT
Guys


Brother HS50-A Wire EDM.
In the last few weeks, while homing the machine from a cold powerup, X-axis overload alarm started popping up.
Power Off/On and restart the homing and it wemnt fine.
After that the machine ran for hours without any issues.

Then, as of last week there is no cure. Machine is always alarming for an axis overload.
After chasing my tail on mechanical causes ( removed, disassembled, cleaned, re0installed the X-axis ballscrew and ball nut, even removed all the balls ) the axis is about as smooth
as it will ever be or was.
After re assembly, the violent shaking is still there.
Obviously it is now electrical.
The X and Y axis drives are on the same board, so I just swapped the X and Y cables ( This is an EDM, so there are encoders as well as linear scales ) and tested the machine.
Lo and behold, the problem is now on the Y axis in the exact same way!
OK, next step: On this machine I can set the max. feedrate/velocity in the control. My allowed increments are .04, .40, 12.0 and 24.0 IPM.
If I set the max to .40000IPM, then the machine will move without any problems throughthe full range of the travel.
If OTOH I set it to 12.0 or 24.0, the alarm occurs immediately after I touch the Jog button.
If I unplug the linear scale, the axis motor will jog at full speed for approx 2 turns of the shaft, and then it comes up with an out of position error, but no axis overload.
If I don't touch anything, then the motor will comfortably sit where it is with the typical, ever so small back-and-forth "hunting" to stay in position.

Now, since this is a wire EDM, the motion "sensing" citcuit is incredibly fine. Literally, if you pump a greas gun into any of the fittings while the machine is in motion, you WILL get an Overload alarm!

So, in a nutshell:
Mechanical causes are eliminated.
Motor with encoder but no linear scale runs OK ( until position alarm )
Motor with encoder AND linear scale shakes the machine like tornado.

Any possible suggestions?

Thank You
 
SWAG ... In the only example I know anything about i.e. linuxcnc the incremental encoder on the ballscrew essentially samples velocity and is connected to
everything but I in your PID loop. The linear scale gives the system position. So based on those assumptions the system is happy until ... "OMG I don't have any idea where I am based on no information from the linear scale". Fault, scream and shout, etc.
I would start by hanging a readout on both sensors and turning the ballscrew by hand and see if the two agree or the linear scale is intermittent or in error.
This kind of problem is soooo much fun but not insolvable. Hope this gets you started.
 
OK, but at extremely low speeds ( .4 ipm ) the system works fine, even homes itself.
The feedback from the scale appears to be correct, as I can use the STEP mode with .05, .01, .001, .0001 and .00002 increments and it is accurate ( checked it with indicator thinking excessive backlash )
It is only when I switch to a faster ( 12.0 ipm ) that the shaking starts immediately after movement. Unfortunately there is no option for a smaller feedrate increment.
 
OK, but at extremely low speeds ( .4 ipm ) the system works fine, even homes itself.
The feedback from the scale appears to be correct, as I can use the STEP mode with .05, .01, .001, .0001 and .00002 increments and it is accurate ( checked it with indicator thinking excessive backlash )
It is only when I switch to a faster ( 12.0 ipm ) that the shaking starts immediately after movement. Unfortunately there is no option for a smaller feedrate increment.

Never beeen in the same room with a beast of this sort. Weapons systems, rather.

IF all the sensors
AND all the cables
AND all the connectors

are sweet?

What of the "reference" goods.. back on the PCB.. that set the parameters to which the sensors are compared for issuing a command decision? And in what direction. At what rate.

Bum component? Cracked trace? Corrosion? Heat/age accumulated degradation not-yet a hard fail, just excessive drift off spec? Faulty PSU cranking noise onto the logic bus?

Surface crud cross-coupling signals?

EG: WEIRD stuff happens when an automated PABX store and forward dialing sub-system "hears" its own output DTMF from leakage.. and keeps cranking each digit-code back into the INPUT!

Bugger would keep on dialing an endless stream of DTMF for YEARS if not interdicted!

Worse? Homing All the Way Killer missile (HAWK) that gets a doppler lock on the cooling fans of their own launch control van? No joke. It has happened!

Submarine homing Torpedo that wants to "come home to Mother"!

Seem possible?
 
analog DC, you should confirm if the units on the ends of the motors are actually encoders or if they're tachometers. Encoders on dc servos with no tach means the servos are running in torque mode which is pretty uncommon IME - I only ever had one machine that was configured that way, and I don't know much about diagnosing issues with it.

DC servo with tach running in velocity mode and linear encoder for the position loop is a much more common scenario.

The behaviour you describe is pretty typical of tach failure in a velocity loop, but could be typical of feedback failure in a torque mode system as well, I don't have enough experience with those to say. Either way it seems the problem lies with the amp, so I guess some kind of component failure in the feedback section. Electrolytic caps? Problems from cold and ok when warm are a good indicator of cap failure.

Alternatively could be the power transistor section shorting open at higher current and sending full power the motor until the feedback loop arrests the motion.
 
analog DC, you should confirm if the units on the ends of the motors are actually encoders or if they're tachometers. Encoders on dc servos with no tach means the servos are running in torque mode which is pretty uncommon IME - I only ever had one machine that was configured that way, and I don't know much about diagnosing issues with it.

DC servo with tach running in velocity mode and linear encoder for the position loop is a much more common scenario.

DC motor with encoder can run in velocity mode if the controller is fitted with F/V conversion. Old Fanuc systems are a good example of that application. I suspect that the OP's machine does use a tach on the motor and the scale for position though.

If the motor is tach equipped, something to check is a bad bearing on the tach end of the motor. I once ran into a similar problem and it turned out that a bad bearing was causing "wobble" on the tach armature. At low speed the tach brushes stayed in good enough contact that the axis moved ok. At higher speed, the "wobble" of the tach armature was affecting the tach voltage and causing motor speed oscillation.
 
With the motors, tachs and encoders eliminated by your tests I would first suspect a bad counting/interpolating chip or circuit on the drive board where the linear encoder interfaces.
If the motors not powered do the scales count correctly if the screws turned quickly by hand?
Bob
 
OK, so this machine has X, Y, U, V and Z axis.
X and Y is in fact a DC servo ( + and - on the motor connection ) + quadrature encoder attached to motor shaft + linear scales
U and V is a smaller DC servo + tach solidly part of motor case + quadrature encoder attached to motor shaft
Z is the same DC servo as the X and Y, but it has a tach that is solidly part of motor case + quadrature encoder attached to motor shaft

So, the net result is that I have 3 different servo drives. They actually look very similar, but the part# is slightly different as they are using different things for feedback.

That leaves me with the only option for testing, which is a complete swap of X and Y motor, encoder and linear scale cables.
Swapping boards are not an option as the transistors are different ( U and V motors are much smaller, and Z axis drive is only a single channel.

So, with the X and Y swapped, the X axis is absolutely flawless but the Y inherits the very same shake.

Now, this being a Wire EDM, the motor control is not a simple point-and-shoot as in other motion systems, rather it has to have the ability to shoot, slow the bullet, stop the bullet,
or reverse if needed get it back into the barrel and point in the exact opposite direction and shoot it that way.
What that means is that the servo drive only connects to the motor and the encoder. The linear scale goes to a separate board, which is in charge of actually commanding all moving objects
in the machine based on gap condition, spark times, wire speed, direction, next motion and a whole bunch of other stuff, including for all I know current wind direction in Japan.
It is entirely possible that this board is what's defective since without the encoder attached, the motor runs until the out-of-position error, but I figured the servo might be an easier one to obtain.

Bob
Yes, the scales count if I move the shaft by hand, but again, the scales are connected to a different board.
 
Having tuned DC servos before, using encoders, I've found it's very common to go a little overboard on the derivative gain. If you are just a bit past the ideal tuning it will work fine at low speeds, but once you try to push it it will overshoot into vibration and usually overload the driver. It can be incredibly violent as well.

Where are the PID gain adjustments made? In software, or are they analog trimpots on the servo board? I've had issues with trimmers drifting before and depending on how "tight" your machine was tuned to begin with it may not take much drift for it to go hawywire.

I bet you'll find a derivative gain adjustment and all will be well in EDM world once you turn it down a skosh.




Another potential issue is backlash in the drive train, resulting in essentially a low inertia system still tuned for a high inertia system, and the motor will vibrate within the window of backlash, even though the encoder is well fastened to the motor shaft itself.
 
DC motor with encoder can run in velocity mode if the controller is fitted with F/V conversion. Old Fanuc systems are a good example of that application. I suspect that the OP's machine does use a tach on the motor and the scale for position though.

That's a new one on me, but I've never owned a DC servo Fanuc. Makes sense that it can be done that way I suppose.

OK, so this machine has X, Y, U, V and Z axis.
X and Y is in fact a DC servo ( + and - on the motor connection ) + quadrature encoder attached to motor shaft + linear scales
U and V is a smaller DC servo + tach solidly part of motor case + quadrature encoder attached to motor shaft
Z is the same DC servo as the X and Y, but it has a tach that is solidly part of motor case + quadrature encoder attached to motor shaft

So, the net result is that I have 3 different servo drives. They actually look very similar, but the part# is slightly different as they are using different things for feedback.

That leaves me with the only option for testing, which is a complete swap of X and Y motor, encoder and linear scale cables.
Swapping boards are not an option as the transistors are different ( U and V motors are much smaller, and Z axis drive is only a single channel.

So, with the X and Y swapped, the X axis is absolutely flawless but the Y inherits the very same shake.

Now, this being a Wire EDM, the motor control is not a simple point-and-shoot as in other motion systems, rather it has to have the ability to shoot, slow the bullet, stop the bullet,
or reverse if needed get it back into the barrel and point in the exact opposite direction and shoot it that way.
What that means is that the servo drive only connects to the motor and the encoder. The linear scale goes to a separate board, which is in charge of actually commanding all moving objects
in the machine based on gap condition, spark times, wire speed, direction, next motion and a whole bunch of other stuff, including for all I know current wind direction in Japan.
It is entirely possible that this board is what's defective since without the encoder attached, the motor runs until the out-of-position error, but I figured the servo might be an easier one to obtain.

Bob
Yes, the scales count if I move the shaft by hand, but again, the scales are connected to a different board.

So the linear scales are not connected to the amps and work properly, pretty much eliminates them from the list of suspects. I guess then that you have an amp that is in a semi-runaway or unstable velocity loop condition and the control is seeing that in the position loop and trying to hold it still, OR the shaking is simply caused by the unstable velocity loop itself.

Strostkovy's suggestion of the PID loop drifting out of controllable range makes sense in that case, and in combination with your earlier statements about it working when warm still leads me to think that there are dead caps in the control/feedback section of the amplifier. I'd check that first, and if they all check out good, get to tuning. Don't tune until any dead caps are replaced or you will be chasing your tail endlessly.
 
In the analog servo amps I am familiar with, you have +- 10 volts from the control and a tach that puts out the opposite, -+ 10 volts. They are literally connected in so that the servo amp tries to create zero volts at all times. The encoder would be connected to the control not the amp.

In this scenario a misadjustment of the tach would result in the behavior you see. Very slow movements have very low error so you can usually creep along but any attempt to move quickly results in errors as the control tries to speed up or slow down due to the encoder signal it is getting.
Since the error follows the amp, it would probably be errors in the tach gain circuitry
 
Tough task without schematics.
Could very well be a bad cap or a simple solder joint gone to poop.
First thing I do is clean board and pull and reseat any socketed chips. Clean any buss contacts. Rotate every pot and them bring it back to the same mechanical location for dirty wipers.
Look the board and interconnect cables over with big magnifying glass. Maybe ring any board to board cables one pin at a time.

With two axis the same you can put a dual scope on each and look for differences in a X-Y move.
I like to start at end, then the beginning and then jump half way in between looking for differences. This very time consuming.

Checking caps, resistors and transistors in circuit can be challenging but you do have good and bad to compare which is a huge advantage.

Have no doubt that you have the skills to do this but sometimes it time vs money.
I do not know how much of the PID loop is in software and how much in hardware but I'd not go after tuning parameters or pot settings unless you have a reason to suspect they have been corrupted.

Works ok with the linear disabled until max error fault is interesting.
Bob
 
I really wish I could find a picture of the drive, but let me assure you, there are only 2 caps on the board, and I don't think they have anything to to with the motor portion itself, rather
simply a filter circuit.
Again, there are no tachometers in the X and Y

Board pulled and checked under magnifier, not a single sign of corrosion or hot-spot on any of the traces or components.
Connections are all cleaned and checked for.

Unfortunately there is no schematics for the drive system, and I only know the approx. function of 4 pots.
For each axis, one is used for the "deviation" adjustment, the other is labeled "offset"
I don't know what the "offset" pot does, but the one for deviation adjustment is used by setting the feedrate to it's max ( 600mm/min), and while jogging at that rate
the post should be adjusted so the deviation readout is between 1333 +/-27 ( this is in the control's I/O screen )
Unfortunately, I cannot get that set because of the shaking.
At the lowest feedrate this deviation is reading between 3 and 6, which is the same as the other axis.

I have moved the pot off the setting and then back, no diff.
Maybe I'll try to whack it one way or the other and and leave it there to see if anything changes.

There are also a whole lot of other multi turn pots on the board, but they are neither labeled nor are they appear to be messed with in normal cases.
They are painted, and are in a position that you cannot access them without pulling the whole drive out of the machine.
Likely set and forget on a benchtop.
 








 
Back
Top