I am working on a school project: a robotic arm controlled by an Arduino Mega board,

Ever since the beginning I had problems with my robotic arm, it keeps twitching (every servo goes to different random angles ) when I start it up and sometimes when its doing something.

I tried modifying the code, changing the wires, and after a few weeks I just got frustrated.

But today I tried something new, I disconnected the Arduino, disconnected every signal cable from every servo and left only + / - from the PC power supply, I started the power supply , for a few seconds nothing happened and then ... again the servos started twiching, every servo just goes to random angles, end moves in every direction.

I`m studding IT so engineering is only a hobby, can you please explain this behavior?

Can the servo motors run without signal cables connected to something?

When I am testing with the Arduino board, the robotic arm works but at random moments it does the things i described before.

Another strange thing is that I replace the power source with a new one,

I changed every servo, before this I had another type of servos , they were behaving in the same way.

I also changed all the wiring.

  • \$\begingroup\$ When you give the servos no valid signal command signal, but rather leave their control terminal open, their behavior is unpredictable. What is wrong when you do attempt to provide signals is of course unanswerable without full details of your setup and code. \$\endgroup\$ – Chris Stratton Dec 16 '18 at 3:06

I suppose that the twitching is caused because each servo draws high current from your battery/power supply for a short period of time (average current is low, but peak current is high). Those high current spikes upset the smooth supply voltage. Try to add a decoupling capacitor in your circuit. (2200 uF let's say). I saw some solutions with a metal core wrapped around the wires of the servo for filtering. Also you should try to put some capacitors across the motor terminals ( .01 uF) and a high value resistor between signal wire and ground. That should eliminate the random movement. At initial power-up the twitching is not totally eliminated, I think that depends on your code.


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