Focus Speed
This is a method that I used to benchmark the focusing speed (from MFD to ~1.7m target) of several lenses/motor technologies. The setup involves using a DSLR, Arduino (used a Maple Mini clone for the hardware) connected to an LED, and a PC for setting the delay. The Arduino turns on an LED in view of the camera, triggers the shutter and turns off the LED after a set delay, if the LED is still on by the time the picture is taken, the delay should be increased, and vice versa until the focus time is converged.
Results
1. Canon EF-S 18-55 IS STM -> 500ms
2. Canon EF-S 17-85 IS USM (Ring USM with FTM) -> 307ms
3. Sigma DG 17-50 f/2.8 OS HSM (Micro HSM without FTM) -> 472ms
The numbers above do not include the native shutter lag, which for the 7D measured (in manual focus) at: 120-125 ms.
Arduino Code
/*
Justin Kenny 2017
AF Speed Tester
*/
uint32 delaytime = 100;
void setup() {
Serial.begin(115200); // Ignored by Maple. But needed by boards using hardware serial via a USB to Serial adaptor
// Initialize the built-in LED pin as an output:
pinMode(20, OUTPUT);
pinMode(10, OUTPUT);
// Initialize the built-in button (labeled BUT) as an input:
pinMode(32, INPUT);
}
uint8 isButtonPressed() {
if (digitalRead(32) == 1) {
delay(1);
while (digitalRead(32) == 1);
return true;
}
return false;
}
void loop() {
while (Serial.available() > 0) {
// look for the next valid integer in the incoming serial stream:
delaytime = Serial.parseInt();
// look for the newline. That's the end of your
// sentence:
if (Serial.read() == '\n') {
break;
}
}
Serial.print("Using ");
Serial.print(delaytime);
Serial.println("ms delay.");
// Check if the button is pressed.
if (isButtonPressed()) {
// Trigger camera
digitalWrite(10, HIGH); // Trigger shutter release
delay(delaytime);
digitalWrite(20,HIGH); // Turn LED on
delay(5000);
digitalWrite(10, LOW); // Let off shutter release
digitalWrite(20,LOW); // Turn LED off
}
delay(100);
}
Improvements and Notes
- The setup should be better controlled, the following conditions need to be fixed:
- Start and end focus distances should be equivalent (MFD as start distance is not "fair" as it varies from lens to lens)
- Adjust start focus by using a fixed target near the camera
- Lighting conditions should be fixed, along with shutter speed
- Target (high contrast) is fixed and camera is pointing at same part of the target from lens to lens
- Focal length is common between lenses compared (if possible)
- Start and end focus distances should be equivalent (MFD as start distance is not "fair" as it varies from lens to lens)
Video
<HTML5video type="youtube" width="400" height="300" autoplay="false">gVeTLTSSKLM</HTML5video>