Analog DC servo - chasing/violent shaking
Close
Login to Your Account
Results 1 to 16 of 16
  1. #1
    Join Date
    Aug 2005
    Location
    CT
    Posts
    8,273
    Post Thanks / Like
    Likes (Given)
    444
    Likes (Received)
    2170

    Default Analog DC servo - chasing/violent shaking

    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

  2. #2
    Join Date
    Jun 2013
    Country
    UNITED STATES
    State/Province
    Washington
    Posts
    156
    Post Thanks / Like
    Likes (Given)
    2
    Likes (Received)
    34

    Default

    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.

  3. #3
    Join Date
    Aug 2005
    Location
    CT
    Posts
    8,273
    Post Thanks / Like
    Likes (Given)
    444
    Likes (Received)
    2170

    Default

    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.

  4. #4
    Join Date
    Sep 2011
    Country
    UNITED STATES
    State/Province
    Virginia
    Posts
    19,069
    Post Thanks / Like
    Likes (Given)
    7561
    Likes (Received)
    11678

    Default

    Quote Originally Posted by SeymourDumore View Post
    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?

  5. #5
    Join Date
    Feb 2007
    Location
    Aberdeen, UK
    Posts
    4,503
    Post Thanks / Like
    Likes (Given)
    1639
    Likes (Received)
    2081

    Default

    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.

  6. Likes jz79 liked this post
  7. #6
    Join Date
    Jan 2014
    Country
    UNITED STATES
    State/Province
    Washington
    Posts
    5,570
    Post Thanks / Like
    Likes (Given)
    1006
    Likes (Received)
    3130

    Default

    Quote Originally Posted by gregormarwick View Post
    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.

  8. Likes gregormarwick liked this post
  9. #7
    Join Date
    Jan 2007
    Location
    Flushing/Flint, Michigan
    Posts
    10,171
    Post Thanks / Like
    Likes (Given)
    575
    Likes (Received)
    8316

    Default

    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

  10. #8
    Join Date
    Aug 2005
    Location
    CT
    Posts
    8,273
    Post Thanks / Like
    Likes (Given)
    444
    Likes (Received)
    2170

    Default

    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.

  11. #9
    Join Date
    Oct 2017
    Country
    UNITED STATES
    State/Province
    California
    Posts
    1,242
    Post Thanks / Like
    Likes (Given)
    379
    Likes (Received)
    425

    Default

    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.

  12. #10
    Join Date
    Jan 2007
    Location
    Flushing/Flint, Michigan
    Posts
    10,171
    Post Thanks / Like
    Likes (Given)
    575
    Likes (Received)
    8316

    Default

    Quote Originally Posted by SeymourDumore View Post
    .....
    So, with the X and Y swapped, the X axis is absolutely flawless but the Y inherits the very same shake.
    .
    Big clue here that I think many are ignoring.
    Sort of eliminates screws, motors, encoders, tachs or tuning.
    This seems inside the control's brain and guts.

  13. #11
    Join Date
    Feb 2007
    Location
    Aberdeen, UK
    Posts
    4,503
    Post Thanks / Like
    Likes (Given)
    1639
    Likes (Received)
    2081

    Default

    Quote Originally Posted by Vancbiker View Post
    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.

    Quote Originally Posted by SeymourDumore View Post
    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.

  14. #12
    Join Date
    Sep 2002
    Location
    People's Republic
    Posts
    5,819
    Post Thanks / Like
    Likes (Given)
    699
    Likes (Received)
    3644

    Default

    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

  15. #13
    Join Date
    Apr 2018
    Country
    UNITED STATES MINOR OUTLYING ISLANDS
    Posts
    7,340
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    3591

    Default

    Quote Originally Posted by CarbideBob View Post
    Big clue here that I think many are ignoring.
    Sort of eliminates screws, motors, encoders, tachs or tuning.
    This seems inside the control's brain and guts.
    +1. A bad tach would not hop from X to Y when he changes axes. Most likely in the drive.

  16. #14
    Join Date
    Oct 2017
    Country
    UNITED STATES
    State/Province
    California
    Posts
    1,242
    Post Thanks / Like
    Likes (Given)
    379
    Likes (Received)
    425

    Default

    As mentioned, derivative gain is too high

  17. #15
    Join Date
    Jan 2007
    Location
    Flushing/Flint, Michigan
    Posts
    10,171
    Post Thanks / Like
    Likes (Given)
    575
    Likes (Received)
    8316

    Default

    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

  18. #16
    Join Date
    Aug 2005
    Location
    CT
    Posts
    8,273
    Post Thanks / Like
    Likes (Given)
    444
    Likes (Received)
    2170

    Default

    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.


Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •