old FUTABA S3010 motor

Hello to everyone
i am new to this.

i have an arduino UNO and today a friend gave me his old mechanical arm with 2 Futaba S3010 servo motors...
I am trying to make it work with standard Servo sintax but nothing happen... motors are frozen.
so i try tos end random raw data from a potentiometer... but the motors behave quite randomly...

do you think there would be some way to control these motors? they seem quite powerful and perfectly fit in this vintage metal arm.

thanks

so i try tos end random raw data from a potentiometer

Why on earth would you do that? Send them known data, until you understand how they respond to that data.

Post links to the servos and your code.

:slight_smile:
i wanna do that because i had them for free and they seem very strong. and also they fit perfectly in the mechanical arm my friend gave me. it's 15 years old things...

this is the code i m using

int motorPin = 9;
int motor2Pin = 10;
int potPin = 0;
int potVal;
int angolo;
int servoVal;

void setup() {

  Serial.begin(9600);
  // nothing happens in setup
  pinMode(motorPin, OUTPUT);
  pinMode(motor2Pin, OUTPUT);
  pinMode(potPin, INPUT);
}

void loop() {

  potVal = analogRead(potPin);
  angle = map(potVal, 0, 1023, 0, 180);
  analogWrite(motorPin, potVal);
  analogWrite(motor2Pin, potVal);
  Serial.println(potVal);
  delay(50);
}

ps
i tried to send them various signal with a potentiometer
but they seem to react random
same values, different reactions... sometimes they freeze, sometimes they go on one direction, sometimes just shaking...

any ideas?

cheers

interesting
i changed the code and i noticed that the movements of the motors have some meaning with low values : 1-30.

but unfortunately the arm is moving just a few degrees, not a complete movement

here s the code:

int motorPin = 9;
int motor2Pin = 10;
int potPin = 0;
int potVal;
int angle;
int servoVal;

void setup() {

  Serial.begin(9600);
  // nothing happens in setup
  pinMode(motorPin, OUTPUT);
  pinMode(motor2Pin, OUTPUT);
  pinMode(potPin, INPUT);
}

void loop() {

  potVal = analogRead(potPin);
  angle = map(potVal, 0, 1023, 0, 30);
  analogWrite(motorPin, angle);
  analogWrite(motor2Pin, angle);
  Serial.println(angle);
  delay(50);
}

pretty bizarre... looks like the analog values these motors are accepting are -5 and 3 :slight_smile:
both of the motors same values... they make a sweep of 30/40 degrees when i change from -5 to 3

You don't control servos with a normal analogWrite: they need a pulse of known length, not duty cycle %, to go to a certain angle.

So use the knob sketch in the IDE at File > Examples > Servo.

Make sure you supply enough current, that's a high torque servo so maybe something like 2A? Don't power it from the Arduino itself.

i have tried with the servo library commands
but the motors don't even move.
just a little noise as result

komarek:
but the motors don't even move.
just a little noise as result

How are they powered?

i ve powered it with arduino

but you think that is the problem?

when i send raw analog write to the motors they move even with the arduino power supply?

with the servo library commands they dont even move... you think must be a power issue anyway?
unfortunately these days i dont have such a battery with me

That servo's trying to draw something like 2A, certainly at least 1A, so I'd say you need to hook it up to external power.

well guy..
you are right...
they re moving now with a 6 volts external power supply

now i will try to map the movements

the best thing i ve found is a Nokia phone charger :slight_smile: 5.7 volts, 800 mAmpere

but the servos move just a little and quite random

the best thing i ve found is a Nokia phone charger :slight_smile: 5.7 volts, 800 mAmpere

Nowhere near enough current. You need a beefy 5A power supply.

but the servos move just a little and quite random

Get the power supply squared away, and then post a schematic and code what uses the Servo library. You have already been told that analogWrite() is NOT appropriate.

i see
well i understood that i have to use servo commands... :slight_smile:

thanks anyway.

well.. so i ve found a 2AMP variable power supplier... i can set 4.5v or 6v....
the motors work better but not very well

with 6v they work both but they shake a little bit and one of them moves sometimes random.
with 4.5v just 1 motor is working but with a good accuracy.

do you think 2amp is still not enough?

shall i try with 4 or 5amp?
thanks

with 6v they work both but they shake a little bit and one of them moves sometimes random.
with 4.5v just 1 motor is working but with a good accuracy.

Interesting, but incomplete information.

shall i try with 4 or 5amp?

My first thought was to suggest where you apply that 4 to 5A. But, I'm going to stifle that.

I think if you just keep fking around, that sooner or later you are going to fry something. If you are not just fking around, but systematically testing things, you are doing a good job of keeping all of your observations to yourself. It is pointless to keep asking us for suggestions.

PaulS:
Interesting, but incomplete information.
My first thought was to suggest where you apply that 4 to 5A. But, I'm going to stifle that.

I think if you just keep fking around, that sooner or later you are going to fry something. If you are not just fking around, but systematically testing things, you are doing a good job of keeping all of your observations to yourself. It is pointless to keep asking us for suggestions.

well you know what dude

i didnt mean to bother anyone
and you don't have to waste your time with me if you're not up to

everybody has been a beginner...

i am making my tryings
trying to get better...

that's all

It's not impossible that motor draws up to 2A, so yep I'd say if you're running two together, you'll need 4A.

(Might be easist to get a second supply similar to the one you have, and power each motor from its own.)

But wait... I don't think we checked earlier- is the power supply ground / servo ground also hooked up to the Arduino ground?

manor_royal:
It's not impossible that motor draws up to 2A, so yep I'd say if you're running two together, you'll need 4A.

(Might be easist to get a second supply similar to the one you have, and power each motor from its own.)

But wait... I don't think we checked earlier- is the power supply ground / servo ground also hooked up to the Arduino ground?

nope
the motors are connected to the 2 pins of the power supply... and, believe me it's not that easy to find a 4A power supply here, unless you spend a lot of money... but this is what i m gonna do if i need it

Ok you need to join the grounds together, else the servo signal from the Arduino has no zero to be measured against.