I am working on a hexapod robot that has 18 servo motors(HS-475HB).

My problem is that when I use one servo, the current is about 0.7A at 6V (when moving the servo from its position), when I add more servos the current drops and by the end I get 6 motors running on 0.5A.

The torque that these motors provide is not enough to lift the robot and I could not figure out a way to fix it.

I tried with different power sources for every 3 motors, and the final result was the same, low torque and the robot cannot stand. I also tried with lithium batteries, tested them on 1 ohm resistor and the current was at 2.7A, but for the robot it couldn't go above 0.5A. Another thing was to check the duty cycle, since I was using software PWM from Arduino Mega I thought maybe something was wrong with that and I checked that it was fixed, then I used ESP32 which has hardware PWM on all the pins.

I tried everything I know already but it doesn't solve the problem, can anyone suggest any other ways to fix this issue.

  • \$\begingroup\$ HOw long is the wiring? What guage wires... \$\endgroup\$ – Trevor_G Jan 31 '18 at 19:10
  • \$\begingroup\$ "I tried with different power sources"- exactly what power sources did you use, and what voltages did they put out under load? "I also tried with lithium batteries" - the HS-475HB is rated for 6V max. What type of 'lithium' battery did you use? \$\endgroup\$ – Bruce Abbott Jan 31 '18 at 19:12
  • \$\begingroup\$ What sources are you using? What power regulator do you have? Are you using a separate power supply for the microcontroller? I have a hexapod with 18 servos running off of 2 LiPos and I have no issues with it standing up and moving. This is the power circuit I use for 9 servos: reuk.co.uk/wordpress/electric-circuit/… \$\endgroup\$ – Catsunami Jan 31 '18 at 19:24
  • \$\begingroup\$ I am using a Lab power DC supply with high current output. I also tried 5v from ATX power supply on PC. When testing with batteries I could not get enough current, although I used the batteries even alone with no extra circuitry. \$\endgroup\$ – Mohamed Bekoucha Feb 1 '18 at 8:17
  • \$\begingroup\$ You should tag my name when you respond or I don't see your comments :) What batteries are you using? Reasonable LiPos can easily supply the current needed. You should try connecting a scope to the Vcc line and monitoring it for any dips when the servos start moving. Honestly though a DC power supply should be able to handle it as long as the max current is set high and the PS is not completely crappy. Can you post how you have the servos connected to the power supply and the PWM lines of the microcontroller? \$\endgroup\$ – Catsunami Feb 2 '18 at 15:57

Try creating a delay between each change in servo control (if you're running them sequentially and not all at the same time) and gradually decrease the delay time. Determine how long it takes for a servo to actually stop drawing current once it's in position. Perhaps there is a back EMF if there isn't any internal circuity to protect against that. Multiplexing the control by only allowing a few degrees at a time for each servo could fix it.


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.