Greetings all,
I am trying to build a 6 DOF ABB Robot arm,using arduino uno.As a first step,I want to make the robot get to a certain position just to be sure everything is alright,then I will deal with the gripper part.Hence,I am using 4 servo motors(4 dimensions) which are plugged to the arduino shield that has 11 ports(GVS).So I have chosen 4 different ports for each servo.
The only code that I needed was "Servo.write(desired angle);"I am also using the usb port of the arduino(5v,500mA) for power supplying.However,only one of the servo is working that is in port D5.I checked every single servo using different or the same port,and the arduino itself by plugging the servos one by one with cables.So the ports,shield and the arduino is working.Moreover,I used another power supply(5v,400mA-2A),plugged it to the shield;nothing changed...I also found out that sometimes motors make noises,makes me feel like they cannot get the enough amount of current.I am using MG 996 servos.In the code,I used delays to make sure that servos work individually but nothing changed.
So the problem is servos are not working when they are all plugged in.What makes them work in that way?In the code I decleared an array of servos "Servo servo[3];" I found someone in the forum saying that I should declare each servos with different names but I have already tried it out,did not work.
Is it related to the torques of the servos?Maybe they are not powerful enough to move the parts of the robot but I do not think so..Should I adjust the rotation speed which may allow the motor work much more properly?