Pages: [1] 2   Go Down
Author Topic: camera shutter tester  (Read 5775 times)
0 Members and 1 Guest are viewing this topic.
St. Louis MO
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
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/
Logged

- Jerry Adlersfluegel

USA, IN
Offline Offline
Newbie
*
Karma: 0
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Really cleaver Jerrya! How much did you save? smiley
Logged

St. Louis MO
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.  smiley-grin
Logged

- Jerry Adlersfluegel

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16459
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How accurate have you found the results to be compared to the shutter settings? Do the measurements show repeatable values?

Lefty
« Last Edit: February 06, 2009, 10:44:48 pm by retrolefty » Logged

St. Louis MO
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

« Last Edit: February 09, 2009, 09:15:07 pm by jerrya.net » Logged

- Jerry Adlersfluegel

0
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 7
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

St. Louis MO
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

- Jerry Adlersfluegel

St. Louis MO
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

- Jerry Adlersfluegel

0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

St. Louis MO
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

- Jerry Adlersfluegel

0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

St. Louis MO
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Neat, I'll look forward to hear how it goes.
Logged

- Jerry Adlersfluegel

Rural Arizona
Offline Offline
Edison Member
*
Karma: 7
Posts: 1711
Incorrigible tinkerer
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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


Logged

Pages: [1] 2   Go Up
Jump to: