DC Servo motor control circuit-PC based system


Thread Starter


I'm working on a project which requires to control the 5 DC servo motors built in a ROBOT.
The control system is PC based.
I need help regarding the driver/amplifier circuit.
I dont have data on the motors(as the robot is obsolete) but the ratings that I could see printed on the motors are:

W:60 watt
V:36 v
I: 2.7 amp
rpm:3000 rpm

How do I go about designing the driver circuit(power amps)?
what are the options available?
is more info required about the motors?

please suggest some ideas.

Also...in case of above motor ratings
why W is NOT EQUAL to V*I??

hi ashish,
i am new to this group and i am also doing a project for my final year engineering its pick and place robot ,i am also in need of
servo motor controling software so i u got it plz let me know
i am nanthakumar,and plz let me know ant u and ur project mailing address of mine is [email protected]
A partial answer to half of your question ... the watt nameplate rating is almost certainly the power available at the motor shaft at full nameplate voltage and current. At the very least, motor inefficiencies (copper loss, windage, etc.) make up part of the difference. I say part of the difference, because with a VA calculating to 97, and a rated power of 60 watts this is an efficiency of about 62%. However, my experience is mostly with DC motors ranging from 3 to 600 HP, and efficiency generally gets better with larger motors.

For instance, a 250 HP (187 KW) motor may have an armature voltage of 500 VDC at 400 amps (200 KVA), and a shunt field rated 300 VDC at 4.84 amps
(1452 VA) - 187 KW/(200 KVA + 1.45 KVA) gives an efficiency of about 93%.

Similarly, a 3 HP, 180 VDC motor with a 14.5 amp armature rating, and a 200 VDC, 2 amp shunt field works out to an efficiency of about 75%.

Note: I'm picking these 'typical' nameplate values partially from memory, and partially from thin air - your mileage may vary ;).
The minimal application/design criteria information indicates you are better off finding a supplier of suitable servo drives. I'm assuming these are PMDC brush motors. You don't say what servo loops the drive needs to close i.e. is the command from PC motion controller a vel command (pos loop output) or current command (vel loop output)? What is the command format? For motion control, the drive will need to be 4Q type meaning pos and neg current control. There are PWM types with H-bridge power topology or linear mode amplifiers. There is at least a current loop, maybe vel loop and many other required circuit functions. Unless you find a suitable drive design in one of those engineering "cook" books, you are facing a significant task with no prior experience and no one with experience to support you. Designing (servo) drives requires a great deal of motor and motion control systems knowledge - not a weekend hobby project.

Regarding the nameplate, rated power is usually "output" mechanical power. V and I is the input electrical power. Assuming V and I are the continuous rms values, this calculated 97 watts is the required drive output power = motor input power. The difference is the motor losses due to efficiency factor.

Hope this helps,

Jacek Dobrowolski

Hi Ashish,

Power (P not W) is nominal mechanical power available on the motor shaft.
U*I (U not V) gives you nominal electrical power of the motor. They are different due to losses in the motor.


Jacek Dobrowolski, M. Sc. E. Eng.
Software Eng.

ITM Poland Ltd.
direct line: +4848 3686341
fax: +4848 3686101
mailto: [email protected] <mailto:[email protected]>

Johan Bengtsson

<P>Well, it does mostly depend on how advanced you want to do it...</P>

<P>First of all, you need a power amplifier able to:</P>

<P>Four quadrant control - that means any polarity of voltage combined with any polarity on current, ie the current don't necesary have to flow in the same direction as applied voltage (while stopping fast it goes in the other direction)</P>

<P>Measure current thru the motor since that normally is the innermost control loop you have, better yet might be if you actually make a power amplifier controlling the current since that means a significantly lower burden on the PC. (Not that it can't handle it by pure force but it would be a lot easier since you would not need microseconds resolution in the sheduler and I/O. (btw, what OS are you running?)</P>

<P>One thing you have to consider is if you would like a PWM based power amplifier or a linear one. A linear amplifier is perhaps easier to build but at the cost of high power losses. I would not reccomend it even if it is a possible path.</P>

<P>The simplest approach would be to have a power source giving you +/- 36V and two power transistors and two power diodes per motor.
Add a coil for reducing ripple and a relatively low ohm resistor for current measurement, an OP and a PWM device, or an IC doing both those functions in one.</P>

+36V -----------------------------------*--------*
| |
| / -----
|/ / \
|\ / \
| \ -----
----- | |
GND -----| |-*----(motor)-----(coil)--*--------*
----- | | |
| | / -----
measure current |/ / \
|\ / \
| \ -----
| |
-36V -----------------------------------*--------*

<P>The voltage drop over the resistor gives you the current. Only one transistor is on at any given time. When a transistor is turned off it gives you a current flow thru the diode next to the other transistor.</P>

<P>Of course there are alternatives using H bridges and so on but this above is the easiest.</P>

<P>The motor can handle 36V, when it is rotating with 3000rpm the voltage generated is probably quite close to those 36V The windings can handle 2.7A and you can expect it to handle 60W</P>

<P>When the axis is supposed to not be moving it is feed with the current needed to hold it in position, this should not exceed 2.7A for any long moments, but you need a very low voltage to hold it there.</P>

<P>At high speed you have a high voltage but it might not be wise to feed it with 2.7A (although I don't, for the moment, realize why) but to limit the power to 60W.</P>

<P>The numbers on the nameplate are maximum values, they don't all have to be the limiting factor at the same time. As long as you don't feed the motor with something exceeding any of them you will be safe.</P>

<P>60W can be done with 30V 2A, that's ok. It can also be done with 60V 1A and 20V 3A but that is not ok. 36V 2.7A is more than 60W - but obviously not ok either.</P>

<P>/Johan Bengtsson</P>

<P>Do you need education in the area of automation?<BR>
P&L, Innovation in training<BR>
Box 252, S-281 23 H{ssleholm SWEDEN<BR>
Tel: +46 451 49 460, Fax: +46 451 89 833<BR>
E-mail: [email protected]<BR>
Internet: http://www.pol.se/<BR>

Jorge Tirabasso


You have to take into account that usually you can not use the motor simultaneously at full voltage and current. Thermal (and in brush motors also conmutation) limitations allow just transient operation at full amps and volts. Rated power represents this power- limited operation condition.

Jorge M. Tirabasso
Sistemas DACS S.A.
J. A. Cabrera 4621
Buenos Aires C1414BGI
54 11 4833-0020
[email protected]
[email protected]
[email protected]
You are very close to the correct answer on the volts, amps, and watts issue.

Let me attempt to clarify this:

The motor rated amps relates to the torque capability of the motor, independent of speed. It may be rated as continuous torque or peak torque.

The motor rated volts is related to the motors RPM potential. Higher volts roughly equals higher RPM.

The wattage rating is related to how much heating the motor can tolerate. The wattage is actually the horsepower rating. 746 watts = 1 HP. If you try to load the motor fully (drawing 2.7 amps) at full speed (36 volts), the motor will get too hot. It is putting out too much power.

Most servo motors are rated with a speed/torque graph. Max speed (for a given bus voltage) is a cutoff line on the graph. The continuous power
level must be in the area of the graph which is less than the max speed and the max torque. Sometimes the intermittent power level is shown as a shaded area.

I hope this helps,

Bill Sturm
W is max, power dissipation motor continue,
for example:
5V*10A ==> 1sec ==> 50W
5V*10A ==> 0.5sec ==>25W
V is the nominal voltage you apply (force upon) on the motor.
I is the nominal current that THE MOTOR TAKES. This depends on how heavy the motor is loaded.
W is the nominal Power. This is also depending on the torque and rotation speed.

The easy but more expensive solution, take ready made servo amplifiers. ELMO (Petah-Tikva Israel)make some small ones. Plenty of US companies too.
The less easy way: build your own. Here again two solutions:
1. Analog continuous, with power op amps (e.g. APEX semiconductors). Lot of power lost as heat!
2. Chopping amplifiers: more complicated!
Hi Ashish,
U can use 82C54 timer IC to generate pulse width modulated (PWM) signal, of which the duty cycle will increase or decrease the speed of the motor. The PWM signal will be sent to a motor driver IC (Allegro's UDN2998, handling 50V,3A; or National Semiconductor's LMD18200, handling 55V,3A; or any other H-Bridge PWM Motor Driver IC from Allegro).

I'm sorry I can not say anything about the electrical characteristics of the motor written on your motor.

Good luck! Pray for me also, I'm also in the starting phase of a motor controller application like u!

fine u r working with servo motors,controlling them is easy, if it is a pc based system then its more easy. Pl. send me more details at [email protected],

1)what is your project?

2)what do u exactly mean by PC based control system ?( are the motors interfaced to a PC).

3)What is the control philosophy? (operating sequence)

I have been designing such systems for a long. Just send me more details & I can help you within next week.
bye aashish