CNCzone.com-The Largest Machinist Community on the net!



Home Page Mark Forums Read Today's Posts My Replies Classifieds Reviews Photo Gallery Web Links Share Files Advertise With Us Ad List
Go Back   CNCzone.com-The Largest Machinist Community on the net! > OpenSource CNC Design Center > Open Source Controller Boards


Open Source Controller Boards Discussion for Open Source CNC type Controller Boards and other related items. (for personal use only)


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 09-01-2008, 09:54 PM
 
Join Date: May 2007
Location: Australia
Posts: 72
CrazyIvan is on a distinguished road
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?
Reply With Quote

  #2  
Old 09-01-2008, 10:55 PM
HuFlungDung's Avatar
Moderator
 
Join Date: Mar 2003
Location: Canada
Posts: 4,825
HuFlungDung is on a distinguished road

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)
Reply With Quote

  #3   Ban this user!
Old 09-01-2008, 11:08 PM
 
Join Date: May 2007
Location: Australia
Posts: 72
CrazyIvan is on a distinguished road

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?
Reply With Quote

  #4   Ban this user!
Old 09-02-2008, 12:40 AM
H.O H.O is offline
 
Join Date: Jul 2007
Location: Sweden
Posts: 886
H.O is on a distinguished road

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.
Reply With Quote

  #5   Ban this user!
Old 09-02-2008, 12:53 AM
 
Join Date: May 2007
Location: Australia
Posts: 72
CrazyIvan is on a distinguished road

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?
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 09-02-2008, 03:00 AM
H.O H.O is offline
 
Join Date: Jul 2007
Location: Sweden
Posts: 886
H.O is on a distinguished road

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.
Reply With Quote

  #7   Ban this user!
Old 09-02-2008, 03:48 AM
 
Join Date: May 2007
Location: Australia
Posts: 72
CrazyIvan is on a distinguished road

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.

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?

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).
Reply With Quote

  #8   Ban this user!
Old 09-02-2008, 04:45 AM
H.O H.O is offline
 
Join Date: Jul 2007
Location: Sweden
Posts: 886
H.O is on a distinguished road

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.
Reply With Quote

  #9   Ban this user!
Old 09-02-2008, 04:57 AM
 
Join Date: May 2006
Location: Australia
Age: 40
Posts: 2,205
epineh is on a distinguished road
Buy me a Beer?

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.
Reply With Quote

  #10   Ban this user!
Old 09-02-2008, 09:31 AM
 
Join Date: May 2007
Location: Australia
Posts: 72
CrazyIvan is on a distinguished road

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
File Type: jpg 080829_Down_resize.jpg‎ (155.1 KB, 33 views)
File Type: jpg 080829_Side_resize.jpg‎ (147.1 KB, 28 views)
Reply With Quote

Sponsored Links
  #11   Ban this user!
Old 09-02-2008, 10:13 AM
H.O H.O is offline
 
Join Date: Jul 2007
Location: Sweden
Posts: 886
H.O is on a distinguished road

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?
Reply With Quote

  #12  
Old 09-02-2008, 10:54 AM
Al_The_Man's Avatar
Community Moderator
 
Join Date: Dec 2003
Location: Canada
Posts: 16,544
Al_The_Man is on a distinguished road
Buy me a Beer?

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 Machine Design.
“Logic will get you from A to B. Imagination will take you everywhere.”
Albert E.
Reply With Quote

Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
PS / Current Limiting Resistor Question jessbussert General Electronics Discussion 2 05-26-2008 09:32 AM
Current Limiting For Steppers waleed alhadidi General Electronics Discussion 10 11-11-2007 06:44 AM
current limiting R2 & R4? obscurity PicStep Controllers 1 07-17-2006 10:25 PM
Current limiting resistor pyrojon General Electronics Discussion 8 04-19-2005 08:47 PM
Current limiting on homemade driver MrBean General Electronics Discussion 8 10-22-2003 03:02 PM




All times are GMT -5. The time now is 12:55 AM.





Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
Template-Modifications by TMS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361