closed loop stepper

so I am very new to Arduino, but I can program to a fair extent and have basic electronic knowledge.

what I want to achieve is a stepper motor moving in 60 or 30-degree steps. in only one revelation then returning 60 or 30 degrees at a time each movement controlled by a pulse on an input. it will need to be closed-loop and i need an accurate VR in the system for some other part of the system so I am thinking about using the VR for position feedback to the Arduino.

am I expecting too much? is this something the Arduino can achieve?

Thanks for your time.

What you describe can be easily done with an Arduino. I assume that VR is a variable resistor, is that right? How accurate do the angles have to be? A stepper does not, necessarily, need feedback to get precise positioning as each step is precise and counting steps will give position. Precision can be increased by using a stepper driver that allows microstepping.

pulse on an input

What is the amplitude and duration of the pulse?

Here is Robin2's basic stepper tutorial to get you started.

lumley32:
it will need to be closed-loop

Why?

Most 3D printers run faultlessly for hours without the need for a closed loop system. If the stepper motor is missing steps then it is inadequate for the job, is inadequately powered or inappropriately controlled.

I can't imagine any variable resistor being able to match the precision of a stepper motor.

Most stepper motors have 200 steps per revolution which means that they are incapable of moving exactly 30° or 60°. The nearest to 30° would be 17 steps or 30.6°. Maybe that small error does not matter.

...R

Continuing from Robin’s comment...
You could get very accurate positioning by using a ‘true’ servo, using a DC motor, shaft encoder and h-bridge.

This operates in the same way as an RC servo, but gives you absolute choice of control, power and positioning.

so, it does need to be a closed-loop, there is a chance that the mechanism its driving could stop the stepper (any drive system) and the control needs to know about it.

i am currently using the variable resistor to mesure the position that's manually operated at the moment and its more than accurate enough. think +-1degree (its more than better than that at the moment but it would be acceptable)

i hadn't thought about a DC motor with an encoder, my concern would be that i need a very fast movement. i would like the 60deg movement to be less than 40ms which equates to 200~RPM instantly. would a DC motor be able to do that?

the biggest reason for using a VR for feedback would be that no homing would be required, this is an absolute position and homing at startup will not be possible!

Then a stepper is off the table.
A high performance DC servo is exactly what you want.
Think of comparing an old floppy drive vs a fast HD head positioned.

lastchancename:
Then a stepper is off the table.
A high performance DC servo is exactly what you want.
Think of comparing an old floppy drive vs a fast HD head positioned.

thanks, this is why i wanted to ask the question! do you know if there is anything of the shelf that might be suitable?

I’m out at dinner!
Someone else may respond first- but I’ll look for some links.

How heavy is the mass you need to move?

the mass is somewhat complex, but not a lot. I have done a few tests with a torque wrench and max I sore was 0.8nm.

i had a little look and found this, what do you think?

dc motor with encoder and drive

That’s exactly the type of beast I was thinking of. Well done.
Do your research, and ensure the gearing and output speed are sufficient for your positioning /timing requirements.

Also ensure the operating duty cycle (heat) and and power requirement is right for your application... this type of motor-set goes from minuscule up to very large, with internal and external driver electronics.

(and, yes, it’s 2am now!)