Page 1 of 3 123 LastLast
Results 1 to 12 of 31

Thread: What's the point of current limiting a servo?

  1. #1
    Registered
    Join Date
    May 2007
    Location
    Australia
    Posts
    72
    Downloads
    0
    Uploads
    0

    Question What's the point of current limiting a servo?

    I've been looking at some servo controller designs, and I'm just trying to work out...

    What is the point of current limiting/sensing?

    The only reason I can figure out is safety - don't fry things.

    But once you hit the current limit on a servo system, you're going to deviate from the desired position, and once that happens... your controller should throw an error and pull the ESTOP line anyway.

    Do you think it would be sufficent to use a current sensing aparatus in that just pulls the ESTOP line?


  2. #2
    Moderator HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4826
    Downloads
    0
    Uploads
    0
    I don't follow your reasoning that when the current reaches a predefined limit that the system is going to deviate from the desired position. It could just be working very hard at that time, but doing well at maintaining position. The current limit can potentially protect the motor from overcurrent when the amp is capable of supplying more than the motor is designed to handle.

    In some situations, you might want to tailor the current limit to suit a particular job, to protect a tool, rather than protect only the motor.
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  3. #3
    Registered
    Join Date
    May 2007
    Location
    Australia
    Posts
    72
    Downloads
    0
    Uploads
    0
    Very good point: an amp more capable than the motor.

    But what are the options once you reach such a limit?
    Are any of our hobby-level systems capable of understanding an "over-load" situation and backing off?

    Should the results of current sensing stop at the servo controller, or go back to the motion generator (Mach3, etc) for redress?


  4. #4
    H.O
    H.O is offline
    Registered
    Join Date
    Jul 2007
    Location
    Sweden
    Posts
    886
    Downloads
    0
    Uploads
    0
    It's also a matter of protecting the drive itself.... As an example my motors are rated 19A continous and 150A peak, the armature resistance is 0.24ohm and I feed them with 130V.

    If the rotor for some reason is blocked from rotating the current drawn by the motor would be 540A (not taking wiring resistance into acount). A current that high would instantly destroy the drive and probably demagnitize the motor. So using a drive that senses and limits current is an absolute must in this case IMO.

    /Henrik.


  • #5
    Registered
    Join Date
    May 2007
    Location
    Australia
    Posts
    72
    Downloads
    0
    Uploads
    0
    So, what should happen once that limit is reached?

    If the motor has been driven beyond it's defined limits, it has done so in an attempt to maintain position. Any attempt to reduce the current will result in loss of position. A loss of position in a motion controlled (CNC) system will typically means deviation from path and that's unacceptable.

    Is it fair to say that if a current limit has been reached that the job should stop?

    Could a current monitoring/alerting system be positioned outside the controller?


  • #6
    H.O
    H.O is offline
    Registered
    Join Date
    Jul 2007
    Location
    Sweden
    Posts
    886
    Downloads
    0
    Uploads
    0
    Hi,
    First of all, when a servosystem moves the axis it is ALWAYS a certain distance away from the "target" - that's just how it works. If there isn't an error to "take up" the speed drops to 0 and the axis is stationary. There HAS to be a difference between current postion and target position in order for the PID (or whatever algorithm is used) to apply torque to the motor so it can move. That error should however be and IS usually quite low. The stiffer you tune the servo-loop the smaller it gets.

    Now, different drive operates in different ways, some just fault out if the current reaches the set limit, some limits the current for a certain time after which it faults out. Others let you run ABOVE the limit for short while and then folds the current back, limiting it to the set level. (Best approach IMO)

    IMHO it shouldn't fault and shut down just because the current reaches the limit, it should limit and keep the current (torque) to what you set it to. It's what you set the following error trip limit to that will and should stop the drive in case it is to far out of position.

    Is it fair to say that if a current limit has been reached that the job should stop?
    Not at all IMO. Again, it is the following error trip limit that should fault/stop the drive, not the current limit. In my case, if the current limit would trip the drive I would have to revert to ridiculous slow acceleration. Now it accelerates hard, hits the current limit and the drive limits the current to the set value. As it does the motor accelerates as fast it can with the supplied the current and the following error increases. As the motor catches up the following error decreases again. It's a balance between acceptable following error and acceleration values.

    I know that with EMC you can even setup the following error trip limit as a function of speed so if you do a G0 move it allows the axis to lag more than if you do a slow G1-move for example - pretty slick.

    Some drives have an outout that can be used to inform the control system that the drive operates at the limit - I guess it could be used for some sort of adaptive feedrate override.

    /Henrik.


  • #7
    Registered
    Join Date
    May 2007
    Location
    Australia
    Posts
    72
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by H.O View Post
    There HAS to be a difference between current postion and target position in order for the PID (or whatever algorithm is used) to apply torque to the motor so it can move.
    Not true. A PID controller can keep torque applied when there is no error, if it was needed to achieve no error. That's the function of the integral component.

    Quote Originally Posted by H.O View Post
    Again, it is the following error trip limit that should fault/stop the drive, not the current limit. In my case, if the current limit would trip the drive I would have to revert to ridiculous slow acceleration ... It's a balance between acceptable following error and acceleration values.
    What sort of following error limit do you use then? The large value needed to allow fall-behind during fast acceleration would allow large deviations from a path during slow maneuvers. So... you're actually commanding movements beyond the capabilities on the drive system?

    Quote Originally Posted by H.O View Post
    I know that with EMC you can even setup the following error trip limit as a function of speed so if you do a G0 move it allows the axis to lag more than if you do a slow G1-move for example - pretty slick.

    Some drives have an outout that can be used to inform the control system that the drive operates at the limit - I guess it could be used for some sort of adaptive feedrate override.
    Hmmm... smarts. Yeah, sometimes it's important to be accurate. Sometimes it's important to get there ASAP. Thing is, you need two-way communication to achieve this (otherwise Mach3 may send you off to a new position before you've arrived at the last).


  • #8
    H.O
    H.O is offline
    Registered
    Join Date
    Jul 2007
    Location
    Sweden
    Posts
    886
    Downloads
    0
    Uploads
    0
    Not true. A PID controller can keep torque applied when there is no error, if it was needed to achieve no error. That's the function of the integral component.
    Indeed you're right, but in order for it to keep moving forward there has to be an error for it to "hunt".

    I'm still running on the bench but right now I have the following error trip-point set to 250 counts. With the 2500counts/rev, 2:1 gearing and 5mm pitch ballscrews that's 0.25mm. I can see the current limit LED on the drive light up briefly during hard acceleration but the drive doesn't fault. I still have the current limit set to ~15A so there's still a bit more to squeeze out of it. This of course does mean that it CAN fall as much as 0.25mm behind beofre it faults - even on slow moves but it is a trade-off I'll have to live with since I can't afford 150A peak servo-drives..... ;-)

    So... you're actually commanding movements beyond the capabilities on the drive system?
    Well, yes and no....I could tune it so it's just on the edge of limiting current while accelerating and then lower the following error trip point but the I'm trying to make is that I much rather have it actually limiting the current instead of just quiting on me.

    Adaptive feedrate in Mach3 will probably have to be handled by one of the external motionengines like the Smoothstepper etc - if it will ever happen. With EMC it's whole different thing since IT actually closes the position loop so it has "full" control of what's going on.

    /Henrik.


  • #9
    Registered
    Join Date
    May 2006
    Location
    Australia
    Posts
    2274
    Downloads
    0
    Uploads
    0
    Hi Ivan, without going into all of the PID side of things, the current limit is about protection, protection for the servo and protection for the drive and I guess also for the machine itself.

    Think of it like a fuse, unfortunately a fuse is way too slow to help out in this case, as you know a common PWM frequency is 20KHz, so by the time a fuse has blown the power FET's have seen many (I don't know the ball park figure) full turn on's with an overcurrent situation.

    The current limit is generally there in case of a problem, stalled servo due to mechanical blockage, possibly burnt out servo or something like motor cabling shorted to ground are all possibilites. As far as going overcurrent due to not being able to keep up with PID tuning, if the servo cannot stay where it should, then it probably isn't sized correctly for the job, or possibly the acceleration settings are wrong/unrealistic.

    I for one can tell the result of no current limit combined with no optoisolation - blown drive(s), blown FPGA card, blown controller PC not to mention the time setback to learn how to do it properly (or at least try to)

    Besides, now I have servo's my acceleration is practically instant - way out of the reach of a stepper system, and the torque limit LED's on my drives don't even flicker when going from standstill to full rapid speed, I guess with a heavier axis some experimentation would be needed.

    Cheers.

    Russell.


  • #10
    Registered
    Join Date
    May 2007
    Location
    Australia
    Posts
    72
    Downloads
    0
    Uploads
    0
    So where's the current limiter belong?

    Between the controller's smarts and it's command of the H-bridge?

    Looking at the UHU design (original & HP), that's where it appears to be.

    It seems safer to have this as a discrete function (not built into the uC).

    Of course this is all in an effort to brew my own controller.
    Attached Images Attached Images


  • #11
    H.O
    H.O is offline
    Registered
    Join Date
    Jul 2007
    Location
    Sweden
    Posts
    886
    Downloads
    0
    Uploads
    0
    Hi,
    Yes, on the HP-UHU the current limit is completly handled in hardware, the uC doesn't know about it at all. If the current goes above the setpoint the circuit simply inhibits the gate-drive signals to the bridge thus "overriding" the dutycycle that the uC sends out (cycle by cycle)

    In theory you could use the uC's ADC to sample the voltage across the sense resistor - and many drives do but it's not always as easy it first looks. You need good filtering yet quick response in order for it to react fast enough.

    Nice setup! Care to tell us more about it?


  • #12
    Community Moderator Al_The_Man's Avatar
    Join Date
    Dec 2003
    Location
    Canada
    Posts
    19112
    Downloads
    0
    Uploads
    0
    There is an interesting tutorial video on the Galil site, although specifically for Galil products, the last 4 or 5 minutes explains the effect of overdriving a torque mode amplifier.
    And operating an amplifier which is well within range of the load.
    http://www.galilmc.com/training/jacobvideoconfirm.html
    Al.
    CNC, Mechatronics Integration and Custom Machine Design (Skype Avail).

    “Logic will get you from A to B. Imagination will take you everywhere.”
    Albert E.


  • Page 1 of 3 123 LastLast

    Similar Threads

    1. PS / Current Limiting Resistor Question
      By jessbussert in forum General Electronics Discussion
      Replies: 2
      Last Post: 05-26-2008, 10:32 AM
    2. Current Limiting For Steppers
      By waleed alhadidi in forum General Electronics Discussion
      Replies: 10
      Last Post: 11-11-2007, 07:44 AM
    3. current limiting R2 & R4?
      By obscurity in forum PicStep Controllers
      Replies: 1
      Last Post: 07-17-2006, 11:25 PM
    4. Current limiting resistor
      By pyrojon in forum General Electronics Discussion
      Replies: 8
      Last Post: 04-19-2005, 09:47 PM
    5. Current limiting on homemade driver
      By MrBean in forum General Electronics Discussion
      Replies: 8
      Last Post: 10-22-2003, 04:02 PM

    Posting Permissions



    About CNCzone.com

      We are the largest and most active discussion forum from DIY CNC Machines to the Cad/Cam software to run them. The site is 100% free to join and use, so join today!

    Follow us on

    Facebook Dribbble RSS Feed


    Search Engine Friendly URLs by vBSEO ©2011, Crawlability, Inc.