Monday, March 26, 2012

When a camera auto-focuses, is the current focus distance reported from the lens to the camera?

Question

The question says it all -- does the camera "know" how far the subject is from the lens, i.e. what is the current exact focus distance set at the lens?

Asked by RiMMER

Answer

Many (possibly most) modern SLR lens systems return focus setting data to the camera.

Potentially the precision of data returned could be high - something better than 1% of range would be possible and meaningful with modern systems.

However, it appears that most if not all systems use a simple gray-coded* system with perhaps 16 steps. Number of steps varies with manufacturer and even with lens model.

A Gray code is a (usually but not essentially) binary code in which only one bit changes at each position change. This means that if the position oscillates to and fro at the boundary that erroneous codes cannot be sent. In a normal binary code, where 2 or more bits may change at once, if one changing bit alters before another due to mechanical tolerances or contact bounce then completely erroneous codes may be sent in error.

Std binary code At the 3 to 4 boundary 3 bits change at once. If any of these were early or late in occurring many illegal codes could result

0 0000
1 0001
2 0010
3 0011
4 0100

Out of my head Gray-code I have purposefully NOT followed what may be a most logical sequence.
What is important is that at each step only 1 position changes state - erroneouis codes can not be caused by bounce or tolerance errors:

0000
0001
0011
0010
0110
1110
1100


A few brand specific samples - more anon:

Claim here that the Canon EF 50mm f/1.4 USM only uses a 2 bit = 4 position code. - interesting discussion with some relevance.


Minolta / Sony A mount system lenses that I have inspected use a simple grey-coded mechanical distance encoder with 4 bit / 16 position precision.


Nikon: Here is a nice Nikon discussion with specifc 16 stage gray coding information for one lens, plus some circuitry and a lot of associated material.

TC16A teleconveter modification - wity much related material - excellent.

Gray codes for an example lens:

Here a4 digit code is returned wit 1 = open circuit and 0 = contact shorted to ground. 0000 70mm
0001 75mm (Approx)
0011 81mm (Approx)
0010 85mm (Approx)
0110 94mm (Approx)
0111 101mm (Approx)
0101 109mm (Approx)
0100 117mm (Approx)
1100 126mm (Approx)
1101 135mm (Approx)
1111 145mm
1110 155mm
1010 169mm (Approx)
1011 181mm (Approx)
1001 195mm (Approx)
1000 210mm


Adding gray-coded sensors to manual Nikon lenses to allow operation with more modern bodies.
He discusses adding coding for fcal length and focus position.
The Electric Accordion - his aim is mainly "fooling" purposefully crippled low end bodies but the principles apply.


Example rotary gray code pattern. This is to gray code a knob or dial but lens focus rotation uses the same style of pattern. There are numerous different possible gray codes.

enter image description here


Excellent gray-code discussion with specific reference to len focusing.
Position encoders and the Gray code
From the above:

enter image description here


Related:

DIY Nikon lens protocol converter - upgrade old or incompatible lenses.](http://photo.net/nikon-camera-forum/00956N)

Canon gray-code patent February 2012 !!!](http://www.freepatentsonline.com/y2012/0032068.html) and PDF here - may or may not be lens related.

Answered by Russell McMahon

No comments:

Post a Comment