shutter speed measuring with Arduino

rodinal

film user
Local time
8:36 AM
Joined
Aug 8, 2006
Messages
301
Location
Santiago
What started as a weekend project took a pair of extra days, but I've just finished the calibration of a shutter speed measurement device based on an Arduino board.

All started with a malfunctioning M2 body that was brought to life again by a very skillful friend of mine. My ears told me that something was not right with the shutter speeds, but had no means to measure them.

I first tested with a CRT TV screen and a series of test exposures and checked that exposure was even across the frame, but the amount of exposure (shutter speed) was not right. So, I decided to build a meter to test speeds using some parts I already had. It took an Arduino UNO board, a LCD_RGB display shield, a laser diode, a phototransistor, some resistors, connectors, cables, and a CD box used as a base. Of course, some simple coding was necessary too. The system was calibrated using a Contax G2 shutter as reference. The gizmo works quite well from 1/4000 seg to 4 segs (the entire range of speeds of the G2).

I've not tested the camera that started this project as it's loaded with film now, but tested an Hexar RF (not too good really) and a Minolta CLE (excellent performance), quite surprising...

Tr-8L1RY7hEvTfB0idOAVh2KcTNLBS3QCPmRqZOdvE4


CRwdCxGaeQal6uvyW0MW2i7fIY1N5WC4kBf_zvtXV8k


ql-YIM8lMVqZH7d2AsD-mdQCyhDRcNBuf7KUc21wo0s


AwcJalFGOkp8h7CKX7bi3YuuTQLCrDPclb_NadWyXI0


_Tv5npZ6a3IABYvSaU_nLmUJ5mTEI5RGyozZ-KVkmdA


Xnpr2CrT0YzEctdTJYNxiPR5jn4LWEonQGinf6dkonQ
 
Would you care to document your parts list and share the code for it by chance? I am prett sure that a few of us would like to build these ourselves.

I have NO clue how to do anything with my Arduino. But I am very good with electronics.

I already have ideas on how I could build this testing unit it one of my very favorite project containers, a Really Useful Box.

Would love to see what all parts and the basic schematics and code if you would share. If not, then good job just the same.
 
Thanks for the comments.

Ampguy: good idea, but I'm too old and shy for that.

Alienmeatsack: happy to share, but first I need to collect the information as this was built on the fly. I don't have a schematic and the code was built around the "Hello World" example program provided by the display maker. The parts were existing hardware I had, but I can trace their provenance and tell you the part #s.

That said, remember that this is not an optimized project. For example, I the use of a laser diode is not mandatory at all, but I had one at hand (and looks so hi-tech!). As for the resistors used, I'm sure they can be better dimensioned. Also, a couple of well chosen capacitors can improve the response speed. I'll post the as-built information soon.
 
Sounds good. Maybe if a few of us build them, tweak and pool our info we can make a proper document on how to put one together that is flexible enough to be used with any camera that needs to be tested and easy to use.

I was considering trying to build something myself using LEDs and photo resistors and measuring the light wave as "audio" in a manner of speaking as it peaks and falls during the shutter click. The Arduino would make a lot of the hardware and process much easier. And the display shield would make getting actual speeds out of it much easier vs reading the "sound wave" generated by my idea.

It's a big step up from my current method of literally recording the audio of the shutter clicks then looking at the audio to measure. This has flaws since many shutters tend to have a lot of noise around them and it's difficult to find the actual opening and closing vs if you just measure light and start/stop the measurement when the light hits the sensor and stops.

Could be a fun project and a good use for my Arduino. Plus I've been wanting to get a display shield to try too. 😀
 
Here is a diagram of the laser and sensor connected to the Arduino. The board is an Arduino UNO R3, the display is an Adafruit #714 RGB LCD shield w/buttons (a very useful piece of hardware). Besides the pins used by the display shield (the I2C pins at Analog 4 and Analog 5), this project uses only two digital pins, 7 and 8. These pins were chosen at random, and you can use only one if needed (the first pin just controls the laser).

The program is based on the pulsein() function and the rest is just a linear correction function to adjust the measurements and display the results.

One caveat, display shields are not designed to be stacked as they are supposed to be always on top of the pile (to see the display). In order to reach the Arduino pins easily I modified my display shield with the sockets you can see in the pictures. Of course, you can use any display shield you already have, or any Arduino board...

lGElJhNCzmmxZlChDMsKrKHLreATQhZuJKFyvNBQIHo
 
Last night, I did some digging on this project and I found several others who were doing similar Arduino based shutter speed testing units.

Yours seems to be the only one using the display shield, the rest dump the results out to the console or onto a oscilloscope for you to then manually convert to a valid shutter speed. I like yours for that reason.

Based on your diagram, any light emitter and receiver should do the trick as long as they are fast and accurate enough to be aimed through the lens opening and received at the receiver end.

I wonder if there is any benefit to using the laser vs a standard IR emitter or even just a standard LED light, speed wise or accuracy wise?

The only thing I could see that could get in the way for the standard LED would be that you'd need to control the light around the tester so there was no light except the source hitting your photo resistor or receiver.

I'd like to take this a step or two further making the receiver unit and sending unit adjustable so you can pose them in front and behind any camera body or lens unit easily.

I was thinking of putting the main components into a case and running leads out via some wires (I use ethernet wires for this a lot) with enough length to place the source/target in the locations needed to get the best results for the camera in question.

My nerdy gadget brain is all excited to try this project!
 
Is there any reason why you need the 50hz laser vs their cheaper $6 laser with otherwise same specs? (I assume this was mostly because it was what you had on hand. But I am curious if the 50hz laser has a faster or more accurate beam that gives more accurate results, esp at higher shutter speeds.)

I don't really know how to code for the Arduino so once I have the laser and display shield, I have the capacitors/resistors and all that... I'll just need to figure out the code and turn into useful shutter speed info on the display.

That will be the hard part for me. I am decent at the electronics side as I've built all sorts of gadgets, circuit bent toys and electronics, etc. Coding isn't my strong suit.
 
Is there any reason why you need the 50hz laser vs their cheaper $6 laser with otherwise same specs? (I assume this was mostly because it was what you had on hand. But I am curious if the 50hz laser has a faster or more accurate beam that gives more accurate results, esp at higher shutter speeds.)

You are right, I used it because I already had it. Response time of the laser is not important at all for this project. In fact, you don't need to be able to turn it on and off, having it always on will work too. You don't need it to be a laser either.

However, with this setup you can also measure shutter speeds by pulsing the laser and counting the pulses at the receiving end, in that case response time of the laser will matter. BTW, the laser I used works up to 50KHz, good enough to measure speeds up to 1/8000 via pulse count.

As the phototransistor peak sensibility is in the IR spectrum and the laser is visible red (650nm), I'm relying on the strong light of the laser to excite the transistor. Also, the pretty low emitter resistor was chosen to make the overall system sensibility low in order to avoid the effect of room light. This worked ok from the beginning, so I didn't do any further testing.
 
Should do a write up for PetaPixel.

This is superb. How awesome would it be to have a DIY or something..

Would love to, but time is so scarce these days...
I'll try to document this a little bit better this weekend.
What would be the best way to publish something like this?
Here in the RFF? (I would like that, but where and how exactly?)
Text and images? A video?
PetaPixel, how?

Regards,

Marcelo
 
here's a place

here's a place

http://blog.arduino.cc/category/projects/

and I'm sure there are many places, including here, that would like to have your project as a reference.

Would love to, but time is so scarce these days...
I'll try to document this a little bit better this weekend.
What would be the best way to publish something like this?
Here in the RFF? (I would like that, but where and how exactly?)
Text and images? A video?
PetaPixel, how?

Regards,

Marcelo
 
I've been doing more research on this and trying to figure out all the bits and pieces, the code for the aurdino, etc. I stumbled upon an illustration from quite a few years ago of how to do a similar thing for the PC sound card and an illustration that I think was drawn by you. If not, there is someone out there with identical writing/sketching. 😀

I have a few of the parts on order for mine, already have a few. I didn't get the laser but I think I will order it next week when I get paid. I was going to make do with a nice LED or similar... but I'd like to try yours and get more accuracy.

Once done, I have about 30 cameras to test. So it will be worth the trouble and money. Plus I buy new "old" gear all the time.

My hope is to build it into a small box that I can easily take with me to flea markets and used camera buys to test the gear on the spot.

I've worked out the basics of the 2 mounts and how to make them adjustable towards each other/away from each other and up/down so any sized camera can fit in between. I just need to find the parts to build that section while waiting for my order to arrive.

Still dreading the coding of the Arduino part the most. I can build circuits without a problem but coding is not my thing.
 
Hi Alien...
Don't worry about the code, send me a PM with an address and I'll send you a file with the latest version. Have in mind that the code is hardware dependent, so it will work fine only with the exact parts I mentioned. That said, it's not difficult to adapt it to different hardware, provided it's still Arduino based.

That PC sound card project you mention is not mine. I'm sure that those solutions may work pretty well, but they are not close to the ease of having a friendly display telling you the exact shutter speed.

Some thoughts.
I said that the laser was not mandatory, it's not, but there are reasons to think that it's a more precise solution. As focal plane shutters generate a very slim slit that travels across the film gate, a light source and sensor with the narrowest beam are desirable. This will make response more even between high speeds and lower ones, easing calibration.

It is desirable that the light source and the sensor are flush with the surface holding them. I used a cable fitting to hold the laser, that protrudes about half inch and there is the risk that it touches the shutter curtains (not a good thing). In my case, this can be solved by adding some foam pieces flush to the fitting.

The program I wrote, manages the laser, turns it on before a measurement, asks you to release the shutter, measures the time in microseconds the sensor is lit, turns the laser off, and displays time in seconds if greater than 1sec or fractions of a second otherwise.

As there are some delays and time base errors involved, I made a calibration of two extreme measurements of 4sec and 1/2,000 sec using a Contax G2 as standard. I modified the program temporarily to show raw data and, with them, I calculated aditive and proportional correction factors to adjust the readings to the said values.

Last weekend I put the whole thing into a project box to make it portable (and lend it to my technically-skilled friend). I'll post a picture of it later.

I do NOT recommend that you check the shutters of your cameras. You will discover that they vary wildly among them and some are not very consistent with themselves. I found that many cameras that I use without any problem whatsoever, are very off value. Sometimes, as the poet said, ignorance is bliss.
 
Ok, the promised photos. (please forgive color balance, exposure and all that boring etcetera that Photoshop can solve)

Camera under test is a Nikon FE, with electronically controlled shutter. Please note the close, but not precise speeds of 1/60 and 1/1,000 pictured. However, the back up (mechanical) speed M90 was right on the spot !

ZWDL1aX_VVjiZgxTVsGiWVMrRhtFZUQRyTdanipCJe8

NEkF2Yo3OTQ4McT_DpnscDXq5-swGCK-QU9Gmdm_PM0


zCnDdzidZNifIhKNh5bBlnSuET39Mag_siE25kbEIBE


zTZDsDiCJeCUdJb_Y5v0lOgpth3tdif6ZZZVJDOGVCk
 
Many years ago I was involved in making a shutter speed test equipment for a camera manufacturer. What you should do is to integrate the light during the actuation. The indicated shutter speeds are just ball park figures. You should get half the light when changing from 1/125 to 1/250 etc but as you increase the shutter speed the opening and closing action of the shutter will matter more and more.

Ola
 
Agree, for leaf shutters a continuous integrating method is the right way. As implied in the explanations, this device is intended for focal plane shutters.

Also, the main thing is the halving/doubling between speed steps. As an example, the Contax G2 speeds are 1/8, 1/16, 1/32, 1/64, 1/128... , not the marked standard values. But, when using an independent light meter or different cameras and need to match exposures, the exact shutter speed becomes relevant.

Hasselblad, perhaps?
 
Back
Top Bottom