Go Down

Topic: Servo acts erratic (Read 86 times) previous topic - next topic

ramsh

Aug 07, 2016, 12:58 pm Last Edit: Aug 07, 2016, 02:34 pm by ramsh
my new Savox 2290SG Monster Torque Brushless Servo needs 7.4v input for its max torque, I'm using DC to DC convertor to feed the servo with 7.4v:



the wiring to the servo (brown is the data)



I've tried a 3 different ways in this simple sketch to check it, using loop, using write final position and using writeMicroseconds:

Code: [Select]
#include <Servo.h>

Servo myservo;  
int pos = 0;  

void setup() {
  myservo.attach(9);  
  Serial.begin(115200);
}

void loop() {
 // for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    Serial.println("turn");
    //myservo.write(179);              // tell servo to go to position in variable 'pos'
    int usec = 1000 + 1 * ( 2000 - 1000 ) / 100.0 ;
    myservo.writeMicroseconds( usec );
    delay(1500);                       // waits 15ms for the servo to reach the position
  //}
 // for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
 Serial.println("turn around");
    //myservo.write(1);              // tell servo to go to position in variable 'pos'
    usec = 1000 + 99 * ( 2000 - 1000 ) / 100.0 ;
        myservo.writeMicroseconds( usec );
    delay(1500);                       // waits 15ms for the servo to reach the position
//  }
}


here's a short video when running the above sketch:
 https://www.dropbox.com/s/7o5i9rf1umrhxau/20160807_121716.mp4?dl=0

as you can see the servo doesn't act as it supposed to.. what is it I'm missing here?

many thanks in advance!!!
best,
Ram

Southpark

#1
Aug 07, 2016, 01:02 pm Last Edit: Aug 07, 2016, 01:07 pm by Southpark
Did you connect the ground (0V) side of the servo to the GND pin of the arduino?

Also ..... the line that says ... delay(1500); // waits 15ms

That is 1500 milliseconds, right? aka 1.5 seconds. Not 15 milliseconds.

Robin2

What is the DC-to-DC converter drawing its power FROM?

How much current can the DC-to-DC converter provide - that servo will probably require several amps.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

ramsh

Thank you very much for your quick reply!

@Robin2: the DC2DC gets his power from a 12v power supply, I don't how much current it can provide...

@Southpark: when connecting the GND from the servo to the Arduino board the servo doesn't get enough power, meaning, the servo doesn't move at all, when connecting the GND from the DC2DC to the servo the servo acts erratic; the 15ms remarks are based on the original sketch, I did changed the value to 1500ms and didn't bother to change the remark :)

ramsh

@Southpark - you were on the money! I've connected the GND from the arduino board to the DC2DC and to the servo and it works perfectly!!!

many many thanks!!!

MarkT

The figures for that servo say its about 5Nm and 8rad/s, ie peak power is 40W or so, so something like 10A
supply is needed to keep it properly happy.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy