Go Down

Topic: camera shutter tester (Read 8330 times) previous topic - next topic

jerrya.net

I make pictures with this 1951 press camera (a 4x5 Graflex Speed Graphic) and I wanted a way to check the accuracy of the leaf shutter in the lens as well as the rear curtain shutter.



The only ways I had found to do this are to buy an expensive testing machine, or to pay someone to use that machine they've bought, or the "sound card shutter tester" along with Audacity, which seems pretty kludgy and takes too much human effort.

But with Arduino, I knew I could make something on my own.

So I got an infrared emitter and sensor pair from sparkfun:
http://www.sparkfun.com/commerce/product_info.php?products_id=241

I wired them up like this:




And I wrote a simple sketch:
Code: [Select]
int receiverPin = 12; // input from the ir receiver.

unsigned long duration; // time shutter is open

void setup()
{
 pinMode(receiverPin, INPUT);
 Serial.begin(9600);
}

void loop()
{
 //digitalWrite(ledPin, !digitalRead(receiverPin)) ;
 duration = pulseIn(receiverPin, LOW);
 if(duration != 0 )
 {
   Serial.println(duration);
 }
}


I put the emitter on one side of the lens, the sensor on the other, and trip the shutter. The serial console shows me the open duration in microseconds, which I compare to what it should be.

Now I can see how accurate the shutter is, and I can adjust the exposure if necessary. (Or even send the equipment out for repair or adjustment.)

I couldn't get a good picture of the actual hardware today, but I'll be happy to add one later if anyone wants to see it.

Pictures I've made with the camera are here (along some of me using the camera at the inauguration):
http://www.flickr.com/photos/jerrya-net/
- Jerry Adlersfluegel

Peter

Really cleaver Jerrya! How much did you save? :)

jerrya.net

Good question! I have no idea, because I knew I wasn't going to buy a commercial system just to test the three lenses in my possession. Since I had all the parts except the ir pair, it only cost me like $2 to do this.

So I can safely say I saved $lots - $2.  :D
- Jerry Adlersfluegel

retrolefty

#3
Feb 07, 2009, 04:43 am Last Edit: Feb 07, 2009, 04:44 am by retrolefty Reason: 1
How accurate have you found the results to be compared to the shutter settings? Do the measurements show repeatable values?

Lefty

jerrya.net

#4
Feb 09, 2009, 09:07 pm Last Edit: Feb 10, 2009, 03:15 am by jerrya.net Reason: 1
Here it is in use:





I had only done preliminary testing until just now at lunch time. For my main lens, here's what I found, using 10 readings at each speed:








Setting (sec)Avg. Reading (micro sec)Std. Dev.Effective Shutter Speed (sec)
1/5019157665.521/52.2
1/10010427129.891/95.9
1/200659949.581/151.5
1/4005064450.351/197.5


So, it looks like 1/200 s is overexposing by a half stop, and 1/400 is really like 1/200. I haven't really used 1/400 much because it seemed kind of fragile (I can feel it uses a different set of springs which are obviously getting tired. The really slow speeds and bulb setting don't work at all.) The other two speeds are satisfactory.

I have been trying to think of ways I can calibrate my tester. Any ideas? I looked at the data sheet for the sensor, and the rise time and fall time are only 5 micro sec. different, which I could account for but in terms of my camera hardware it's insignificant. The film I use (Tri-X Pan) can be safely exposed +- a full stop.

- Jerry Adlersfluegel

HobbyLocust

For testing how about placing the sensors so that something could fall between them like a piece of paper of a known length possibly with 2 coins taped to the bottom corners so that the paper falls pretty much straight down.  You can then drop the paper with the bottom edge just above the sensor and then have it time how long it takes for the the paper to pass through the sensor.

Then you can use d = 0.5 * g * t^2 to calculate how long it should take and compare it to the results from the script.  For example a 1 meter long piece of paper (which is probably really too long to give good results because of drag).  The time to pass would be approx. .452 seconds.

Just an idea, I do not know how realistic or how reliable the results will be.

sys_spud

That is beautiful - simple, useful and elegant. I see you have :
duration = pulseIn(receiverPin, LOW);
So, does that mean the IR detector is normally HIGH and pulls LOW when IR is present?
I didn't see that mentioned in the docs.

roxlu

Hi jerrya.net,

I need to create a 'garbage can' which detects if someone throws something into it.  Because of the specs of the project we want/need to  create a strip of IR-emitters and IR-receivers (like 10 pairs per garbage can).

I was wondering if you think I could use the parts you've used in your setup? As we need to create 4 garbage cans, we have 40 pairs which need to be checked.  Therefore we probably need shift registers.


Roxlu

jerrya.net

Quote
That is beautiful - simple, useful and elegant. I see you have :
duration = pulseIn(receiverPin, LOW);
So, does that mean the IR detector is normally HIGH and pulls LOW when IR is present?
I didn't see that mentioned in the docs.


Thanks! I go for simple whenever I can.

Yes, while the shutter is closed (no IR passed), my sensor is HIGH. I'm sure there's a circuit that would reverse that, but this is a circuit I found in two places so I went with it.
- Jerry Adlersfluegel

jerrya.net

Quote
I need to create a 'garbage can' which detects if someone throws something into it.  Because of the specs of the project we want/need to  create a strip of IR-emitters and IR-receivers (like 10 pairs per garbage can).

I was wondering if you think I could use the parts you've used in your setup? As we need to create 4 garbage cans, we have 40 pairs which need to be checked.  Therefore we probably need shift registers.


The IR beam seems to be fairly narrow because of the lens, and it has a limited range. I don't remember if that is described in the datasheet, but you should check. This could be what you need or not, I'm not sure. And for that many sensors, you'll need something else to multiply your inputs. Sounds kind of cool.
- Jerry Adlersfluegel

Chorob

jerrya.net - neat project.  Some of your pictures of your hardware setup don't work anymore.  Any chance you can fix them?  Thanks!

jerrya.net

Strange, not sure why they don't work now. I can download the image, but it doesn't display on the page. Used to work; must be suffering from bit rot!

Anyway, since I can't edit the old posts, here are new copies on flickr, which should work "forever."

Schematic from first post:



And the two images of it in action from the other post:





I hope this will be useful to you!
- Jerry Adlersfluegel

Chorob

That was quick!  Thanks!  I am hopefully going to make this work detecting my electricity usage.  My meter uses IR instead of a spinning wheel.

jerrya.net

Neat, I'll look forward to hear how it goes.
- Jerry Adlersfluegel

Ran Talbott

Quote
Therefore we probably need shift registers.


Not necessarily:  if you don't need to know which beam was broken,  you can just OR all the detectors together.

Ran



Go Up