• Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs September 2025.
    Thema: "Straßenfotografie s/w"

    Nur noch bis zum 30.09.2025 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Ich freue mich bekannt geben zu können, dass das DSLR-Forum einen neuen Aktionspartner gewinnen konnte.

    Saal Digital bietet Fotoprodukte in HighEnd-Qualität.
    Alle Informationen dazu gibt es demnächst hier.
  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
WERBUNG

Canon-EOS-Protokoll

There must be also somewhere the definition of the maximal number of steps. On some lenses, you can reach quickly the infinite, and on others, you need more steps.
Here's a short list:
http://redmodz.com/lensmounts/59-red-birger-lens-mount-unofficial-mini-faq-and-thread-compilation
But why has the camera to know this?

I still don't know how the lens says to body that end position is reached...
If lens status (144) is 0, the AF is not moving any more so end switch was hit.

Concerning 224 function, i find out that the respons is 2 bytes and not 1 16bits byte.
* The first byte gives the focal length... !!!! I have no lens over 135mm :D but i can imagine that over 255mm it will give 0xFF... don't know.
No, no and no.

for function 194, wich works only with pure usm lenses) and modify focusing able.
194 works on 70-300IS and this is a micro USM lens.
 
Concerning 224 function :D , i still have bizarre results with the 24-70 2,8... because the value goes sometimes upper, sometimes lower with the focusing distance, and the 35-135 goes up if focus infinite and down if focus closer... :confused:

And normally, the focusing distance is the same even if we are zooming, no ?
 
194 works on 70-300IS and this is a micro USM lens.

( I saw my mistake for 224... ;) )

So maybe we can have 2 type of micro-usm:
- motor is just micro-usm instead of classical one. At manual focus, the motor is totally uncoupled from the focusing ring
- there is a distance scale on some micro-usm that enable 194 function.
Do you have the 7th bit of 128 call of the 70-300 is ?
 
So, also mein Linsensimulator ist fertig. War doch mehr Arbeit als gedacht, da man fast die ganze Objektivsoftware nachbauen muss. Ich kann nun jede beliebige Anfrage von der Kamera mit einem Wert beantworten wie mir es gerade passt. Dabei zeigt sich, dass 8 Werte in die Berechnung der zu fahrenden Motorschritte eingehen. Das sind jetzt nicht gerade wenig Freiheitsgrade um die Formel der Berechnung zu ermitteln, daher hab ich mich erstmal auf den Kernbereich gestürzt.

Was hab ich nun gemacht? Erstmal hab ich den USM Motor von meinem 24-105 deaktiviert, die Kamera auf ein Stativ gestellt und auf ein Testtarget gerichtet. Jedes mal wenn ich nun auf meinen Fernauslöser drücke berechnet die Kamera die zu fahrenden Motorschritte und schickt sie zum Objektiv, das sich aber nicht bewegt da der Motor ja stromlos ist. Ich schicke nun die zu den verschiedenen Brennweiten gehörigen Objektivparameter der Kamera und die berechnet eine entsprechend andere Zahl an Motorschritten die ich abfange. Die Phasendifferenz auf dem AF Modul bleibt immer absolut konstant da sich nichts bewegt, nur das Rechenergebnis der Kamera ändert sich. Das Ergebnis hab ich in dem angehängten Graphen angehängt. Man sieht sehr schön, wie im Weitwinkelbereich das Signal vom AF Modul "verstärkt" werden muss, was die Stellgenauigkeit entsprechend reduziert.

Ein großes Problem ist nun, dass ich nicht direkt an den Messwert der Phasendifferenz komme und das macht es kompliziert. Interessant ist nun, dass bei Verdoppelung der Brennweite sich die Zahl der Motorschritte viertelt. Mit anderen Worten, bei Verdoppelung der Brennweite vervierfacht sich die Phasendifferenz auf dem AF Modul. Das ist bei dem Objektiv kein Zufall, das beobachtet man auch beim Einsatz von Konvertern.

Kann mir einer diesen Zusammenhang erklären? Ich hätte erwartet, dass mit doppelter Brennweite sich auch die Basislänge vom AF verdoppelt und damit die Phasendifferenz. Woher kommt der weitere Faktor 2?
 
Sorry Nightshot, i'm not sure i understood all, but you count the numbers of steps to reach a target to different focal lengths ?
 
Kann mir einer diesen Zusammenhang erklären? Ich hätte erwartet, dass mit doppelter Brennweite sich auch die Basislänge vom AF verdoppelt und damit die Phasendifferenz. Woher kommt der weitere Faktor 2?

Ich hätte folgende Idee: Bei der doppelten Brennweite verdoppelt sich die Basislänge des AF - und die Sensoren "sehen" auch eine um den Faktor 2 höhere Winkelauflösung. Der Sensor trifft IMHO den jeweiligen Punkt genauer.
Ich hoffe es ist halbwegs verständlich.

Klaus
 
you count the numbers of steps to reach a target to different focal lengths ?
I fixed the optical phase difference on the AF module and send different lens parameters for different focal lengths to the camera. I looked for the calculated motor steps commanded by the camera.

Bei der doppelten Brennweite verdoppelt sich die Basislänge des AF - und die Sensoren "sehen" auch eine um den Faktor 2 höhere Winkelauflösung.
In die Richtung ging auch meine Vermutung. Bei den Meßsucherkameras wird für die effektive Basislänge auch die Vergrößerung des Suchers auf multipliziert. Das wäre hier ähnlich. Trotzdem will mir das nicht so richtig einleuchten.
 
Hi Nightshot,

wann war für Dich eigentlich klar, dass die Kamera die Motorschritte berechnet? Und zwar explizit die Schritte.
Wie kommst Du da drauf? Wäre es nicht möglich, dass die Werte die Du für die Motorschritte hältst eigentlich von der Kamera "korrigierte" Phasenverschiebungswerte sind.
 
Zuletzt bearbeitet:
Hi Nightshot,

wann war für Dich eigentlich klar, dass die Kamera die Motorschritte berechnet? Und zwar explizit die Schritte.
Wie kommst Du da drauf? Wäre es nicht möglich, dass die Werte die Du für die Motorschritte hältst eigentlich von der Kamera "korrigierte" Phasenverschiebungswerte sind.

wenn ich Cam wäre würde ich auch rechnen, eine Funktion ist leicher abzuspeichern als eine Riesentabelle für alle Linsen, so groß ist der interne Speicher dann auch heute doch nicht.

(kleine Anekdote, 1979 hatte ich ein kleines Lohnsteuerprogramm in dne PET gehackt, passte mit den 3 Formeln locker in 7 kB, eine vollständige Lohnsteuertabelle hätte ich mit Sicherheit nicht reinbekommen, vom Tippaufwand mal ganz zu schweigen)

Die Funktion sieht auch schön quadratisch aus, auch leicht zu rechnen ;)
 
Vom Zerlegen kenne ich die optischen Encoder auf dem USM. Ich weiß also wie viele Schritte das Objektiv von min zu max fahren kann. Das stimmt mit dem Wert überein den ich vom Objektiv mit dem Befehl 192 auslesen kann und der ändert sich genau um den Wert, den ich mit dem make step Befehl 68 kommandiere.

So einfach ist die Berechnung sicher auch nicht, da ist ein log beteiligt bzw. in der umgekehrten Richtung hat die Kamera eine Potenz zu berechnen. Die Basis darf aber frei gewählt werden. Gibt es eine Basis mit der der Prozessor schneller rechnen kann oder ist das egal?
 
Gibt es eine Basis mit der der Prozessor schneller rechnen kann oder ist das egal?

klar Basis2 ist einfach nur ein shift links

eine kleine logtabelle ist möglicherweise auch noch unterzubringen, hab ich schon mal für Sinus gemacht, man muss ja nicht beliebig klein auflösen

z.b. eine Sinustabelle für 1° deg Schritte braucht vermutlich keine 360 Werte
 
Vom Zerlegen kenne ich die optischen Encoder auf dem USM. Ich weiß also wie viele Schritte das Objektiv von min zu max fahren kann. Das stimmt mit dem Wert überein den ich vom Objektiv mit dem Befehl 192 auslesen kann und der ändert sich genau um den Wert, den ich mit dem make step Befehl 68 kommandiere.

...würde doch dann bedeuten, dass alle Canon-Tauglichen Linsen entweder die gleichen Motoren, optischen Encoder..... haben müssten, oder die Linsen der Fremdherstellter rechnen die Befehle intern um, um nicht eventuell irgendwelche Canon-Patene zu verletzen.
 
Nein, gleiche Encoder oder Motoren sind nicht notwendig und werden auch nicht verbaut. Die Unterschiede gehen direkt in die AF Parameter ein die das Objektiv schickt. Damit berechnet die Kamera wieder die richtige Anzahl an Schritten. Die Umrechnungsformel versuche ich gerade raus zu finden nur leider fehlt mir der direkte Zugang zum wichtigen Ausgangsparameter, der Phasendifferenz. So bleibt mir nichts anderes über, als mich über Proportionalitäten ran zu tasten.
 
Hi,

did you find out the link between 192, 224, 232 and 234 functions ?

There is something not clear with the 192 function....

When i call it without anything, the answer is 0
The after a 194 call, i have something like a "half" answer... linked to the focusing position (i though that 192 answer is a 16bit answer, but it act there like a 8 bits answer...)

Function 6 blocks the focusing ring close to macro position on the 35-135 usm... acting on af so...
After AF order, 192 is like a step counter....

There are a lot of functions wich are not clear to me... :
5
6
7
14
15 (i think like communication init during focusing.
178
196 (did i understood what you sid nightshot ? It's the definition of the focusing depth ?)
224 (fucusing distance = log10(value*nb of steps ?)
228
232
234
248 how it is acting on af 5,6 ensor ?
249
250 how it is acting on af 2,8 ensor ?

Not easy....

But thanks for informations you have given ;)
 
did you find out the link between 192, 224, 232 and 234 functions ?
Not jet. You have to add 228, 248, 250 and 252 to this list too.

When i call it without anything, the answer is 0
The after a 194 call, i have something like a "half" answer... linked to the focusing position (i though that 192 answer is a 16bit answer, but it act there like a 8 bits answer...)
The answer is signed 16bit, never saw something different.

There are a lot of functions wich are not clear to me... :
5 AF goto max
6 AF goto min
7 some init or reset comand
14 see 7
15 (i think like communication init during focusing. see 7
178 only used during old protocol but no idea
196 some kind of data table entry
224 (fucusing distance = log10(value*nb of steps ?) a bit more complicated :p
228
232
234
248 how it is acting on af 5,6 ensor ? it acts like a phase offset
249 never seen
250 how it is acting on af 2,8 ensor ?
 
I don't know if this can be interesting, i've made a loop and read the answers, and mark what is acting on the respons (and also all mini and maxi focusing orders), for all values from 0 to 255.
 
Tja, ich hab lange auf das falsche Pferd gesetzt und mich gewundert warum alles so kompliziert ist. Canon war aber so nett und hat ja nun drei 50mm Objektive mit nahezu identischer Naheinstellgrenze im Programm die auch noch zu unterschiedlichen Zeiten designed wurden. Damit konnte ich nun die meisten Parameter zuordnen.

[228] Lens extension response factor: Der elementare Wert zur Umrechnung Phasendifferenz nach Motorschritten. Der Wert ist abhängig von der Gewindesteigung der Fokuslinse und wie fein die Motorschritte unterteilt sind. Mit anderen Worten er entscheidet über die Stellgenauigkeit vom AF System.

[224] Lens extension response correction factor: Bei Zoomlinsen verändert sich der Umrechnungsfaktor ganz entscheidend mit der Brennweite und auch die Stellung der Fokuslinse legt noch ein Schäufelchen oben drauf. 228 ist der Mittelwert für das Objektiv und 224 macht dann die Plus-Minus Korrektur für den einstellbaren Bereich. Man könnte den Wert auch gleich mit 228 zusammen legen, wird aber nicht gemacht. Entweder um abwärtskompatibel zu bleiben oder um sicher zu sein, dass bei super Megazoomobjektiven nicht der Wertebereich überschritten wird.

[248] bis [254]: Best focus compensation amount: Der Objektivjustagewert. Das ist der einzige Wert, der linear in die Berechnung eingeht. Wird im Moment von mir als klassischem Phasendifferenzoffsetwert interpretiert. Die genaue Zuordnung muss noch erfolgen, angeblich gibt es sogar einen eigenen IR Justagewert für das rote Hilfslicht vom Blitz.

[232] und [234]: Noch keine echte Ahnung, den maximum defocus quantity Wert hab ich aber auch noch nicht gefunden, eventuell ist es ja auch der. Warum der aber in die Berechnung eingehen sollte ist mir noch nicht ganz klar.
 
Glüchwunsch zu den neuen Erkenntnissen.
Ich denke du hast einen entscheiden Vorteil den anderen gegenüber: eine große Anzahl von Linsen und natürlich das Kännchen Ehrgeiz.
[248] bis [254]: Best focus compensation amount
Wie soll man das jetzt verstehen. Zu Anfang warst du der Meinung 248 und 250 seien die Justagewerte für f/2.8 und f/5.6 nun hast du 7 Werte die den Justagewert ergeben?
 
Also 248 ist recht sicher der 5,6er Justagewert, da der immer abgefragt wird. Dann wird der 250 oder 252 Wert zusätzlich bei 2,8 angefordert. Beim 50/1,8 will die 5D aber gleich 248, 252, 250, 254 in einer Reihe wissen. Wo die Unterscheidung Area AF und Non Area AF getroffen wird ist auch noch nicht so ganz klar. Ob der Kreuzsensor der 40D einen eigenen Justagewert spendiert bekommen hat und welche Objektive den können muss man auch noch sehen.
 
WERBUNG
Zurück
Oben Unten