I have 2 NiMh batteries 3500mAh 7.2V. However, first one have 7.58V(it increases each time Im measuring it) and second one have 8.37V.

Can this be the reason why 5x servos are doing unexpected movements and squeaky noises without even sending pulses to them(Im using arduino)? Arduino Uno is powered by 9V battery and servos with that 7.2V battery. Servos are HK15298 with volatge range 4.8~7.4V.

Are these 2 batteries already damaged and I should stop using them? Or how could I discharge them without damageing servos? To charge them I use charger with Delta Peak, but I dont think its working.

  • \$\begingroup\$ If it increases each time you measure it I would be suspicious of the measurement device or prepare for the end of the world or maybe you still have them on the charger? \$\endgroup\$
    – Andy aka
    Commented Mar 25, 2016 at 14:13
  • \$\begingroup\$ No, i dont have them on charger. Probably its bad of multimeter \$\endgroup\$ Commented Mar 25, 2016 at 14:22
  • \$\begingroup\$ A 7.4v rating implies that these servos do not appear to be rated for 6 cell usage. Rather they are probably 5 cells maximum, with some allowance. \$\endgroup\$ Commented Mar 26, 2016 at 3:54

2 Answers 2


NimH cell voltage is not the best way to determine state of charge - but it can be used if other means are not available.
The normal means is to charge at about C/1 rate (eg 2500 mA for a 2500 mAh battery etc) and monitor the battery voltage for a DIP in voltage at full charge.

Another OK method is to charge at about C/1 and monitor the RATE of heating (not te temperature). When the heating rate suddenly increases the cel is ~= charged.

A 3rd method is absolute temperature - not recommended unless essential. If the battery gets too hot to hold it's charged :-).

Finally, cell voltage while charging can be used. This varies with charge rate and somewhat with battery model and manufacturer so you need to take due care.

NimH cells have a fully charged voltage ON the charger of about 1.45V per cell at lowish charge rates - say C/5 and below.

The "nominal" OPERATING voltage is 1.2V/cell so 7.2V battery contains 7.2V/1.2V = 6 cells.
6 cells fully charged on charger should be ABOUT
6 x 1.45V = 8.7V, so your measured voltage is about right at 8.35V.

8.35/6 = 1.4V / cell which is OK at very low charge rates.

7.58V/6 = 1.26V/cell so too low if on the charger.

Once charged and disconnected from the charger a fully carged NimH will read about 1.3V/cell.
1.3 x 6 - 7.8V
so IF the reported voltage if 7.58V is OFF the charger it is close to OK.
If it is while charging it is too low (probably).

  • \$\begingroup\$ So batteries are OK. But arent theirs volatges too high to power those servos? Or is there some tolerance? \$\endgroup\$ Commented Mar 25, 2016 at 14:27
  • \$\begingroup\$ @Matej-Martin-Matus, ideally you should be doing voltage regulation anyways to make full use of the battery as it's voltage declines, as well as prevent overvoltage. So a buck-boost convertor is probably in order. \$\endgroup\$ Commented Mar 25, 2016 at 14:31

7.2V is the nominal voltage of a 6 cell NiMH battery. When fully charged it may be as high as 8.4V (1.4V per cell). At 7.58V your first battery is about half charged. Note that voltage will drop when current is drawn from the battery, and will slowly rise again when the load is removed - thus the open-circuit voltage is only a rough guide to state of charge.

7.4V is the nominal voltage of a 2 cell Lithium Polymer battery. A servo which is rated at 7.4V should be able to handle a fully charged 2S Lipo which is 8.4V - the same as a fully charged 6 cell NiMH battery.

Most digital servos use high frequency PWM to control their motors. The frequency is usually in the mid to upper audio range, and is heard as a high pitched squealing noise. It is normal to hear this when the servo is making fine corrections, even when holding a fixed position.

Unexpected movements suggest noise in the circuit, perhaps due to bad wiring, weak power, or glitches coming from the Arduino. Try disconnecting the servo signal leads (orange wire) from the Arduino - do the servos still move around? If not then the Arduino may be sending spurious pulses.

The HK15298 is very powerful servo that draws a lot of current (>2A). If your battery and/or wiring are not able to handle high current draw with low voltage drop then the servos may glitch due to voltage spikes. If a servo has jerky movement when operated and/or jumps around randomly then a bad power supply is the most likely culprit.

  • \$\begingroup\$ At first I was using 5x MG995 servos, however they were modified from 180° range to 360° range(removed potentiometer). They were moving good without any problem. So I took wiring from them and used it for HK15298 but they are still doing those problems. Also, could the fact, that Im using EasyVr module change anything? I will try to recharge the batteries to full - I was discharging the first one so I can full charge it. \$\endgroup\$ Commented Mar 25, 2016 at 21:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.