Build a shutter tester for Focal Plane shutters - Cheap, Easy & it Works

On The Mound

A
On The Mound

  • 5
  • 3
  • 104
Finn Slough-Bouquet

A
Finn Slough-Bouquet

  • 0
  • 1
  • 63
Table Rock and the Chimneys

A
Table Rock and the Chimneys

  • 4
  • 0
  • 124
Jizo

D
Jizo

  • 4
  • 1
  • 111
Sparrow

A
Sparrow

  • 3
  • 0
  • 102

Recent Classifieds

Forum statistics

Threads
197,415
Messages
2,758,653
Members
99,492
Latest member
f8andbethere
Recent bookmarks
0

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
Hi,
looks like that board, you can plug in a 9V or maybe 12V power supply & the board has a voltage regulator.

I just connect mine up to the computer via the USB socket.

For stand alone, just use a phone charger with the right lead to plug into the USB socket.

Ok thanks. I really don't need another shutter tester, but I have been wanting to get into Arduino since I first saw it, so this will be my first project.
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
What do you use to check the calibration? Think you maybe chasing your tail with this one.

 

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
20,575
Location
Europe
Format
Multi Format
I was thinking of this board

That board doesn't add much or anything that a Nano doesn't have, except pins. It uses the same kind of voltage regulator (typically a LT1117 clone) that the Nano's (and its clones) also use - with the same limitations. These don't matter in this project since power consumption is very low, and as such, the onboard regulator of the Nano will do just fine. Just hook up/daisy-chain everything to the 5V pins of the Nano.

The issue (with my present shutter tester) is the photodiode turns ON too soon and turns OFF too late as the shutter slit passes.

I doubt the kind of laser gates used here have any problematic delay. It will likely be in the 1us-10us range and that's being pessimistic. This would be a 2% error at most at a 1/1000 shutter speed.
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
That board doesn't add much or anything that a Nano doesn't have, except pins. It uses the same kind of voltage regulator (typically a LT1117 clone) that the Nano's (and its clones) also use - with the same limitations. These don't matter in this project since power consumption is very low, and as such, the onboard regulator of the Nano will do just fine. Just hook up/daisy-chain everything to the 5V pins of the Nano.



I doubt the kind of laser gates used here have any problematic delay. It will likely be in the 1us-10us range and that's being pessimistic. This would be a 2% error at most at a 1/1000 shutter speed.

No, it turns on too soon and off too late because the sensor is not a point source. Uncorrected, one will need to adjust the shutter opening to 1.25mm to read 1/1000 which will lead to under exposure.



screen-shot-2022-09-02-at-9-26-09-pm-png.325420


screen-shot-2022-09-02-at-9-25-45-pm-png.325419
 
Last edited:

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
20,575
Location
Europe
Format
Multi Format
Sorry, I see what you mean now. You're right; you'd have to either determine the width of the beam at the sensor site or calibrate the way you proposed.
 
OP
OP

Niglyn

Member
Joined
Feb 26, 2022
Messages
402
Location
Surrey, UK
Format
Analog
Sorry, I see what you mean now. You're right; you'd have to either determine the width of the beam at the sensor site or calibrate the way you proposed.

Should not make any difference to curtain speed measurement.

For exposure, then yes, as a single laser is measuring from just when the laser is seen to just when it is blocked.

If you know the width of the beam and as we know the speed of the curtain, it would be possible to calculate how long the curtain travelled over the beam and and deduct this from the exposure value. However this is complicated by the fact you do not know exactly at what percentage of rx being uncovered/blocked, will turn it on or off. The rx may only need to be uncovered by 50% or 37% of the beam width.....as said, chasing your tail.

Using a mask in front of the rx, with say a 1mm slit, will limit the beam width.
The best way to do this may be to buy a project box that fits flat against the film plane. Drill two 1mm holes at 32mm distance. Mount the rx sensors directly behind the holes.

1/250s is 4mS. 1/500s is 2mS so trying to calibrate into the uS range is really not going to provide any usable advantage.

I was actually going to do this for the Mk2 version (I have the box but am unable to find a supplier of suitable phototransistors) which also has sensors at 36mm and a connection to the PC sync socket.

However, there are a few things to remember, this is a 'simple' shutter tester, when we start adding boxes drilling holes etc, it starts to add complexity. Peeps can tinker, modify or upgrade as they wish.
Also, when you actually start to measure old camera shutters, you will see how they vary from firing to firing, so trying to measure extreme accuracy from something that is inaccurate to start with is pretty pointless. Film naturally has a wide exposure latitude (think instamatic cameras).
 
  • Niglyn
  • Deleted
  • Reason: cant add text
OP
OP

Niglyn

Member
Joined
Feb 26, 2022
Messages
402
Location
Surrey, UK
Format
Analog
Here is a diagram of the wiring. I think it is correct, if not, I'm sure I will get jumped on quite quickly :surprised:)

Screenshot 2023-03-16 212737.jpg
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
Thank you for posting the diagram. Again, the power is going to come via the USB, correct?

All shutter testers need to be calibrated to some standard and calibrating this one should be easy in the software.

Focal plane shutters are based on the premise that a single molecule in the emulsion will get the set exposure. Any common sensor is greater than one molecule, so there will be errors that need to be accounted for. 1/125, 1/250, 1/500 are not much use since they all ride together with the same cam and are not specified in the service manual.

On needs to know the fastest speed which would be 1/1000 usually. That is the speed upon which calibration of the shutter mechanism is based.
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
To make the point about the sensor size and focal plane shutters. If the sensor measured the entire film plane (like a leaf shutter tester) then it would read 1/60 all the time. Even when the shutter is set to 1/1000. The only time the sensor will be correct is if it is only one molecule in width. Otherwise an empiric correction factor is needed to account for the width of the sensor.
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
I just had some time to go over the code and wonder if one can use this tester to set the closing curtain brake.

For example on the Calumet tester, it resets on the closing side if the shutter bounces open and will display a very short time; just the time of the bounce. You can keep tightening the brake until this second small time goes away.

I'm not sure on this tester how quickly it resets when there are two open-close sequences close together.
 

OAPOli

Member
Joined
Sep 26, 2022
Messages
621
Location
Toronto
Format
Medium Format
Here's a pic of my tester. Code based on the Cameradactic design, I added the LCD screen. Single sensor for now. Most of my camera have leaf shutters, and half my focal-plane cameras are medium format so the spacing would have to be adjustable.

Shutter speed tester by Olivier, on Flickr
 
OP
OP

Niglyn

Member
Joined
Feb 26, 2022
Messages
402
Location
Surrey, UK
Format
Analog
I just had some time to go over the code and wonder if one can use this tester to set the closing curtain brake.

For example on the Calumet tester, it resets on the closing side if the shutter bounces open and will display a very short time; just the time of the bounce. You can keep tightening the brake until this second small time goes away.

I'm not sure on this tester how quickly it resets when there are two open-close sequences close together.

Hi,
Should be really easy. The code, as is, waits for the second curtain to close and then goes away to to do the maths.
All one needs to do, after the second curtain closes, is to hang about a bit, rather than going to the maths, to see if the second laser is seen again.

Have just written a bit of code to do the job, but needs to be added as a call routine to the bounce program. Don't have the time for that now, will do & post it soon. Somebody will have to test it for me.
 
OP
OP

Niglyn

Member
Joined
Feb 26, 2022
Messages
402
Location
Surrey, UK
Format
Analog
Here's a pic of my tester. Code based on the Cameradactic design, I added the LCD screen. Single sensor for now. Most of my camera have leaf shutters, and half my focal-plane cameras are medium format so the spacing would have to be adjustable.

Shutter speed tester by Olivier, on Flickr

nice baseboard :surprised:)
Spacing is easily adjustable, my sensors are hot-glued :surprised:)
The best way is a dedicated film back for each sensor size, but this is a 'simple' shutter tester
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
I found a basic circuit on Wokwi. Moving the slider changes the reading on the sensor from binary high to low.

If this model will work with the attachInterrupt() call, I can simulate shutter opening and closing by moving the slider and play with the code.
The model as it is uses "digitalread()" so I need to see if it works with attachinterrupt().

Screen Shot 2023-03-17 at 11.35.20 PM.png
 

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
20,575
Location
Europe
Format
Multi Format
A photoresistor doesn't sound very appropriate in a shutter tester circuit. LDR's have response times of several (up to dozens) milliseconds.

If this model will work with the attachInterrupt() call

Yeah, it will. If it's a sensible approach, and how to make it fail-safe, is another matter. See my earlier comments in the thread on debouncing. How often will that pin change interrupt fire as the light level changes? Be sure to handle the possibility that it bounces a couple of times in the process.
 
OP
OP

Niglyn

Member
Joined
Feb 26, 2022
Messages
402
Location
Surrey, UK
Format
Analog
A photoresistor doesn't sound very appropriate in a shutter tester circuit. LDR's have response times of several (up to dozens) milliseconds.



Yeah, it will. If it's a sensible approach, and how to make it fail-safe, is another matter. See my earlier comments in the thread on debouncing. How often will that pin change interrupt fire as the light level changes? Be sure to handle the possibility that it bounces a couple of times in the process.

I really think, trying to make a 'simple shutter tester that works' to the same specification of a commercial test unit costing £££k is a non-starter.
When you actually start taking measurements on old spring operated shutters, you will see how great the variance between each shot is.

I have a Canon T70 in my collection. This camera has an electronic shutter & I remember reading the review in Amateur Photographer magazine in the eighties, saying this was the first camera claiming to have a 100% accurate shutter & their tests proved that it did. Putting the T70 on my shutter tester does show the shutter speeds to be almost 100% accurate.

As said above, to ensure greatest accuracy, use a mask in front of the rx The easiest way to do this would be to drill two 1mm holes in a project box, at your chosen spacing & hot-glue the rx sensors behind each hole. However, if you are worried about 100% accuracy, then the only real option is visiting a professional camera repair technician and ensuring their test equipment has a valid calibration certificate.

The rx sensors are not just phototransistors, but also have amplifier & schmitt trigger built in. The board also has a pullup resister & LED showing it has power. This makes the circuit simple (this is a simple shutter tester, right?) and saves additional circuitry that would otherwise be required.
There should be no bouncing from this circuit. Much has been written about debouncing. Have a google. It is a big problem with mechanical buttons & microcontrollers. It can be dealt with in hardware or software.

My preferred method of dealing with switch debounce is in hardware, as it is a hardware problem. A few dedicated debounce ICs are available, but expensive When required, I use an RC & then into a schmitt trigger IC. Software debounce will add extra processing load. We only have a 20Mhz processor, so one has to be mindful to keep code short & simple. As said, there should be no bouncing from the rx sensors. Even if there were, the code is written such that the timing value is recorded only once for each change during the shutter cycle, so even if there were a bounce, or second trigger, this would be ignored. It would be easy to add a bounce_count to the ISR, to prove there is no bounce. Would only be four lines of code. Define var, increase var in ISR, print var & zero var.
 
OP
OP

Niglyn

Member
Joined
Feb 26, 2022
Messages
402
Location
Surrey, UK
Format
Analog
I found a basic circuit on Wokwi. Moving the slider changes the reading on the sensor from binary high to low.

If this model will work with the attachInterrupt() call, I can simulate shutter opening and closing by moving the slider and play with the code.
The model as it is uses "digitalread()" so I need to see if it works with attachinterrupt().

View attachment 332884

Not sure what you are trying to do, or why you would want to play with the code? It works fine as it is.
 

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
20,575
Location
Europe
Format
Multi Format
I really think, trying to make a 'simple shutter tester that works' to the same specification of a commercial test unit costing £££k is a non-starter.

Huh? I suggested no such thing. I just pointed out that a $0.10 LDR is less suitable than a $0.10 phototransistor.

As to debounce: opinions and preferences vary. Note that 16MHz (typical Arduino Nano clockspeed) on an Atmega is really oodles of computing power for the simple task presented here - including debouncing.
Of course, with inefficient programming, even a 240MHz ESP32 will be borderline sufficient. As they say: it's not so much what you've got, but how you use it...Also, smart code adds nothing to the BOM or project cost.

Please also note my comment w.r.t. debounce was directed at the thing ic-racer found that most certainly doesn't show anything that has hardware debounce; refer to the "schematic".

Finally, please also note that a Schmitt trigger in itself is not a debounce circuit, but can be a (very useful) part of it.
 
OP
OP

Niglyn

Member
Joined
Feb 26, 2022
Messages
402
Location
Surrey, UK
Format
Analog
Huh? I suggested no such thing. I just pointed out that a $0.10 LDR is less suitable than a $0.10 phototransistor.

As to debounce: opinions and preferences vary. Note that 16MHz (typical Arduino Nano clockspeed) on an Atmega is really oodles of computing power for the simple task presented here - including debouncing.
Of course, with inefficient programming, even a 240MHz ESP32 will be borderline sufficient. As they say: it's not so much what you've got, but how you use it...Also, smart code adds nothing to the BOM or project cost.

Please also note my comment w.r.t. debounce was directed at the thing ic-racer found that most certainly doesn't show anything that has hardware debounce; refer to the "schematic".

Finally, please also note that a Schmitt trigger in itself is not a debounce circuit, but can be a (very useful) part of it.

Hi, it was a follow on from IC, not sure what he was trying to achieve with a light sensor circuit to simulate a shutter?
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
This is the simulation I came up with. On Wokwi, it only allows simulation of a single attachinterrupt( ) at input #2; input #3 does not work.
So it is only able to simulate the single sensor component, though the entire code for both sensors is in the model.

Nothing really to change with the core code for focal plane shutters but I made the simulation so I could try adding some extra features specific to the cameras I repair. For example closing curtain bounce detection, calibration, leaf shutter mode, external controls, etc.

For leaf shutters I will use a diffuse light source and I'll track the analog output of the sensor and define the size of the intensity parallelogram to calculate the speed, etc.

 
Last edited:
OP
OP

Niglyn

Member
Joined
Feb 26, 2022
Messages
402
Location
Surrey, UK
Format
Analog
This is the simulation I came up with. On Wokwi, it only allows simulation of a single attachinterrupt( ) at input #2; input #3 does not work.
So it is only able to simulate the single sensor component, though the entire code for both sensors is in the model.

Nothing really to change with the core code for focal plane shutters but I made the simulation so I could try adding some extra features specific to the cameras I repair. For example closing curtain bounce detection, calibration, leaf shutter mode, external controls, etc.

For leaf shutters I will use a diffuse light source and I'll track the analog output of the sensor and define the size of the intensity parallelogram to calculate the speed, etc.



Really not sure what this is trying to do? There is no slider input to the Arduino, so I'm guessing the slider controls some light dimmer app & the arduinio is measuring light intensity?
It would be better to use the dedicated light level sensor which directly outputs in lux.
Measuring shutter bounce is easy. Added it to my code during tea-break. None of my repairs have bouncing shutters :surprised:) so cannot test if the code is correct, looks ok to me, but have no way to test at the moment.
 

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
20,575
Location
Europe
Format
Multi Format
Hi, it was a follow on from IC, not sure what he was trying to achieve with a light sensor circuit to simulate a shutter?

Sorry, gotcha! :smile:

On Wokwi [...]
Woki is really great for trying certain things, but in this case, I'd really just test using the real stuff. Makes so much more sense, and it doesn't cost that much more time or money than a simulation.

For leaf shutters I will use a diffuse light source and I'll track the analog output of the sensor

Should work in principle. Will the ~10kHz sampling rate of a typical Nano be sufficient? Keeping into account you also need to process the output. Although you could dump a lot of stuff into a buffer and work on it later.

I'm guessing the slider controls some light dimmer app & the arduinio is measuring light intensity?

It's part of the Wokwi simulation kit; in this setup an LDR is connected to the Arduino and in the simulation you can set the amount of light the sensor sees to verify the code does what you want. Like I said, it's quite nice how far they've already gotten with this, but this is an application where I don't think the simulation is quite going to cut it.
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
Really not sure what this is trying to do?
It is running your program.
There is no slider input to the Arduino, so I'm guessing the slider controls some light dimmer app & the arduinio is measuring light intensity?
Yes. A simulated light shining on the sensor.
It would be better to use the dedicated light level sensor which directly outputs in lux.

That is the one in the model. It has analog and binary output pins. The trimmer on the little board sets the on/off switching point.
Measuring shutter bounce is easy. Added it to my code during tea-break. None of my repairs have bouncing shutters :surprised:) so cannot test if the code is correct, looks ok to me, but have no way to test at the moment.
Relax tension on the closing curtain brake until bounce detected, then tighten until it goes away.
This simulation can do it by turning the light on and off twice.
 
OP
OP

Niglyn

Member
Joined
Feb 26, 2022
Messages
402
Location
Surrey, UK
Format
Analog
It is running your program.

Yes. A simulated light shining on the sensor.


That is the one in the model. It has analog and binary output pins. The trimmer on the little board sets the on/off switching point.

Relax tension on the closing curtain brake until bounce detected, then tighten until it goes away.
This simulation can do it by turning the light on and off twice.

What ever will they think of next? :surprised:)
I've never heard of this wonkywiki. I will take a look.

My code should work fine with a leaf shutter. Hopefully by now somebody has all the bits together and can try.

Have added the shutter bounce code, it simply checks if the second laser is seen again after the second curtain closes. just need to check it works with my own simulation ( a bit of card with two slots cut in it :surprised:)
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,481
Location
USA
Format
Multi Format
What ever will they think of next? :surprised:)
I've never heard of this wonkywiki. I will take a look.
My kids did some Arduino in High School, but they only borrowed the stuff. So I don't have any of the physical hardware with which to experiment at this time.
My code should work fine with a leaf shutter. Hopefully by now somebody has all the bits together and can try.

Have added the shutter bounce code, it simply checks if the second laser is seen again after the second curtain closes. just need to check it works with my own simulation ( a bit of card with two slots cut in it :surprised:)
How will you distribute the code to those on PhotoTrio?
 
Last edited:
Photrio.com contains affiliate links to products. We may receive a commission for purchases made through these links.
To read our full affiliate disclosure statement please click Here.

PHOTRIO PARTNERS EQUALLY FUNDING OUR COMMUNITY:



Ilford ADOX Freestyle Photographic Stearman Press Weldon Color Lab Blue Moon Camera & Machine
Top Bottom