Oscillating turntable

Hi Everyone,
I have searched everywhere and forgive me if this topic has been discussed before. I am looking to program a motor (either a servo or stepper) to rotate in an oscillating fashion similar to the video link I have pasted here: Emma Skye Jewelry 2Tone Flexible Omega Ring - YouTube.

I would typically like to control speed as well as the number of degrees that I can have the table "spin". Another important factor would be having the sweeping motion be as smooth as possible when transitioning back and forth.

I have tried to programs myself using the sweep sketch but the results have show to be off. Is there a repository that has preexisting sketches that I can download? Am I using the wrong motor?

Any information would be greatly appreciated.

the results have show to be off.

Post the code, using code tags, and explain what happens.

Am I using the wrong motor?

How could we possibly know?

Hi,
the link is to a jewellery ad, what is rotating apart, the ring on the screen?

More info please..

Tom...... :slight_smile:

The point is the kind of motion required.

Some idea of the mechanical arrangement of the turntable is useful - direct drive
to turntable from motor spindle, or belt drive or some sort?

HI Again,
Thanks for your replies.

MarkT:
The point is the kind of motion required.

Some idea of the mechanical arrangement of the turntable is useful - direct drive
to turntable from motor spindle, or belt drive or some sort?

As of right now I have a direct drive arrangement using a stepper motor.

TomGeorge:
Hi,
the link is to a jewellery ad, what is rotating apart, the ring on the screen?

More info please..

Tom...... :slight_smile:

The ring I believe is on some sort of turntable which is sweeping back and forth about 30 degrees in each direction.

What I am trying to do is create a automated turntable that has pre programmed settings that can reset to a set position, sweep back and forth with smooth transitions and a full 360 degree rotaion.

I have attached a link of my setup on youtube that can give more clarity on what I am trying to do.

It looks to me like that sort of motion would be most easily achieved with a low geared DC motor with a crank - working like a windscreen wiper drive. Absolutely no computer necessary.

...R

If all you are doing is rotating lightweight things (rings) then a good easy way to do it would be with a "sail winch servo" which can be rotated 360 deg. It also has position control whereas a stepper would need a home switch and a driver board and a power supply to drive it.

If there is no load on the servo then it could be powered possibly by the arduino (5v) with a nice cap.

Yeah I know about the no no's but if only one non load servo is used it should work just fine.

justone:
Yeah I know about the no no's but if only one non load servo is used it should work just fine.

Can we send the OP your address for claims if his Uno is destroyed?

...R

You need to define the equation defining the motion you want, convert the output to
a number of steps, and regularly check to see if this changes - if so you send
the right direction of step to the motor (and keep track of where it is now) - effectively
you are using the stepper as a servo.

Look up the EasyDriver stepper motor driver, it does micro-stepping which will make the motion smoother on a stepper motor, and is pretty easy to setup. The arduino part will be easier to program. It uses an A3967 chip.

justone:
If all you are doing is rotating lightweight things (rings) then a good easy way to do it would be with a "sail winch servo" which can be rotated 360 deg. It also has position control whereas a stepper would need a home switch and a driver board and a power supply to drive it.

If there is no load on the servo then it could be powered possibly by the arduino (5v) with a nice cap.

Yeah I know about the no no's but if only one non load servo is used it should work just fine.

Is a "sail winch servo" the same as a "continuous rotation servo"?

MarkT:
You need to define the equation defining the motion you want, convert the output to
a number of steps, and regularly check to see if this changes - if so you send
the right direction of step to the motor (and keep track of where it is now) - effectively
you are using the stepper as a servo.

Ideally, I would like to set things up to do a few routines, such as:

Center to a set location, rotate clockwise 30 degrees, rotate couter clockwise 30 degrees, rotate clockwise 360 degrees.
Loop rotate clockwise 30 degrees, rotete couter clockwise 30 degrees

All motions would transition smoothly and not in the typical abrupt manner that a usual stepper or servo act as they are performing their instructions. I am sure this can be done, I just need a nod in the right direction to complete. Thanks for your opinions and help.

Brian Schmaltz has written an excellent article on stepper motors

Good luck with your project.

Ken

shawntothebee:
All motions would transition smoothly and not in the typical abrupt manner that a usual stepper or servo act as they are performing their instructions. I am sure this can be done, I just need a nod in the right direction to complete. Thanks for your opinions and help.

Look at this simple stepper code and note how the speed of the motor is goverened by the "interval" between step pulses.

It is entirely within your control to vary that interval to achieve slow starts and accelerations and decelerations and slow stops. The AccelStepper library is intended to simplify this for you but I have little experience of it - especially at slow speeds.

The action of a stepper motor will be greatly smoothed by using microsteps - which most of the specialized stepper driver boards facilitate. You may also get some useful info in stepper motor basics.

Having said all that, the electrcial and mechanical connections for a stepper will be considerably more complex (and more expensive) than for a servo. If this was my project I would spend some effort trying to get the behaviour I want from a servo. You can easily write a program that makes a servo move in small increments - as the servo sweep example in the IDE shows. You can get very fine control with servo.writeMicroseconds()

...R

shawntothebee:
Is a "sail winch servo" the same as a "continuous rotation servo"?

No. Most regular servos have no more than 180 degrees of rotation. Sail winch servos have substantially more - two or three full rotations in some cases. Continuous rotation servos don't have positional control, just speed and can rotate forever - they're effectively variable speed motors that can turn both ways.