The disc I'm turning has a 3,5 cm diameter - Ø109,9mm
Each degree = 0,289mm
Optimal tolerance is +/- 0,1mm hence +/- 0,346 degree
Max tolerance would be 0,15mm = 0,52
sp. "The disc I'm turning has a 3,5 cm diameter - Ø35mm
Methinks he meant the circumference is 109.93, which would round to 110 mm at the circumference.
You're only off a little more than a factor of two from your target, so a microstepping drive in the 1/4 or 1/8 step mode would suffice. You haven't told us how many Amps, so I'll point you in the general direction:
Optimal tolerance is +/- 0,1mm hence +/- 0,346 degree
So 1.8 / 0.346 = 5.2
Therefore gearing the motor at anything greater than 6:1 or micro stepping at say 16 micro steps / step would get you to where you need to go.
I think it would help if you explain what the project is supposed to do rather than how you think you should do it.
While microstepping breaks big steps into little steps the little steps are not as precise as the big steps would be.
Also, 120 deg is 1/3rd of a revolution. A 200 step motor can never move exactly 1/3rd of a revolution no matter how many microsteps you choose because microsteps are all powers of 2.
A toothed belt drive (to eliminate backlash) with gearing that adjusts the step rate so it can give an exact 1/3rd revolution would probably be necessary. For example 1:3 gearing means that a full revolution of the motor using all the precision of full steps would give 1/3rd revolution of the disc.
A toothed belt is the best way to go for precise control, but gears are fine if backlash is taken into account. You can buy geared steppers quite cheaply on the surplus market.
Alright, I'll take your word for it!
Have got a Adafruit Motor shield, wouldn't that be able to do the trick, or would it still be to difficult to get it within my tolerance?
taras:
Alright, I'll take your word for it!
Have got a Adafruit Motor shield, wouldn't that be able to do the trick, or would it still be to difficult to get it within my tolerance?
I'm confused again now.
An Adafruit Motor shield is not necessary to drive a servo - but you seem to have accepted that a servo is not suitable. Neither is the motor shield appropriate for a stepper motor.
You need a proper stepper motor driver board - the Pololu A4988 is a good example but may or not be suitable for your chosen motor. The stepper motor driver must be comfortably able to supply the current required by the stepper motor. The A4988 can work with motors up to about 1.5 or 1.7 amps.
You can stop where you want with microstepping if there's negligible friction
and keep powered up.
Microstepping doesn't give you the accuracy you think though, since the motor shaft
will not be precisely at the centre of the stator (in a cheap production stepper), this
slop is normally quoted in the specs.
Also the microstepping response of motors is not linear between full-steps, its a bit
wavy. Microstepping gives you some more resolution and a lot less vibration, which is
important for fast moving systems.
If you want really good accuracy you need an expensive optical shaft mounted encoder and
closed loop control.
You aren't looking for high accuracy at all, high accuracy means more like 2^16 steps
per revolution or better! check the motor specs - something like "+/-5% of step size" or
some such will be quoted if the motor has a good datasheet.
If you can find a nice 0.9 degree step motor you'll get to 0.45 degrees just with half-stepping
Thank you for explaining what I didn't have time to.
In addition, if you power down the stepper, or if your stepper driver has auto-power off, the stepper will fall back to a full step position. Since you may not know which way it fell, you'll have to program it so it finds the Home position again.
You might get a stepper motor/driver setup like below and experiment. The motor probably has four discrete positions per rotation, and it has 64-1 gear reduction, so that should resolve to 256 discrete positions in one rotation of the output shaft. That would give 1.4 deg position accuracy.
look into an encoder and a simple DC motor. the stepper is only accurate to 1.2 step, the reason for microstepping is to smooth out the movemet between steps and not for positional accuracy.
also, if you lose power, your motor will move to the nearest full step and you will need to re-zero. but zero will not be at a natural full step, so that too will be off.
with an encoder you have positional feedback.
with a simple window and opto-interupter, you can make your own target so all you need to do is move until it finds the new point.
another way is to put a mechanical stop, with adjustment and slam the part into the stop. you can use a cheap DC motor for that or a hobby-servo.
trying to hold in space with just the stepper seems like the hard way to go.