steppers or servo drives


Results 1 to 15 of 15

Thread: steppers or servo drives

  1. #1
    Registered
    Join Date
    Jul 2003
    Location
    north wales,u.k
    Posts
    45
    Downloads
    0
    Uploads
    0

    Question steppers or servo drives

    Hi,

    My name is Mike and I live in the U.K. This is my first experience of discussion forums so please be patient if I am not up to speed on the protocol.

    I have followed a few threads on ‘cnczone’ and my interests and aspirations seem to match those expressed by Mr. Davis on his home page at www.homecnc.info.

    I have 25 years experience using CNC machines and have recently completed the design and build of my own C.N.C controller. I would like to help unravel the mysteries of motion control for anyone struggling with similar projects, and hopefully develop some cost effective alternatives to some of the more expensive components required to assemble a complete machine.

    Enough introduction. The main reason for my post and this tread is to ask a question about the choice between stepper or servo drives. My impression from reading several discussions is that steppers are the popular choice for people converting or building their own equipment. As steppers systems are not usually closed loop and do not report any positional error I do not feel that repeatability is guaranteed, especially with varying loads and speeds. A servo system is fundamentally an error-based system in which the controller waits for a positional error to occur and then applies output power proportionally until the correct position is achieved. An option for those wishing to convert from a stepper to a servo system is to use Gecko Servo Drive Cards.

    How do these ‘Gecko Servo Drives’, which receive pulse and direction, input signals, report back to the controller that position is being maintained? If they don’t provided this basic error control facility can they be considered as true servo drives and what advantage is gained over stepper drives?

    I look forward to receiving comments and advise from experienced ‘Gecko Drive’ users and also to hearing from anyone who is interested in servo drive controllers.


    Regards
    Mike

    Similar Threads:
    mike potter


  2. #2
    Registered HomeCNC's Avatar
    Join Date
    Mar 2003
    Location
    United States
    Posts
    779
    Downloads
    0
    Uploads
    0

    Default

    Nice to see you on this board.

    The servo drive system using a Gecko drive is only closed loop back to the gecko drive only. There is no loop back to the software on the PC. If the Gecko drive gets behind processing steps because of a heavy cut or too fast of feed the drive will fault but the software will not know this has happened. It is the next best thing to a complete closed loop system for a lot less money.

    Thanks

    Jeff Davis (HomeCNC)
    http://www.homecnc.info


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


  3. #3
    Gold Member
    Join Date
    Mar 2003
    Location
    United States
    Posts
    2839
    Downloads
    0
    Uploads
    0

    Default

    Mike,

    The choice between stepper or servo is almost entirely power; if your app requires 100W mechanical or less, use steppers. If it is 200W or more, use servos; if in between, either will do.

    Both are equally reliable as to positioning; the stepper is both a motor and a position transducer, a servo seperates into a motor and a position transducer (encoder).

    The G320 is a PID position servo drive. The "I" term (integral) does not permit the motor to be statically off-position by more than +/- 1 encoder count. If it is, the integral term multiplies the motor's corrective torque to its full stall value.

    If the motor cannot generate enough torque to keep up with the moving command position, it will fall behind. If it falls 128 counts behind where it should be, the G320 "throws in the towel", shuts the motor off and indicates a "Fault" output.

    This happens anytime you ask for more than 100% of what a motor has to give. A stepper will stall; a servo has to be shut down because unlike a stepper, it is willing, able and eager to destroy itself when overloaded. Unlike servos, steppers cannot be harmed by overload; they simply stall to shed the load.

    When either is operated within their abilities, neither will ever miss steps or position. Both are equally reliable to go where they are told.

    Mariss Freimanis
    Geckodrive Inc.



  4. #4
    Registered
    Join Date
    Mar 2003
    Location
    Pineville,KY
    Posts
    52
    Downloads
    0
    Uploads
    0

    Default

    Originally posted by Mariss Freimani
    Mike,

    The choice between stepper or servo is almost entirely power; if your app requires 100W mechanical or less, use steppers. If it is 200W or more, use servos; if in between, either will do.

    Mariss....Would you care to clarify for us laymen, as to what mechanical wattage means?

    Thanks



  5. #5
    Registered ToyMaker's Avatar
    Join Date
    May 2003
    Location
    United States
    Posts
    325
    Downloads
    0
    Uploads
    0

    Default

    The arithmetic is 746 Watts = 1 Horsepower. So, loosely (very loosely ), 100 W is a little better than 1/10 hp, and 200 W is a little less than 1/5 hp.

    robotic regards,

    Tom
    = = = = =
    A man will pay two dollars for a one-dollar item he wants.
    A woman will pay one dollar for a two-dollar item she doesn't want.



  6. #6
    Registered ljoe1969's Avatar
    Join Date
    Oct 2003
    Location
    CORBIN, KENTUCKY
    Posts
    208
    Downloads
    2
    Uploads
    0

    Default

    why choose servos over steppers on a 4' x 8' cut table?



  7. #7
    Registered
    Join Date
    Oct 2003
    Location
    Sweden
    Posts
    399
    Downloads
    0
    Uploads
    0

    Default Re: steppers or servo drives

    Originally posted by mmjpotter
    *snip*

    I have 25 years experience using CNC machines and have recently completed the design and build of my own C.N.C controller. I would like to help unravel the mysteries of motion control for anyone struggling with similar projects, and hopefully develop some cost effective alternatives to some of the more expensive components required to assemble a complete machine.

    *snip*
    Mike,

    I'd like to know more about your controller. If I can only find servo drivers for my project that won't cost me a fortune, I'm planning to make my own position controller.

    The servo drives take +/-10 V as speed reference, and outputs quadrature signals to indicate movement.

    My still very loose thinking is to implement three encoder counters in an FPGA, and use some kind of microcontroller (perhaps something from Atmel's AVR family) to implement the position servo loops with PID controllers. The Speed and Torque loops will be handled by the servo motor drivers.

    How have you implemented your controller, and what parts of the controlling does it do?

    Arvid



  8. #8
    Gold Member
    Join Date
    Mar 2003
    Location
    United States
    Posts
    2839
    Downloads
    0
    Uploads
    0

    Default

    Originally posted by HomeCNC
    If the Gecko drive gets behind processing steps because of a heavy cut or too fast of feed the drive will fault but the software will not know this has happened. It is the next best thing to a complete closed loop system for a lot less money. [/B]
    It's a matter of having to fit a servo drive to what popular CNC programs are out there. These are primarily "step and direction" output programs with no provision to close a PID loop back at the PC.

    The G320 aquits itself rather well. I ran some tests where I accellerated a motor loaded at its rated cont. torque to 2400 RPM in 125 milliseconds while tracking the position error TP. The error never exceeded +/- 4 encoder counts (0.72 degrees).

    I have a digital sampling scope picture which shows the drive's position error response in detail.

    I have posted it to the G320/G340 folder in the files section of the yahoo group "geckodrive". I'd post it here but the .pdf file at 105K exceeds the 80K limit here and .pdf is not a listed valid extension.

    Mariss



  9. #9
    Registered
    Join Date
    Jul 2003
    Location
    north wales,u.k
    Posts
    45
    Downloads
    0
    Uploads
    0

    Default

    Hi Arvidb

    Thanks for the interest shown in my cnc project. My controller is a PC based system which uses the main CPU to perform the PID loop control.

    I used 2 standard ISA/PCI slot cards. One is an Analog output card to provide 10 volt drive signals, and the second is a 24bit counter card (quadrature input) which continually tracks and records the encoder position .

    A priority interrupt is generated every millisecond this provides the base for real-time operation. The computer constructs a memory model of the required move, which is the distance required at the given speed every millisecond. The interrupt routine compares this position with the actual position recorded by the encoder card. The difference (the following ERROR) is converted by the Anolog card to a voltage between 10 volts and this voltage is PROPORTIONAL to the error.

    A tacho is fitted to the rear of the motor and the tacho signal voltage is INTERGRATED with the PROPORTIONAL voltage using a summing amplifier, this helps maintain a constant motor speed under varying loads. Implementing the P & I functions of the PID loop are usually sufficient for basic motion control.

    This is a FULL closed loop system and offers very high positional holding torque. I use it to drive different machines with motors that range from 160volts @30amps to
    Battery operated motors 24volt@20amps. You can mix motor size and power and even have different encoder resolutions on each axis.

    Good Luck Arvidb
    Mike

    mike potter


  10. #10
    Registered
    Join Date
    Oct 2003
    Location
    Sweden
    Posts
    399
    Downloads
    0
    Uploads
    0

    Default

    Mike,

    very interesting! What "base" are you running under - DOS? Windows doesn't lend itself to real-time at all, I have noticed.

    Can you get positional error graphs as well? That's what would be really neat with a system like this, to see what's actually happening.

    What about feed-forward?

    My system would not use tachometers, but instead calculate speed from the encoder. Tacho's are better I guess, but there are simple techniques to calculate speed from an encoder input with quite good dynamic response. There's a lot of interesting info in Application notes from Texas Instruments, Motorola and Analogue Devices.

    They all make complete DSP's with everything you'd need for implementing Field Oriented Control (FOC) for 3-ph AC motors. The TI part number is TMS320Lx24x, AD part number ADSP-2199x, and Motorola DSP56F80x.

    I have never used any servo system where I've had to set the Derivative term in a PID loop, only the PI terms. This was in a temperature servo system which we are using at work.

    Arvid



  11. #11
    Registered
    Join Date
    Jul 2003
    Location
    north wales,u.k
    Posts
    45
    Downloads
    0
    Uploads
    0

    Default

    Hi Arvid

    You are correct my system is DOS based. I didn‘t see any advantage of running the system under Windows. An old 486 machine running this program under DOS can spin DC Motors dangerously fast. As you are probably aware most windows based systems use DSP’s to perform the real-time motion control. The problem I had with this approach was that these DSP systems provide a user interface library to access the pre-programmed motion routines. I wanted the freedom to develop my own routines. This means the program can be updated to include your idea of plotting positional error graphs, in fact at the moment I am trying to implement ‘S’curve profiling and plotting the move will provide a good visual to examine the systems response.
    Using the encoder as a digital tacho should work well. The one I looked at was a bit expensive $250 !!
    I’m not sure what you mean by feed-forward? Get back to me.
    Thanks for the graph idea!! (That is the trouble with this game you never finish).

    Regards
    Mike

    mike potter


  12. #12
    Registered
    Join Date
    Oct 2003
    Location
    Sweden
    Posts
    399
    Downloads
    0
    Uploads
    0

    Default

    Well, a PID control tries to minimize the error. This is of course good, but it also means that for any change to happen, there HAS to be some error. And we don't want error.

    The feed-forward function looks a bit ahead and anticipates what movement will be needed to get zero error, and "injects" the movement after the PID control has done its work. If done completely right, in the next cycle the machine has moved exactly as much as it was supposed to, and the PID will still see zero error. This way, feed-forward is used to get the change, and the PID control is used only to correct the errors that will happen anyway.

    I'm not completely sure on how this is implemented (or even when it's really useful) - a google search should give plenty of info.


    Glad you liked the graphing idea!

    Arvid



  13. #13
    Registered
    Join Date
    Jul 2003
    Location
    north wales,u.k
    Posts
    45
    Downloads
    0
    Uploads
    0

    Default

    Arvid

    Different terminology, what you know as feed-forward I call look-ahead, it’s the same thing and I use it to induce an ERROR into the system. I agree we MUST have an error but this does not mean a loss of accuracy. In my implementation of the loop I have considered 2 types of error. The first is a POSITIONAL error. This can occur if we physically try to move the motor, the PID loop will respond automatically to pull the motor back to position. The second is the FOLLOWING error, this error is induced when the control requests a new position and again the PID loop responds by pulling the motor to that position. My system looks ahead along the move and is always 1 millisecond ahead of the motors, this produces a continual FOLLOWING error while the move is in progress. Any POSITIONAL errors during the move alter the error value to maintain accuracy.

    Am I making myself clear? I find it easier to do it, than to explain what I’m doing. I must stress that this is only my implementation of a PID loop and it may not conform to text book designs, but it does work and it does not overshoot.

    Regards
    Mike

    mike potter


  14. #14
    Registered
    Join Date
    Oct 2003
    Location
    Sweden
    Posts
    399
    Downloads
    0
    Uploads
    0

    Default

    Mike,

    I'm not sure this is the same thing (but it might work equally well ).

    Feed-forward by-passes the PID controller and introduces a move signal after the PID, while your look-ahead inserts an error signal before the PID, if I understood you correctly.

    What (kind of machine) are you running with your controller?

    Arvid



  15. #15
    Registered
    Join Date
    Jul 2003
    Location
    north wales,u.k
    Posts
    45
    Downloads
    0
    Uploads
    0

    Default

    Arvid

    I agree my look-ahead function is not the same as feed-forward. If I understand correctly this is a predictive function based on the historical performance of the system. I suspect the benefit of such a function depends on the type of application. My controller is dedicated to the positioning and coordination of 3 axis mechanical machines. At this time I can’t see what would be achieved by introducing such a function, probably because I don’t fully understand the concept. At the moment I am trying to simplify my control algorithms, this would introduce a complication I can well do without. Perhaps when I’ve plotted a few graphs I’ll be in a better position to predict what is going on!!


    Kind regards
    Mike

    mike potter


Tags for this Thread

Posting Permissions

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


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

steppers or servo drives

steppers or servo drives