It can be a challenging task to power servo motors in large numbers. If you had to power 12 or 16 MG995 servo motors for a robotics application, how would you do it? Powering several servo motors is difficult because of their high stall current.
Power Needed by Common Servo Motors
The classic TowerPro MG995 or MG996R (the new/improved variant) is extremely popular with hobbyists and makers because of its high torque, metal gear set and relatively low cost for the performance. We will consider this servo for the rest of the article.
First, lets look at the MG996 servo datasheet for its electrical specifications.
- The operational speed varies based on supply voltage
- Current consumption can vary based on supply voltage
- Stall current is very high
Given this information, we know that it is important to regulate the servo supply voltage to have a “predictable” and uniform performance throughout operation, especially when running from a battery pack.
Choosing a LiPo Battery Pack for Servo Motors
Picking the right LiPo battery pack is important. LiPo packs are commonly found in “series” configuration for higher pack voltages.
For example, a 2S or “2 in series” pack will contain 2 LiPo cells in series – resulting in a nominal pack voltage of 3.7V x 2 = 7.2V.
However, the problem with LiPo pack voltage is that a typical 7.2V pack will have a “fully charged” voltage of up to 8.4V. This voltage clearly exceeds MG996R maximum supply voltage!
Sure, you could still run the motor off of this voltage and get lucky – but it will probably cause heating and ruin your motor if you use it a lot. Even worse, it can draw a large stall current and trip the motor over-current protection if it contains one inside – causing it to stop working.
So the best option that you have here is to pick a LiPo pack with a low-battery cut off voltage of at least 1V HIGHER than the nominal servo supply voltage.
Here are the reasons for doing this:
- You can now use a high efficiency DC-DC converter to generate a constant, regulated servo supply
- The LiPo and DC-DC converter cuts off before reaching a point where the servo motors get affected
- The DC-DC converter output can handle stall current and still maintain a steady servo supply voltage
Designing a DC-DC Converter for Servo Motors
With digital servo controllers inside most new servo motors like the MG996R respond to load changes immediately and with greater accuracy. This also means that the power supply spikes can be much shaper than slow-response type servo motors. The DC-DC converter must be equipped and designed to handle large transients.
When using servo motors in a hexapod or humanoid robot with several servos (14, 16 or 18 servo motors are common), there is a good rule of thumb to follow:
- Make the DC-DC converter with a switching frequency of at least 500 kHz
- Ensure that the converter can handle at least 2x the total servo stall current easily
The reason for this is that the transient response of a DC-DC converter depends on its switching frequency and how fast it can step load. Of course, this is very rough, but it is important that the converter supports this switching frequency as a basic requirement to power multiple servos from a LiPo cell.
Also, when in doubt, use DC-DC converters meant for CPUs!
Modern CPUs like the Intel Core i-series are very low voltage and draw tens of amperes. They are extremely demanding in terms of transient response and also quite common (being used in PCs and laptops). This makes them perfect for use with multiple servos – they can easily handle the current transients and sudden stall conditions.
Looking at the above oscilloscope screenshot of servo motor current consumption, it is easy to see what response characteristics you might need if you have, say, 8 motors drawing a stall current all at once (typical in humanoid servo motor applications).
In case of MG996R running at around 5.5V, this would mean a spike of almost 15A. Sure, LiPo cells can handle this spike if chosen appropriately. Let’s look at the DC-DC converter to see if one can handle a spike like that.
The DC-DC controller referred to here is the MAX15046 from Maxim.
A DC-DC controller like this, when designed properly to meet datasheet specifications can easily handle very high stall current situations relatively easily with low supply voltage drops (less than 0.5V, for less than 0.2ms!).
LiPo Servo Motor Power Supply Schematic (rough)
Here is a rough schematic for the servo motor power supply based on the MAX15046 DC-DC buck controller. The most important design components would be:
- Input and output capacitors
- the switching power MOSFETs
- Additional filtering components (not shown)
- Transient suppression on servo power rail (not shown)
And most importantly, you must have a rather huge freewheeling diode (fast rsponse, with snubbers) to absorb all stored power within the servo motor coils in case the LiPo suddenly cuts off or gets disconnected for some reason.