Fine tuning shutter speed and code
As you know I am working on making a fully automatic camera.
For that purpose I am trying to get as accurate shutter timing as possible. I am also trying to read the new photodiode SFH2430 and turn the number I get into a shutterspeed that corresponds to the ISO selected.
I will explain the device I have build to calibrate the photodiode in a future post.
I have refined the “thing” I made almost a year ago to check the shutter speed with the HFR (Sony RX100M5) camera, so that I can do it without taking apart the shutter assembly. I am working with a new “Prototype#9” based on the new “ALPHA” PCB design. I have a new “ALPHA-2” PCB where I fix a couple of mistakes.
Not sure if I am going to run a manufacture run, at least with SEEED after the results so far.
But back to our bussiness today: first I have made a “test pack” that can feed power to the camera. That way it is connected to the lab’s power supply for a steady 5.8V. I take the battery out of the equation.
I have also made a light source to illuminate and be able to “see” the shutter clearly with the camera.
So this is the camera end.
A pushbutton like a normal shutter release but with two circuits, one lights the red LED when push, the other triggers a picture (custom connector to camera). Then the yellow LED lights when the flash is triggered in the dongle.
Notice the cute pin to turn on the camera as if the rollers were in place.
On the other side it is just the SONY RX100M5 and a close up lens more or less in front of the lens.
Here is the whole thing:
And here is the result for the EV17 (12 o’clock) fastest (but maybe not so fast) setting:
You can see it starts to open at T=1 and reaches the maximun at T=11 and then more or less closes in half that time. You can also see that it doesnt fully open. You can also see that it probably should be faster (Julien from Brooklyn Film Camera told me, and he is right, or it might depend on camera tolerances).
And here is the code in the Arduino:
//OPTION ShutterConstant is the time the shutter takes to begin to open it *might* change from camera to camera
int ShutterConstant = 7;
//OPTION line above are the wheel "raw" speeds (have to keep in mind smaller time = smaller aperture)
// this are the "SLOTS":
//int ShutterSpeed[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F };
//int ShutterSpeed[] = { EV17, EV16, EV15, EV14, EV13, EV12, EV11.5, EV11, EV10.5, EV10, EV9, EV8, FLASH, FLASH-F8, T, B };
// to change the speed in the slot position just change the number corresponding.
int ShutterSpeed[] = { 11, 14, 15, 16, 20, 27, 34, 47, 55, 92, 152, 302, POSFLASH, POSFLASHF8, POST, POSB };
// from "apogee" aprox 1/2 time to close (for flash???)
// if ShutterSpeed is 10ms then it takes aprox 5ms to close fro apogee
Everything preceded by “//” is ‘commented out’ is just a commentary for reference.
First there is a variable that I call ShutterConstant. This is the time in milliseconds that it takes the shutter to actually open since I give the command to do so. It may vary from camera to camera.
Then there is ShutterSpeed, this has the time values for all 16 positions on the selector wheel:
int ShutterSpeed[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F };
from the top clockwise. For instance 0 is 12 0’clock.
You can change any value, if you want the speed for EV17 faster:
I recommend to copy the line and comment the original so you can easily go back.
So in this example I change EV17 (the first value) from 11 to 9.
//int ShutterSpeed[] = { 11, 14, 15, 16, 20, 27, 34, 47, 55, 92, 152, 302, POSFLASH, POSFLASHF8, POST, POSB };
int ShutterSpeed[] = { 9, 14, 15, 16, 20, 27, 34, 47, 55, 92, 152, 302, POSFLASH, POSFLASHF8, POST, POSB };
Yes is that simple!
In every location of the program where values can be easily changed I have added the //OPTION so you can easily find it with control-F.
The ShutterConstant means that the values for time are really close to the real value, but, keep in mind that when I instruct to close the shutter it takes a while (aproximately half the time it takes to open).
I recommend that you read the article about the shutter operation. In there I try to explain how the “inefficient shutter” works. With help of one of the engineers that designed it, Dr. Plummer.
Comments