I'm building an application that uses 20 servo motors, and i control then with an Arduino Mega. The servos are having some instability, to the point where they make small random swings. Im powering then from a 7.4V LiPo battery and I drop the voltage to around 6V with 2 series diodes. I've made some research and found 4 things that may help stabilize the servos.

  • Put a 1000uF eletrolitic capacitor between the battery VCC and GND pins.
  • Put a 470uF eletrolitic capacitor between each servo VCC and GND pins.
  • Put a 100nF ceramic capacitor between each servo SIGNAL and GND pins.
  • Put a 10k pull-up resistor on each servo SIGNAL pin.

My question is, how to make the right decision here. It is better for the project if I take all this designs into account, or I shouldn't be making some combination of this, or one in particular?

  • My first question is do you have enough power available? As the servos work they may be drawing enough current to pull down your power supply. The capacitors will help, but have you actually checked so see if they are sufficient? – dlu Nov 23 '15 at 17:56
  • The battery is strong enought to keep 7.4V out while the servos are on. – Pedro Nadolny Nov 23 '15 at 19:37
  • OK, so probably not that… – dlu Nov 23 '15 at 20:35
  • Do u use a software serial? That can make you're servos jitter because it uses the same interupts as the servo lib. – Erwin Nov 23 '15 at 21:27
  • I don't think that 7.4V are good for servos. And if very little current is drawn, the diodes have a much lower voltage drop. Measure the voltage after the diodes with an oscilloscope. And then I suggest you to fix your power supply part: use a LDO if the battery voltage is high enough even under stress or a buck-boost module to stabilize it even under heavy load. I prefer the second one, but it depends on you. Probably it can be better to split the 20 motors group in smaller groups to use less costly converters – frarugi87 Nov 24 '15 at 9:18

You can use the old software serial library from mikal heart. that one does not die interupts. You can do a google search on it.

here is a forum topic about it: http://forum.arduino.cc/index.php?topic=82596.0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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