Announcement

Collapse
No announcement yet.

Buying and Using Servos

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Buying and Using Servos

    I have been asked recently and in the past about acquiring servos and how to use them.

    As many know I hate steppers. Noisy, slow, hot, and can loose position when you least expect it. There is a reason no commercial company uses them in anything other than desktop machine tools. Yes, servos are more complex and cost more, maybe around 50% if buying used servos vs new steppers. And there is a lot of used servo equipment out there. As the semiconductor industry evolves old equipment is decommissioned and taken apart. The brings a lot to ebay, especially out of Korea. There are several vendors on ebay that have sets from time to time.

    Steppers are different from servos where they are open loop, meaning the control that drives the stepper does not know where it is at any given moment. It just sends pulses to the motor and the motor moves. If something binds, motor goes too fast, accelerates to fast, or for some reason there is an unexpected load the motor will stall or loose position. Sometimes it will be a step or two other times is just stops moving. The problem is the control never knows if this happens. There are some projects out there that have tried to close the loop, it has been kind of the holy grail of the cheap CNC market. Mariss of Gecko has worked with it but nothing has been successful.

    Steppers also pull more current than servos regardless of load. This means more power dissipation which means more heat. Steppers have a high detent torque but they also loose torque the faster they run and if they do stall you must stop the signal before the motor catches again.

    Steppers do have advantages. In general, they are easier to wire. Most drives now are Bipolar and only have 4 wires to drive the motor. They are cheaper and the motors can be more rugged since there is no feedback transducer that tends to be much more fragile than the rest of the encoder. Servos, especially older ones, can have a significant amount of wires coming from the encoder, one I used in the past had about 15 wires from the encoder alone. Steppers also have a high detent torque, meaning they can have a lot of torque required to move the shaft at a standstill. Servos, on the other hand, tend to be a little "squishy". You can move the shaft a little bit before the motor tries to push back, how much depends on the tuning.

    But servos are not all fun and games. first you need to know how they work. Servo motors themselves are divided into primarily three basic categories, DC Permanent Magnet (DCPM), AC Brushless (BLAC) , and, linear. DCPM motors are pretty simple, they are very similar to generic brushed permanent magnet motors with a few design modifications for minimal cogging and lighter armatures. AC Brushless motors are similar to standard three phase motors except the laminated rotor has been replaced with a rotor with rare earth magnets. Linear motors are basically a AC Brushless that has been flattened out into a strip.

    But where the real difference is that a servo motor has feedback of some kind. There are three feedback options, resolver, tachometer and hall effect, and encoder.

    A resolver is a form of a rotary transformer. A signal is sent to it and the absolute position of the shaft is returned based on the relationship signals returned. Resolvers are very rugged, they are found a lot of older equipment and also motors that see rough service. They resolution is really only limited by the device that reads it, a R/D converter, a Resolver to Digital Converter - A fancy analog to digital converter. But they are very expensive, even small ones sell for $1500 new.

    Tachometers are small generators that give velocity feedback to the drives to close the loop. They can be as simple as a small PM motor attached to the shaft or they can be a more modern electronic tachometer. The tach returns a signal that's voltage and polarity is proportional to the velocity motor. You often see these on PMDC servos with external position feedback. Hall effect transducers are seen on BLAC motors. The drives that control the motors need to know the basic position of the rotor so it can commutate the motor correctly, that is have the phases in the right sequence for the motor at start up. Typically, there are three hall effect sensors, each in relation to one set of poles on the motor. Hall effect sensors can have limited position feedback capability, but when they are used alone without any other form of feedback they will usually be used for velocity feedback.

    Encoders are the most common feedback device you will see on modern servos. There are two basic types of encoder, absolute and incremental. Absolute encoder know the position of the encoder even if the power is turned off. Incremental encoders just measure the distance traveled arbitrarily. Think of a tape measure. An absolute encoder would be a tape measure with numbers you always know where you are from the end. An incremental encoder is like a tape measure with no number markings. You have to count from the beginning. If you loose count you have no idea where you are anymore.

    There are three forms of encoder communication, serial, parallel data, and quadrature. Absolute encoders have serial or parallel interfaces. The parallel interface is a form of Gray code. It is decoded by the processor for the motors location. The serial encoders output a serial data stream for the position of the encoder. Since the drive knows the exact location of the motor at start up is knows what it needs to commutate the motor.

    Incremental encoders have a quadrature output. Quadrature is two square waves 90 degrees out of phase of each other, phases A and B. Based on the leading of the phase you can determine the position with a counter. Some encoders also have an index track that sends out a pulse once per revolution usually labeled "Z". Incremental encoders on BLAC motors will also have commutation tracks, these will be three signals that simulate the hall encoders found on other motors. Quadrature encoders can have many forms out output. Differential, Single Ended, and open collector, to name a few. Usually you will see Differential and single ended. A single ended encoder will just send positive pulses to the controller, a differential encoder sends complementary signals for each channel. This makes the signal more immune to noise. It is usually possible to mix differential and single ended devices as long as the signal voltage is within the tolerated zone of the receiver. To connect a differential encoder to a single ended receiver you just ignore the inverted outputs from the encoder. To connect a single ended encoder to a differential receiver you can usually just connect the encoder signal wires to the non-inverted inputs and it will work. Some receivers will not work, in that case you need to use a line driver IC to convert the single ended signal to a differential signal. An IC such as the 26LS31 will do this. There is also quadrature sinusoidal output. These are found in higher end (read expensive) encoders. They output either a 1vp-p or 11uap-p signal. Interpolators can take this signal and interpolate the signal to give a TTL quadrature resolution anywhere from 1 to over 100 times the base period of the encoder.

    Serial encoders are found in the most recent (Past 10 years) brushless motors. Every company seems to have their own protocol. EnDat, Mitsubishi, Yaskawa, etc. None of them are compatible. I have seen a board that will read some of the different formats as the formats are often documented. Serial has an advantage that the encoder can carry motor parameters as well as position and commutation data making set up much simpler.

    Now we are down to the drives. Two basic kinds of drives are available. Analog amplifiers and digital drives. Analog amplifiers take a -10-0-10v analog voltage signal and drive the motor in one of two modes. Current and velocity. We really don't care about these, they require an external controller to handle the positioning and PID loop. There are a few controllers that will talk to these like Servo2Go on the EMC side and the DynoMotion on the Mach3 side. There are also a couple of people that make boards that will drive these drives from step and direction inputs like the Pixie and YAPSC:10V.

    Digital drives are the ones we are most interested in. They have an on board processor that handled the position information that is being returned from the motor or machine and closes the loop. They drives will have different interfaces. Some will have basic PLC functionality where they are programmed and operate standalone from external inputs. There are also drives that communicate over an industrial network of some sort. We really can use either of these things. What we want are called positioning drives. These drives will have digital inputs that will move the motor based on the input pulses. Most are configurable for quadrature, CW/CCW, and step/direction (pulse/sign) inputs. We want step/direction.

    There are several companies that make drives that will run a variety of different motors such as Allen Bradley/Reliance Electric (1398 and 2098 series), Elmo Motion, Pacific Scientific, and Aerotech. There are drives that will run both BLAC and DCPM with the same drive, ELMO drives do that.. If you have existing servos you way to drive you will need to find one that matches the feedback output of the motor and the electrical parameters of the motor itself. You can get them with different feedback options like Endat, Quadrature (sine or TTL), potentiometer, hall, resolver, etc. If possible you will need to know the basic electrical parameters of the motor. This can often be found in a data sheet. If not some drives can determine the data needed during the setup. Most of these modern drives connect to a PC via serial to handle the configuration via a GUI as well as handle tuning the drives.

  • #2
    If you are building a machine with no motors and have the option to start from scratch then it is best to get a matched set of motors and drives such as ones from Mitsubishi, Yaskawa/Omron, Panasonic, and others. You can buy drives and motors separately but I do not recommend it. A specific model of motor can be limited to once specific model of drives and they change over the generations. You can do it if you take time to study a specific brand and learn the difference. Probably the easiest to do this with is Mitsubishi. They have the simplest model number system and when it comes to the drives 400w and smaller all their motors will run on wither the 120v or 240v drives. Yaskawa has motors specific to 120v or 240v drives.

    As mentioned above you need positioning drives. You need to learn the model numbers of the drives to know what is what.

    With Mitsubishi you want to look for a letter "A" at the end of the model number. For example MR-H-500-AN or MR-J2S-350-A. Also small drives are available in 120v, they have an A1, ex. MR-J2-20A1.
    Mitsubishi has several series of drives available.
    MR-C - Cheapest drive, 400w max, the Economy Model
    MR-H - Industrial Drive, you must have a pendant or the MRConfigurator software to set up the drive. Full time auto tune. 131072 line encoder option.
    MR-J - First of the J line of drives. Has a hard to find interface connector, can be programmed on the front panel.
    MR-J2 - Second series of the J line, Lots more options, better tuning options 16384 pulse per rev serial encoders.
    MR-J2S - Better auto tune and 131072 line encoders
    MR-J3 - Current generation, 262144 line encoders, on the fly adaptive tuning.

    With Yaskawa you look for the last two letters in the model number. A or B is the voltage range. A is 240, B is 120. P or D means positioning drive. ex SGDA-02BP, 120V positioning drive. Yaskawa calls their drive series by the label "Sigma" Current generation is Sigma V, I believe. Omron relabels Yaskawa drives but changes the model number system. You have to look through the manuals to figure that out.

    I have not messed with any other drives.

    Comment


    • #3
      Macona -

      Thank you for posting this. It is a really useful summary, especially so since you have direct experience of re-using servos and drives. This makes it much more practical for people on a tighter budget (can't buy new!)to have a go at a servo based system.
      Bill

      Comment


      • #4
        [QUOTE=macona].

        . Steppers also have a high detent torque, meaning they can have a lot of torque required to move the shaft at a standstill. Servos, on the other hand, tend to be a little "squishy". You can move the shaft a little bit before the motor tries to push back, how much depends on the tuning.


        Excellent tutorial on the comparison,so much to learn.
        Now about the squishy part,how does this effect real world machining.Does it affect tolerance ?

        Comment


        • #5
          If I may make a couple of observations and additions.
          If you are mixing and matching motor and drives, I have found the easiest is the DC brushed, followed by BLDC, the AC sinusoidal being the hardest due to the methods of feedback and commutation.
          If using a closed loop controller such as the In-a-PC-Slot motion card or a USB control such as Dynomotion, the non-intelligent drive can be used in the simple torque mode Such as Aerotech and AMC, as the PID loop is closed back to the Controller, this makes such things as electronic gearing of one servo off another an easy task.
          Mitsubishi have two pricing standards, one is for IA, Industrial Automation the other CNC control, the price is vastly different, I just priced a MR-J2 drive and 1Kw motor, under IA it costs $5248.00 for the pair.
          A complete Mitsubishi system with spindle under the CNC label with 3 motors cost between $14,000 & $18,000.
          To add to the encoder info, it is common for controls to increase the resolution of the encoder by using all four edges of the two quadrature pulses, for example a 1000/p rev encoder will be increased to 4000p/rev resolution.
          Max.
          Last edited by MaxHeadRoom; 01-27-2012, 11:40 AM.

          Comment


          • #6
            Good Post, here's some more background on Allen-Bradley Servo Drives.

            AB servo drives are typically not a "open" platform. I think the offshore brands make it easier to mix and match motors and drives from different vendors. I'm not sure how some of the other manufacturers handle third party motors but in the case of AB drives, you typically will need to use AB motors and cable sets, so buy them together if you can. Each drive will work with several different permanent magnet motor models, but do your home work first. Third partly motor files are available, but expensive to generate. The 1398 Ultra 100/200 is programed with UltraMaster and the 2098 Ultra3000 uses UltraWare, both of which should be available free. Both of these can be run as stand alone drives and can use presets, analogue, or step-direction/PTO inputs for control outside of a ControlLogix PLC platform and both con use serial host commands (yuck). Other models out there for a while that might be put into use are the Ultra 1500, and Kinetix 3. There is also a new model out, the 2097 K300 that uses Ethernet for communications and setup but probably won't be seen on ebay anytime soon.

            Comment


            • #7
              With AB motors I have found the BLDC are relatively easy as they have standard encoders with comm tracks and can be used with Advanced Motion and others.
              It is the AC sinusoidal type with the resolver on that can get tricky.
              Max.

              Comment


              • #8
                Good post, very informative but a point on the side of the humble stepper motor.

                Many people have got started with steppers and gone onto better things but might not have made that leap IF they had to understand servos from day one.
                .

                Sir John , Earl of Bligeport & Sudspumpwater. MBE [ Motor Bike Engineer ] Nottingham England.



                Comment


                • #9
                  What about systems that might use simple DC motors and a control system that reads machine/tool/table position from existing machine DRO scales?

                  Comment


                  • #10
                    On using the DRO for the feedback

                    I think the control would not be as straightforward as for controlling a motor. There is a lot more flexible windup and backlash messing with the ideal linearity of the system.
                    It can be done of course, but will go beyond a simple PID control if you want any speed out of it.

                    Igor

                    Comment


                    • #11
                      Originally posted by ikdor
                      I think the control would not be as straightforward as for controlling a motor. There is a lot more flexible windup and backlash messing with the ideal linearity of the system.
                      It can be done of course, but will go beyond a simple PID control if you want any speed out of it.

                      Igor

                      I am not thinking of speed and I would have thought that reading the machine position would have immediately taken care of any flexibility or backlash issues.

                      Comment


                      • #12
                        [QUOTE=amateur]
                        Originally posted by macona
                        .

                        . Steppers also have a high detent torque, meaning they can have a lot of torque required to move the shaft at a standstill. Servos, on the other hand, tend to be a little "squishy". You can move the shaft a little bit before the motor tries to push back, how much depends on the tuning.


                        Excellent tutorial on the comparison,so much to learn.
                        Now about the squishy part,how does this effect real world machining.Does it affect tolerance ?
                        It can if your tuning is not right. The squishiness can be also seen in the following error. When a servo motor is in motion it lags behind the commanded position, this is called follow error. There are a lot of parameters that effect how much of an error you have, mainly the Proportional part of the PID loop. If the drive has feed forward gain this can be used to help but can cause overshoot.

                        Comment


                        • #13
                          Originally posted by John Stevenson
                          Good post, very informative but a point on the side of the humble stepper motor.

                          Many people have got started with steppers and gone onto better things but might not have made that leap IF they had to understand servos from day one.
                          Yes. I learned very quickly that if I didn't have to mess with steppers again I wouldn't.

                          What is nice by using the complete matched packages there is nothing more than plug in the motor, plug in the encoder, wire inputs and set a couple parameters, the auto tune on newer drives is really good.

                          It gets time consuming to tune manually.

                          Comment


                          • #14
                            Originally posted by The Artful Bodger
                            I am not thinking of speed and I would have thought that reading the machine position would have immediately taken care of any flexibility or backlash issues.
                            It can be done. I am using this method on the laser cutter I am building. Brushed servos on the X and Y axis and linear encoders for feedback. The problem is, like ikdor mentioned, is any, and I mean ANY, lost motion in the system will treaty effect the performance of the system.

                            When I got my cnc mill it was that way, DC servos with heidenhain linear encoder on the axis. There was about .001" lash on the axis and while at rest the motors would dither back and forth between the backlash extents. To minimize this you have to tune the loop down and this means the whole thing runs slow.

                            Even on the laser cutter I have been building, simple flex in the system had caused tuning issues. it is still something I have to deal with.

                            The best way to handle this is to use a dual loop where feedback from the motor is used for gross positioning and then the final destination position is gathered from the scale on the axis. There are a couple of controllers on the low end that do this, one is the Dynomotion and the other is the almost vaporware cncbrain.

                            Comment


                            • #15
                              Macona -

                              I have had a quick look at the Dynomotion documentation and it looks like a very interesting product. But I am not at all clear on HOW it handles dual loop control. I assume from what you say that it is capable of handling a glass scale encoder for fine (absolute) position and encoders or similar on a ball screw for coarse positioning, rather like the controllers used on (say) Deckel CNC mills.

                              Can you elaborate or point to where it is covered in the documentation?
                              Bill

                              Comment

                              Working...
                              X