Go Down

Topic: Making a 90degree Servo turn only 90 deg? Stop servos from spinning on reset? (Read 595 times) previous topic - next topic

lolsniper

Hello,
I am having problems with making a servo (a Turnigy TGY one, it's not with me and I forgot the model number. It's meant to turn max 90deg) turn 90 degrees only, on a Romeo V2.
What happens:
Upon execution of the code, the servos spin a couple of rounds (presumably to get to pos 0?),suddenly stop, then proceed to go to 90 degrees.
What I wish to achieve:
Go to 90 degrees only, without the spinning around
I am using the following:  
Code: [Select]

for(pos = 0; pos < 90; pos += 1)  
 {                                
   servo90_1.write(pos);    
servo90_2.write(90-pos);
   delay(20);                      
 }  

I have also tried the following. But similar to the above, the servos start spinning from reset.
Code: [Select]

servo90_1.attach(servo90_1Pin);
servo90_2.attach(servo90_2Pin);

  servo90_1.write(90);              
  delay(100);  
 servo90_2.write(0);
      delay(100);                      
 
   servo90_1.detach();
  servo90_2.detach();


This is my first time programming so please bear with the clunky code. It's modified from a tutorial code with new additions.
The purpose is to build a robot which can achieve a series of tasks, one of which is collecting balls, and I'm lifting a ramp in order to do so.

I've provided the full code used, and it includes automated actions of the robot with the option to override with RC.

Please advise.

Msquare

If the servo spins round, then it is not a servo in the normal sense of the word. They are physically incapable of turning round, they are typically limited to a half a circle.

If you have a continuos rotation servo, then you must do something to get the position feedback. Of course, this may be a fancy new servo I haven't heard of, so give us a link / datasheet.

Go Up