Transport / Sprocket sensors - Optical Flow Sensor (AKA Mouse Sensors)

Buried into another discussion was the possibility of using optical flow sensors for sensing film transport, and alternatively also for detecting sprockets.

The initial response was the complication of Optical Flow Sensors (OFS) to contact the film, in the case of sprocket detection. But later I found other OFS that use optics to avoid surface contact.

The ADNS3080 specifications indicate is capable of 6400 frames per second (fps) and detecting surface changes of 40 inches per second.

Here is an interesting video combining the use of OFS and laser for robotics… I think these are promising ingredients for an alternative approach to sprocket sensing.

Short term I do not have the bandwidth to prototype one, so the purpose of this topic is to explore alternatives and feasibility of using these. Seeking feedback in case anyone have experimented with these.

2 Likes

Here’s a hack of the optical scanner in a mouse:
http://spritesmods.com/?art=mouseeye

And some early information from a decade ago:
https://web.archive.org/web/20090817163528/http://www.martijnthe.nl/2009/07/interfacing-an-optical-mouse-sensor-to-your-arduino/

Thanks for the info. I think this could be an interesting direction for Kinograph if we can get it to work. Would either you or @PM490 be interested in building a test? With a small loop of film and one motor you could find out if this is a viable solution, I’d guess.

1 Like

I think the problem with using an optical perf sensor is how you handle different gauges. if the scanner has to do 16 and 35, the perfs are in totally different positions. Our old Imagica 3000V had perf sensors and they worked great. They were Keyence red laser proximity sensors, but that scanner was only 35mm, so it was easy to set up in a fixed position and tune them to look for the perfs.

The other issue with using sensors is what happens when you hit a section of broken or missing perfs? A better method is an encoder wheel that measures how far the film has moved across a capstan or PTR roller. That gives you an approximate idea of where you are (not accounting for shrinkage). Then the image can be taken and aligned in software. Shrinkage can be calculated to adjust the distance the film moves between exposures based on what you learn from the registration algorithm with each frame. Since shrinkage can vary in a reel, this needs to be an ongoing process. But at least if you have broken perfs, you have a backup positioning system from the encoder.

As long as the gate is big enough to allow for some slop, this should work fine.

Totally agree @friolator. I think in this case the sensor would be placed before/after the gate and position just above the middle of the film so that it detects a constant surface, similar to how a mouse would.

We decided not to go this route for now since we didn’t have enough evidence that it would work at higher speeds and did not have time to test it.

I would love it if someone did a test with a small loop of film, though!

@matthewepler sorry for the long hiatus, vacation, flu, and work sometimes gets on the way.
I have limited time for the next few weeks, but when I get the time will try to work on a loop to test the optical flow sensor. I am not very mechanical (specially with 8mm film is a bit challenging), but will do my best to test the sensor.

1 Like

That would be awesome! Glad the flu is over. Sorry the vacation is too :slight_smile: Very much looking forward to what you find in the test.

Those mouse sensors look at a surface reflection. If they are in the middle of the film, presumably at the back, not emulsion side, I think you would only get detection of scratches at best. You would probably not see the frame lines. Detecting sprockets holes would generate a large signal, as there would be zero reflected light.

Actually there are two parts. The sensor and the emitter. In the mouse application, they are both on the same side (over the surface). But it is possible to have the sensor on one side of the film, and the led on the opposite side.

On the one I was looking at…

… it is possible to install a lens. Back then it was used on remote control drone/helicopter autopilots even (no emitter).

I did take a mouse apart, and did some rudimentary testing, and it worked, but never did test it for accuracy.

I also took a mouse apart, and positioned it over a portion of a roller, and it also worked.

Did not go this route on my present design, instead opting for moving it directly with the stepper.

EDIT: a more elegant solution is to make a DIY optical encoder. The accurate ones commercially available are not an economic option, I believe commercial scanners ( like Kinnetta) use these.

These are cute, but it looks like they are being phased out. Avago was bought up by Broadcom and it looks like some items are being discontinued. That said, adns-3080 yields a lot of breakout boards with mounts for S-mount lenses. And there are some Arduino libraries. It seems they are used for navigation. Looking at a fixed position to see where the sprocket opening is, would be less math intensive and actually detect side to side frame movement. Whether you can get the necessary resolution is a bit of a question. Looks like sampling rate is around 2,000-6,000 FPS, the question is can you determine when you are seeing a sprocket hole move by.

1 Like

The problem is if you have film shrinkage, and you would need a very precise wheel diameter otherwise you would very quickly get out of registration.

Same Sky nee AMS makes capacitive rotary shaft encoders for under $30 that have programmable resolution up to 12bit (4096 counts /rev).

Out of curiosity, why not choose a reflective laser?

Multiformat without adjustment would be an example…Kinnetta, for example -I believe- uses no laser detection

That’s what I’m currently using.

And it doesn’t work for you?
What fault can you find with this laser that prevents you from using it?

I understood absolutely nothing of your short and undocumented reply.
Clearly nobody is interested in what I have to say or in my experience.

Hi Roland… what response?

It is helpful if you @ the person or Quote… not sure if this is in regards to Matthews or mine.

Please note that this posting -which I started more than five years ago- is in the category of research, not part of the design of Kinograph.

I didn’t realize how old the original post was until I had responded.

1 Like