Shutter Speed Detector with Arduino
HTML-код
- Опубликовано: 16 ноя 2024
- This is a very easy build and a very handy device if you own film cameras.
Link to project on hackaweek.com : hackaweek.com/h...
Original link on GitHub: github.com/hir...
Full credit on the code and project goes to "hiroshootsfilm" Thank you!
Many years ago I used to work at a camera repair shop. It was a specific name brand factory repair shop but we worked on all major brands. When we timed a shutter we would first remove the lens before placing it in the shutter tester to be sure the incoming light would reach all four corners of exposure. The test tool would shine a constant wide beam of diffused light in through the front of the camera and take three time measurements at the top left, center and bottom right each time you operate the shutter. That way we could tell if the shutter had an even exposure throughout it's travel. Why top left, center and bottom right? Some shutters travel horizontal, some travel vertically and some are iris type shutters.
The Pentax tester tested slit width across the travel. I did this by taking a sample at extreme right and left and comparing the results, which ended up being very close after some adjustment to spring tension on take up rollers. I've used this on three cameras I've serviced so far. My K1000 refuses to work properly at slow speeds though. Can't get it to work right and I've concluded that it's from general wear. Slow escapement got a full CLA but still won't do it's thing.
Fantastic! Dr and ordered come to mind, I collect cameras and have always wanted to see if my guess on timings is accurate, ie listening to the shutter, I can distinguish the slight noise differences between two cameras, and often try to accurately measure by trying several different ones consecutively, I’m 73 and would like to know that if I sell? A camera, that I can confidently state that the shutter speeds are either accurate or what they are, I clean them up and I try and get the whole mechanical parts working. So now that I’ve found you, Q song! I’m trolling through your videos, Pentax have become some of my favourite models, but I just love and respect these works of art, that are so underrated and dismissed, they tell us about history as it was happening and from every aspect, stories are brought to life, since their introduction, they have developed but really the basic principles are the same, light, aperture, medium, ie plates, film, digital, before the camera it was word of mouth, and artist’s impression, relying on honesty, quite bizarre that it’s now getting to a point when the adage the camera never lies, isn’t correct, as with the manipulations and techniques, technology etc, I think the true art is being lost, some say enhanced but I feel it’s moving from reality to a false representation. Looking forward to exploring your other videos. Regards DG
Only one LED is not enough. If the Transistor is off a bit, than you get missreadings. Simply use a bright flashlight.
You are a hugely talented guy and you have my utmost respect for your versatility.........Many thanks for your very interesting and diverse uploads.
Thank you very much!
I have some film cameras with electronic shutters. For example, a Canon Rebel G that looks and feels like a newish digital camera. My assumption is that these shutters stay accurate for the life of the camera (being electronic, they work accurately or not at all). If the assumption is true, these types of cameras would be a useful way to calibrate and improve the setup.
Nice project to build ad-hoc to test camera if you are not professional service. To improve accuracy in reading faster speeds I would use low-power laser diode and hide phototransistor in tube. When end of first curtain is followed by beginning of second one, this may indicate exposure to light coming from side of phototransistor.
Good idea. Thanks. :)
This is exactly what I was looking for.
Great tutorial . Couple observations; Accuracy seems to decrease at speeds of 1/500 or higher, also affected by the ambient light. This might also be because of the width and sensitivity of the phototransistor and some added diffraction from the shutter curtains at these speeds.
I have had better accuracy in a dim office with the light source and tester placed further apart from the camera ~foot. However, I'd think its fair to assume if your speeds from 1sec to 1/250 are accurate, the higher speeds should be really close. Cheers.
Thanks for the comment and for watching.
hello tks for the video, how do you power the Arduino Micro, always from the PC? I thought that the light from the screen could, perhaps, influence the light reading from the sensor. Tks
Did you verify that the Arduino is calibrated correctly? Get an Arbitrary Wave Generator and set it to output a pulse with a known interval and pulse an LED then measure with the Arduino to confirm the Arduino is working correctly. Or just get a 555 one shot and measure the pulse with a scope and do the same as above so you know you have a known pulse width to verify Arduino is measuring right. Great topic for follow up vid.
I did not verify this MCU. I like the idea of a pulse from a 555 measured on a scope, then check against pulse with my tester. Might try that or from a wave generator I have buried somewhere.
@@HackaweekTV Always good to test your test gear before trusting them. It feels better to test things with known accurate tools. Good luck. Let us know what you find.
Good idea apply embedded!! Video gives me inspired!
Hey, great stuff, I tweaked the code a bit, used a different display (ST7735) and used a phototransistor from a drawer (BPX43) and it worked on the first try...
Hi Pavel, I have a BPX65 and am thinking of using it as it's faster, may give better results. I wonder if you could share a bit about your improvement in using it? I'm an amateur in electronics. Is it going to add some components?
@@matthewchen1006 Considering the times used by old cameras (1ms) I think BPX65 (12ns) will not give better results than BPX43 (18us). I don't think any extra parts are needed compared to the original. The BPX65 only shows less current than my phototransistor at 5V supply.
@@pavelkuzel5013 Thank you so much. I misread the size relationship between ns and ms. I'm using the SFH309-4 used in video. But as I tested 1/500 on a electronic shutter it read 1/357. I'm thinking this phototransistor is not accurate enough. If i want to get a better phototransistor, what specs I should focus on? Or can I just brought one BPX45 same as yours and replace the SFH309-4 directly without changing code and resistance?
@@matthewchen1006 The BPX43 and BPX65 have similar current values and the resistor is used as a pull-down for the Arduino. So the only difference will be the amount of current. But since only 5V power supply is used, nothing needs to be changed. With my BPX43 phototransistor I measured 1/811s on one camera.
I know nothing about Arduino's but as I was gifted an Uno a few years ago and never learned to use it, I rummaged around at home and found it this week and managed to figure our how to wire it up and load the program in, bought a screen and phototransistor, had a bit of trouble translating the input pin to the Uno board but finally got it working and was delighted. I still shoot film and have about 40-50 old film cameras at home so was interested to know which ones still were usable.
I tried to test a few of them out with various speeds by shining an LED light through the back of the shutter and having the sensor pointing at the lens (keeping lens on in all cases) (I had recently watched a video of a tour of kamerastore in Finland test shutter speeds with old equipment using a similar method)
I was horrified by the results so much I did not believe them. I either need a way to calibrate it, or its not measuring correctly.
I know nothing about electronics but my gut feeling was that the shutter curtins/blades act as slits of light travelling a certain distance so it might set the timer off and on inconsistently depending how wide the slit were. I notices some of the older cameras I tested with a set speed that used a leaf style shutter were consistent and more accurate.
Not sure I can trust the results I got, I've been using some of the cameras like my Leicas and Mamiyas with good exposures
so for the tester to tell me the shutter speeds are so off.......Mmmmmm
Have a link to the speeds I was seeing when using the setup:
docs.google.com/spreadsheets/d/1w-Y9Zd7TtBe6v-cmrl397sRjgwXSVNPp-okSZwGIAzU/edit?usp=sharing
Are you testing with no lens?
@@HackaweekTV I've lens's on all the cameras that I've tried so far, (some of them have non-removeable lens)
I must try some of them without a lens to see if it makes a difference. Seeing a camera repair crew testing cameras they appear to keep the lens on when using the shutter measuring device so I did not think to try them with the lens removed. (I see other people also have the sensor at the shutter curtain rather than in front of the camera but I dont know if it makes a difference or not yet.
It was my first attempt so plan on trying to read up on things and trying again being more careful, also waiting to use up some film on one of my cameras that has been working fine an Leica R8 to see if that might be accurate.
Loved your video! had that arduino thrown in a drawer unused for ages without a use for it and would have never have bothered trying to figure out how to use it until I spotted this video online and it motivated me to think about trying to put it together.
@@bulletsie You can try using something like a paper roll with some tape. On one end, you can have the measuring device, and on the other, an LED diode controlled by another Arduino. Or you could tweak the code or use something similar, perhaps a phone app, where you can digitally set how long it shines and test it that way.
Fantastic!!! Are there alternatives for the transistor model SFH309-4? I can't find it here in Brazil. Thanks.
Try this: SFH217F
Use a light sensing element, NJL7502L.
I made the project (thank you very much for sharing).
I have a problem, the project measures only 1 time (0.90msec).
I am testing with a led torc.
Is there any known reason, never happened to you? ( some thing to change in the code... )
Thank you very much
Thanks for the video! Nice work. I wired this one up, but mine triggered as soon as the sketch loaded and seems to be stuck in a self-triggering loop. Any ideas?
As long as light is falling on the detector it will trigger. Try blocking it from light and see what it reads.
Thanks! That was it. I had to shield the phototransistor. By the way, have you found that the Arduino project itself to be accurate (I.e. latency in the circuit, etc.)?
Awesome! Thank you for sharing.
Glad you enjoyed it!
@@HackaweekTV A lot, it motivated me to build my own. I read some comments on reddit about calibrating it first but I have no idea how to do that, any advice on where to find that info? And thank you for your videos, we've been watching a lot of your content since yesterday. Awesome stuff. BR from Nicaragua, we are a small darkroom trying to do our best to create an analog community in this country.
Hey buddy. I was just thinking of building something like this for my old view camera lens'
Do it! hackaweek.com/hacks/shutter-speed-tester-with-arduino/
Great
I’m using Arduino Nano, and don’t know how the board don’t read the sensor…Sad, i think it should be wrong in pin difference, I still not figured out yet
Check sensor polarity!
@@HackaweekTV Yeah exactly Thank you! Made a stupid mistake.
@@HackaweekTV Many thanks for introducing this project, it's like opening up a pandora box. I noticed that it works great in speeds slower than 1/125, especially slower than 1/60 speeds.
For example, like in your 11:41, I tested an electronic control shutter of 1/500, and it read exactly the same 1/357, I tend to believe it's the error of the measurement not the fault with an electronic control shutter. Do you also think it's not good at measuring high speed? I'm thinking of ways to improve it, did you have any idea about it?
Hi. Are you from the UK?
no
@@HackaweekTV Ah well.
Problem is, you are measuring the width of the curtain slit AND the width of the sensor.
As the 'shutter speed' gets faster (it does not, shutter moves at the same speed) the slit narrows (which causes shorter exposure, not the shutter mech moving faster) the ratio of slot width to sensor width decreases, thus you get a greater and greater error as 'speed' increases.
e.g for a flash sync of 1/30s on a 35mm camera, slot width will be 36mm & sensor width, say 2mm.
At 1/500s. slot with will be 2.25mm (36/2 =18 18/2=9 9/2=4.5 4.5/2=2.25mm)
so at 1/500s, sensor is almost as wide as the slit.
A single sensor will also not show the curtain speeds. there are two curtains, which need to move at the speed stated in the repair manual, to give correct exposure and they both must travel at the same speed.
You are right. The good testers have two sensors. BUT, this one will at least tell you if you are close and it's cheap to build.
@@HackaweekTV Indeed. It might also encourage others to get into the world of Arduino I use EPS32 now, on the Arduino platform. Only a few £ more but gives much more versatility and speed.
Normally, a camera is tested without the lens. By doing this and taking separate readings from both left and right side of the lens mount, one can see if the exposure is even across the frame.
Adding a mask in front of the sensor will improve accuracy at higher shutter speeds. Try a mask with 0.8mm hole.
I used the Arduino laser tx & rx module. Laser gives a nice collimated light source and the rx has built in Schmitt trigger and amplifier.
My tester became a monster. Three sensors, to show exposure balance across the frame & to measure curtain speeds. Connection to flash socket to test sync speed. 4" TFT colour screen. Full diagnosis, showing rolling average, nearest, deviation from centre etc. Once you start programming with Arduino, you just can't stop 😀
Built this recently with some issues...
I have no problem measuring below and up to ~1/60 sec but as the speeds go up the results get wilder and are always too slow. For example, my FE2 can't measure anything beyond around 1/1500 sec on the 1/4000 shutter setting and I get similar results with an N80. I have no reason to suspect either of these cameras to be that wildly off and I've used the FE2 successfully at high speeds for years and years. So I really don't think this circuit with the SFH309 is too useful for anything other than slow speed testing. Definitely interested in other users feedback and results with a different cell, or options for ways to make this reliable enough to actually be confident in the results.
I'd also recommend changes to the displayed output. I found the default font to be far too small to read easily and there was a lot of extraneous information being displayed. I have mine set up like so:
Test Ready
Then...
T = 1/XX.XX
XX.XX ms
I created a fork of the original code with my GUI updates and a much shorter recycle time (adjusted on line 118) for the next test in case anyone is interested.
github.com/P1NBA11ER/shutterspeedtester/blob/main/arduino/shutterspeedtester/shutterspeedtester.ino
There is a geometric limitation of such a device:
The curtains travel speed is roughly 3 m/s, according to repair manuals.
So the curtains moves from 3mm each millisecond.
3mm is the size of the sensor.
Because you have no idea if the timer is started when the curtains reachs the beginning, the middle or the end of the sensor, the best precision that you can expect from the device is 1 millisecond.
At 1/1000s the measure uncertainty is 100%
at 1/500 the measure uncertainty is 50%
at 1/250 the measure uncertainty is 25%
And so on.
In order to improve the precision of the measure, the system, including the light source, must be calibrated.
You can find an example here, of a device that use a calibration procedure:
ruclips.net/video/vWWtHFmMRck/видео.html