Closed(ish) loop stepper control

I am working on a project to digitise cine film using a Pi 4b to take and process the images and an Arduino Uno to control the film gate motion, transport, take up spool and tension etc. .

The stepper for the gate motion ( NEMA 23 200 steps/rev) needs to move 20 steps per frame, and is fitted with a 200 slot optical disk. 15fps cine is 27,000 frames per 1/2 hour or ~ 1/2 million steps.

stepper-5

So:

1 Is there any value in trying to implement closed loop control using the optical disk?

2 If so, any suggestions on how to go about it -

               optical sensor

               error detection
               
               error correction

3 is this unnecessary/over complicated?

I have done lots of coding in varied environments and plenty of engineering but this is a first into real time control (and 3D printing). So any reflections will be much valued.

Error detection:
You should get one pulse from the enocoder for each step.
If you don't , then you missed a step, so add another step.

1 Like

Only if the frames are not integral numbers of steps.

The optical sensor has to be insensitive to ambient light. A narrow light barrier should work. In the best case the sensor switches exactly at the right film/frame position. If not you have to spend some more steps until the begin of the frame.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.