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! > Machine Controllers Software and Solutions > CamSoft Products


CamSoft Products Discuss Camsoft PC based CNC controller products here!


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 10-28-2003, 11:19 PM
 
Join Date: Oct 2003
Location: Pompano Beach FL
Posts: 45
mbam is on a distinguished road
Questions for stepper motor gurus

We have recently installed a new control on our Bridgeport Series II. The machine had been previously fitted with a Centroid control and steppers. We kept the steppers (nema 43, 9A) and bought new drives and power supplies along with a Galil motion card and Camsoft's software.

Just for background info I am new to cnc in general but have pretty good computer, electronics and mechanical skills.

We are having some problems with the steppers and I need to know if I am just heading down the wrong path.
It appears that continuous motion will not be possible. Regardless of feedrate in order to not stall the motors or lose steps we need to decelstop before every feedrate command (G1, G2, G3, etc). Seems like there is a missing ramp up/down.

Is this normal behavior? Does it matter? Am I asking too much of steppers?

Big thanks,
Marc
Tweet this Post!Share on Facebook
Reply With Quote

  #2  
Old 10-28-2003, 11:44 PM
HuFlungDung's Avatar
Moderator
 
Join Date: Mar 2003
Location: Canada
Posts: 4,823
HuFlungDung is on a distinguished road

Hi Marc,

I don't know if I can help, but we can talk until someone comes along

I have never run steppers on a cnc to have first hand knowledge of what you are dealing with.

Do you know that your motors never lose steps on acceleration?

Have you experimented with the "Smooth " command yet? (I believe this command is available in CNC Professional, but not Lite). It might be worth a shot to see if the motors will keep running smoothly over a multi step profile. If you don't use a decelstop, you will get an instant stop "ramp", which, I would think, would be the cause of lost steps. This would be the reason to incorporate the smooth on command.

I set up a set of "shadow gcodes" that do exactly the same thing as G1, G2 and G3 (which all contain a decelstop command), except the shadow set has the decelstop removed, but must be used in conjunction with a seperate gcode which turns smooth on.

When the profile is finished, I turn smooth off with another gcode, prior to going back to the conventional G1, G2, G3. I am running this on a lathe, where the profiles are short and sweet.

I've been thinking about this lately, and I may change my method for use on a mill, because it would be very inconvenient, to use different gcodes other than standard, especially when creating programs from standard cadcam software. It might work better to create a flag variable, which resides in your G1, G2 or G3 logic, and which represents the state of "smooth on" or "smooth off". This way, you will still turn smooth on and off by changing the state of the flag variable:
G100 logic (pick any free gcode you have)
\200 (or whatever) = 1 'smooth on
G101 logic
\200 = 0 ' smooth off
G1 logic
IF\200=1THEN SMOOTH ON
GO x;y;z

This way, you can continue to program with standard software for all the movements.

You do need to turn smooth off before the final feedrate movement has been completed (to prevent the "instant stop ramp" from occurring. ) You would have to command
G101 G1 at the last movement in the profile, in this example, to shut off smoothing:

G1 logic
IF\200=1THEN SMOOTH ON
If\200=0 THEN SMOOTH OFF; DECELSTOP
GO x;y;z

BTW, I have not looked at the manual for a few months, so my syntax may not be correct. I running on pure neurons here.
Just be sure to initialize \200 to zero in your startup.fil and also with any kind of "machining program abort or reset" Mcode or Gcode that you have set up.
__________________
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)

Last edited by HuFlungDung; 10-29-2003 at 01:55 PM.
Tweet this Post!Share on Facebook
Reply With Quote

  #3   Ban this user!
Old 10-29-2003, 09:20 PM
 
Join Date: Oct 2003
Location: Pompano Beach FL
Posts: 45
mbam is on a distinguished road

Hu, thanks for the reply.

I have done limited work on the G codes, etc but I understand the concept. Is the use of steppers so unusual? I am kind of surprised that there is not a configuration that is more suitable for steppers. Any idea how other machine controls handle this?
__________________
Thanks
Marc
Tweet this Post!Share on Facebook
Reply With Quote

  #4  
Old 10-29-2003, 10:08 PM
HuFlungDung's Avatar
Moderator
 
Join Date: Mar 2003
Location: Canada
Posts: 4,823
HuFlungDung is on a distinguished road

Marc,

I don't believe the application to steppers over servos is unique. The crux of the issue is this for both kinds of motors: an accel/decel ramp must exist.

This may not seem evident at first, but it is there all the time.

Thus, the motion card needs to be told at what rate to accel/decel for every move. And, if the move is truly going to end, then you must tell it to decelerate, and not just "end motion", which is like a command to decelerate at an infinite rate. This causes the amplifier to send or receive a huge pulse which causes nuisance tripping of the overload detector.

The advantage of the Galil/Camsoft setup, is that it is possible to eliminate this accel/decel between feed commands when you choose to. When this is the case, then all the movement vectors are just downloaded into the card one after the other, with never any thought given to accel/decel. This is what creates smmmoooth machine motion when running short segment nc code, at a high rate. Regular cnc's lacking this capability tend to get into a vibrating, shaking mode when trying to execute hundreds of blocks per second, because the accel/decel is always trying to cut back in between the movements, because the processor is taking too long to send the next move, and there is a miniscule pause, which allows decel to begin, then accel to be applied immediately when the next movement is read.

I have seen the effect of "smooth on" while running my Camsoft lathe. I was turning a very long slender shaft, for which I had to create a special curved toolpath for, to compensate for the deflection of the part. This resulted in several intersections in the cut length, from one end to the other. With "smooth off", there would be just the tiniest toolmark at each intersection, as the next move was read, and the decelstop was applied. With "smooth on", there were absolutely no toolmarks at any intersections, because the whole profile executed with only a single accel at the start and a decel at the other end of it.
__________________
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)

Last edited by HuFlungDung; 10-29-2003 at 10:26 PM.
Tweet this Post!Share on Facebook
Reply With Quote

  #5   Ban this user!
Old 10-29-2003, 10:12 PM
balsaman's Avatar  
Join Date: Mar 2003
Location: Canada
Posts: 2,139
balsaman is on a distinguished road

Usually accel, decel is setup in the motion card or software.

Eric
__________________
I wish it wouldn't crash.
Tweet this Post!Share on Facebook
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 10-29-2003, 10:56 PM
 
Join Date: Oct 2003
Location: Pompano Beach FL
Posts: 45
mbam is on a distinguished road

Hu,

The picture I have in my head is that for a servo the decel is acomplished in the pid loop as the endoder approaches the desired increment. In the case of a stepper unless provided for in software it is step to location then bang- stop.

I will sure try the smoothing tommorow. My G1, 2 & 3 did not include the decelstop, I had to add it.

Having written a few lines of code in my life (application software & web), I do admit I like the ability to change as needed.

Eric, do you know if the Galil card has such a provision for steppers?
__________________
Thanks
Marc
Tweet this Post!Share on Facebook
Reply With Quote

  #7  
Old 10-30-2003, 07:21 AM
HuFlungDung's Avatar
Moderator
 
Join Date: Mar 2003
Location: Canada
Posts: 4,823
HuFlungDung is on a distinguished road

Marc, I know what you are saying, but I think that steppers must also have a ramp.

The PID loop really does not include an accel/decel ramp. True, the ramps you decide to use, will be affected by the PID settings, but the PID settings do not make the ramps. PID is used to adjust the servo response to its encoder feedback. Depending on the load and motor size, you can imagine that this has to be customized for every installation. But, theoretically, the accel/decel ramp could be fixed for every installation.

On the Galil card, the accel/decel for servos is still based on encoder counts per second, which parallels steps per second for a stepper. Somewhere, there has got to be a ramp for increasing or decreasing steps per second for the stepper, otherwise it will lose steps on every accel/decel.
__________________
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)
Tweet this Post!Share on Facebook
Reply With Quote

  #8   Ban this user!
Old 10-30-2003, 05:58 PM
 
Join Date: Apr 2003
Location: United States
Posts: 267
camsoft is on a distinguished road

For Marc,

No, this is not normal behavior. Under the right conditions you should get a very smooth continuously un-interrupted cut at a constant velocity. However, the effects you describe are not surprising and happen to many others on all types and brands of CNC controllers when either not set up properly or the physical motors are under sized for the weight, load, gearing and inertia that the table can handle.

Honestly we have not read through all of the chats on the message board, but we do have some solid advice and explanations on this topic.

First the explanation. The better the problems are understood the better you can decide upon one of these solutions.

When stepper motors do not have enough torque (power) or are geared incorrectly for the application they are notorious for losing torque during acceleration while taking off from a dead stop, decelerating too fast to a stop, travel at the upper reaches of the RPM range for that motor or making an abrupt change in travel direction. When this happens, the motors may kick out, stall, ignore steps or freeze up.

You may be losing steps by accelerating too fast or rapiding too fast. The faster a stepper motor moves, the whimpier the stepper motors becomes thus losing torque. Although they have good torque at slow speeds. The drawback to an open loop system is that you will never know this unless you can humanly visually notice it.

The key solutions are presented in order of consideration for effectiveness, difficulty and cost.

(1) Change to closed looped servo motors.

(2) Possibly keep the stepper drives but change the stepper motors to a larger size.

(3) Use gear reducers. There are many types to select from. In-line ones that attach to the face of the motor or side mounted gear boxes are most common. Each time you reduce the gearing ratio by a factor of 2 you will increase the torque the motor has, thus doubling its power. The trade off is that each time you do this you also reduce the RPM and travel speed by half. It is common practice for companies to use , 1.5:1, 2:1, 5:1 pitches on their ball screws or install gear reducers in factors 2,5,10 or 20 to 1 for example.

(4) Use SmartPath to make automatic on-the-fly intelligent decisions about when to decel and when not to and then only apply the amount required per cutting scenario, material type, physical mechanics and up coming look ahead geometry in the cut path.

(5) Set the SLOWDOWN and NEXTMOVE parameters to automatically calculate the correct distance to commence a reduced feedrate before reaching each target position on the basis of percentage and distance of the original feedrate. This feature in part is the missing ramp up/down your speaking of. SmartPath does this same thing but with much more intelligence and versatility.

(6) Keeping in mind that steppers have the most torque at their low RPM ranges. Some solutions are in this area are:

(6a) Use lower the feedrates on G01, G02 and G03.

(6b) Open the position error allowance using POSERROR which keeps the motors from kicking out so easy.

(6c) Lower the maximum rapid speed using RAPIDSPEED to keep from running the stepper in the high RPM ranges.

(6d) Open the TOLERANCE setting up slightly. This will allow each target position reached to be satisfied more quickly and move on to the next. Don't worry about position accuracy, this system will always strive to make position and always output the exact number of steps. TOLERANCE only confirms your in-position by doing a check within the user defined tolerance range. If in-position tolerance must be confirmed on each move within a certain small value then an alternative exist by using the logic command BLEND.

(6e) Set a minus BLEND factor. This settings is in milliseconds. When the value is negative it will have a similar effect as opening tolerance, except for the unit are time based not distance based.

(6f) Insert DECELSTOP commands in your GCODE.FIL file or use G11 codes in your G code program only where necessary to automatically ramp up and down.

(6g) Lower the acceleration rate and deceleration rate using ACCEL and DECEL settings to make softer starts and stops or ramp ups and ramp downs.

Keep in mind that the focus of what your trying to accomplish is to reduce the factors that make stepper motors lose torque. The only way to approach this is to start with conservative values and make repeated tests each time slightly increasing or decreasing the values until you feel that the settings reflect adequate acceleration and deceleration for the motor size, table weight, load, gearing and inertia that your machine can handle.

For more detailed information read the Question & Answer Solutions numbers Q127, Q176 and Q195 in the CNC Professional manual. Also information for existing users can find SmartPath, SLOWDOWN, NEXTMOVE, POSERROR, RAPIDSPPED, BLEND, TOLERANCE, ACCEL and DECEL parameters in both the printed and electronic manuals.

Tech Support
CamSoft Corp.
(909) 674-8100
support@camsoftcorp.com
www.cnccontrols.com
Tweet this Post!Share on Facebook
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 Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Beginner Questions dfranks CNC Plasma and Waterjet Machines 6 06-12-2005 11:40 AM
Work has commenced, many questions Tabor DIY-CNC Router Table Machines 3 09-21-2004 12:46 PM
Some Gecko 201 Questions mikie Gecko Drives 3 08-10-2004 12:40 AM
Questions for starting and a formula ... elenabux General Metal Working Machines 3 07-17-2004 07:54 AM
A few honest questions HuFlungDung CamSoft Products 8 06-15-2004 07:24 PM




All times are GMT -5. The time now is 09:21 PM.





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