Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Q about "Determining the correct drive for your servo motor"

The "Determining the correct drive for your servo motor" document at http://zone.ni.com/devzone/conceptd.nsf/webmain/92B98933A2494624862567C30052D5A2?opendocument&node=DZ52473_US is clearly written, but I'm wondering if the information is correct.

It says "The servo nuDrive is a +/-48V pulse-width, modulated servo drive... The pulse-width modulation of the drive is 20KHz." I take this to mean that the output is always either + or -48V (never 0 or floating during normal operation), and that the frequency is fixed at 20KHz, with variable duty cycle.

It says "Therefore, dt = 1/20,000 (sec.) = 0.00005 (sec.)". That would be the maximum dt, when the duty cycle is 100%, right?

In example 1, it says "Nominal current (I_n) = 7 Amps max" and "Nominal voltage (V_n) = 14 Volts max". This is confusing because "nominal" and "max" generally mean different things. There is an "instantaneous maximum current" which, if exceeded, may demagnetize the magnets. There is a "steady-state maximum current" which, if exceeded, may cause overheating. There is also a "maximum voltage" which, if exceeded, may cause excessive wear on the brushes, insulation breakdown, or dangerously high motor RPMs.

Two lines later, it says "Motor winding resistance (R_w) = V_n / I_n = 2 ohms". The calculation V_n/I_n is wrong. A better formula would be (V_a - V_g) / I, where V_a is the voltage applied to the motor terminals, and V_g is the voltage generated by the motor (back EMF) at whatever speed the motor is running at. Motor resistance is the resistance of the coil plus the resistance of the brushes. You can get an approximate value by measuring with an ohmmeter (take several readings with the motor shaft at different positions, because the brushes may contact more or fewer windings at different positions). However the resistance may be a bit higher when the motor is running, due to bouncing brushes, and due to skin effect in the motor windings.

Later, in example 1, it says: "So, the change in current is: di = (48 / 0.003) * 0.00005 = 0.8 Amps"

The speed and torque aren't mentioned. I'll assume the author was thinking of 0 speed, 0 torque. But in this case, the duty cycle should be 50%, so dt = .000025, not .00005 sec, right? So di = 0.4 Amps.

By the way, I believe the motor should be modelled as an inductor (L) in series with a voltage source, where the voltage source represents the back EMF generated by the motor rotation. So the "V" in the inductance calculations should be the voltage from the driver _minus_ the back EMF. The "48V" figure is correct only when the motor is not turning.

Next, it says, "Now, the ripple current is dissipated as heat. So, power is: P = I^2 * R_w = (0.8)^2 * 2 = 1.28 Watts"

I think this statement is misleading and inaccurate. There are several ways that energy can get turned into heat: "copper loss", "core loss", and rotational losses (friction, windage, and rotation-induced eddy and hysteresis).

"Copper loss" is the power lost in the electrical resistance of the motor. The proper way to calculate the average power loss is to find the average of the instantaneous power loss over a full PWM cycle, i.e. integral P dt / T. P = I^2 R. I is the total instantaneous current, and will contain a DC component if the average torque is not 0.

If the torque is 0, the average current must be 0 also. The current waveform can be approximated by a triangle wave with a peak-to-peak value of "di". In example 1, the average copper loss power would be .08W.

Note again that the copper loss is based on total current, not ripple current. So copper losses due to ripple current are apt to be insignificant, unless the ripple current is a large fraction of the full-load current.

"Core loss" is energy loss due to hysteresis and eddy currents. I believe it could be modelled as a resistor in parallel with the motor inductance. Thus, this power loss would increase as the square of the ripple current. However, I don't know how significant this loss would be.

I think the torque applied to the rotor is proportional to the instantaneous current in the armature, which means that ripple current causes ripple in the torque. Is this correct? If so, that would be one reason to keep the ripple current low (to avoid vibrating the mechanical load). Other reasons to keep the ripple current low (maybe 10% of the drive current) are that ripple current can cause the maximum instantaneous current rating to be exceeded, and it causes magnetostriction (acoustic "whine").

I don't have much practical experience with motor controls, so I'm wondering if my speculations above are correct. Thanks for any comments.
0 Kudos
Message 1 of 2
(3,106 Views)
Okay...I agree with you. As long as you overlook a few of the calculations, this document at least gives the average engineer who knows nothing about electric motors a place to start. The engineer who wrote this originally probably did not have much knowledge of motor design.

Clearly there are dozens of factors that affect the actual heating, which is really a time averaged phenomenon, but issues like skin effect, iron losses, and I2R losses are themselves lost upon most users. I also take exception to the statement that 1.28W is okay, but 50W is too much. For some motors 50W would be acceptable, though maybe not desireable.

I have been debating for almost a year when/how/if I should rewrite this document and I'll probably do something about it one of t
hese days. A reasonably good treatment would take at least several thousand words to get to the level of detail you are talking about.

You obviously know more than enough to figure this out and could get the most accurate info from a good text. For calculation purposes, the nuDrive uses a 48V/20kHZ bipolar scheme (Elmo SSA 8/100) and the MID drives use a 48V/32kHz "advanced unipolar" scheme (Elmo VIO 10/100).

Hope this helps.

Regards,

Brent R.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 2
(3,106 Views)