Go Down

Topic: rotate my servo motor continues (Read 267 times) previous topic - next topic

Nakofum

Hello, currently in project, I try to rotate my servo motor continues, I need it to go at a speed of:
9.6 ° / s for 5seconds
then 10.5 ° / s for 5seconds
then 12 ° / s for 5seconds
then 13.2 ° / s for 5seconds
finally 15.8 ° / s for 5seconds

I know we can not do it directly, there is nevertheless, can be the way to trick, I do not know much about Arduino that's why I seek your help.

thank you...

vinceherman

I assume that you have a continuous rotation servo.
Different servos have different behavior in terms of speed control.
The electronics in a servo are optimized for position control, not speed control.
I think you will not get very accurate speed using the servo electronics.

What are you actually doing?  Those are some very specific speeds.

MarkT

#2
Feb 10, 2018, 06:42 pm Last Edit: Feb 10, 2018, 06:43 pm by MarkT
Sounds like a job for a real servomotor or a stepper, not a hobby servo in continuous rotation mode (which
is not actually a servo of any kind, just a DC motor + driver).

What are you trying to do?

[ BTW this might be the sort of thing you need: https://www.parallax.com/product/900-00360 ]
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

MorganS

Which servo do you have?

What have you got it to do so far?

Show us the code which does that. Tell us what you want the code to do differently.
"The problem is in the code you didn't post."

Nakofum

Here, is my servomoteur : https://www.gotronic.fr/art-servomoteur-fs90r-25838.htm

Our servo must train a pulley which itself drives a cable.

We have 4 servo, so we need that servo run with precise speed, to be coordinate.

Is it possible to run our servo at a certain speed for 5seconds and then change .... etc ?

9.6 ° / s for 5seconds
then 10.5 ° / s for 5seconds
then 12 ° / s for 5seconds
then 13.2 ° / s for 5seconds
finally 15.8 ° / s for 5seconds

Here, you can see our speed values.

thank

groundFungus

If you need precise (slow) speed and positioning a continuous servo is not the right actuator.  A stepper motor may serve better.

Nakofum

Our engine must also be able to turn in both directions, so we need to find a solution with our servo,
it's the only one who can do what we want, unfortunately we lack skills.

thank

vinceherman

#7
Feb 12, 2018, 04:11 pm Last Edit: Feb 12, 2018, 04:16 pm by vinceherman
Your link to the servo does indicate that this is a continuous rotation servo.
The electronics in your servo were designed for position control, not speed control.
You are likely not going to get accurate speed control with those servos.

Do you have a method to measure the speed?
Go find the knob tutorial that uses a potentiometer to control the signal sent to a servo.  Try different values and see what speed the servo turns at the different values.

Try this with all 4 servos you have.

Do you get decent speed control based on the signal you send to the servo?

Edit:  You have been asked multiple times for more information about what you are actually doing.  You gave cryptic information in replies #4 and #6. 
4 servos with pulleys with cables.
You want them coordinated.
Please tell us more about what you are trying to do.  It will help us help you.
What does the cable do?  Pull something?  Lift something?

Nakofum

Thank you for your answer, We have a cubic structure where the 4servos assembled to pulleys lift with a cable each a weight of 500G.

The servos on the left side will have the same assigned speeds and those on the right side as well.

The objective is to raise, move horizontally, lower our weight.

Where is the tutorial to measure speed with a potentiometer?

MorganS

Unless you can attach some kind of encoder to each servo you cannot obtain a useful amount of precision.

Look at "sail winch servos". That might do what you want.

Otherwise you must use stepper motors or any other kind of motor which has feedback.
"The problem is in the code you didn't post."

vinceherman

Where is the tutorial to measure speed with a potentiometer?
https://www.arduino.cc/en/Tutorial/Knob
This is a tutorial that lets you use a potentiomenter to change the signal sent to a servo.
Note that this shows the servo powered from the arduino.  Do not do that.  Power the servos separately.  Connect the grounds.

To be clear, I think that you should do this to investigate whether you can use servos to get accurate speeds.
I believe you will find that you cannot.  But you should check.


Quote
The objective is to raise, move horizontally, lower our weight.
Do all 4 servos lift the weight?
What moves the weight hoirzontally?

Go Up