• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • 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 ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs März 2024.
    Thema: "Arbeitsmittel"

    Nur noch bis zum 31.03.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Frohe Ostern!

    Wir wünschen allen DSLR-Forum Nutzern, ihren Familien und Freunden sowie unseren Sponsoren und Partnern und deren Familien und Freunden ein frohes Osterfest.

    Euer DSLR-Forum Team!
WERBUNG

Canon-EOS-Protokoll

Kurzes update: das Delay ist 30% kürzer, zusätzlich wird jetzt 2us gewartet bevor DCL für die Auswertung gesampelt wird.

In meinem Sigma steckt ein EIS336C mit grossem Sigma Label und zwei LB1833 Motortreiber. Ein Softwareupdate wäre natürlich schicker gewesen. :)
 
Das Delay liegt jetzt bei unter 2us von der fallenden Flanke der CLK aus gemessen. Zumindest in allen Fällen die ich gesehen hab...

Da das kurze Delay zu Problemen führen kann wenn die Flanken auf der Datenleitung wesentlich flacher sind als die der CLK empfehle ich für den Einsatz weiterhin die Version vom 31.12.2010.

nu is aber Schluß :)
 
Da das kurze Delay zu Problemen führen kann wenn die Flanken auf der Datenleitung wesentlich flacher sind als die der CLK empfehle ich für den Einsatz weiterhin die Version vom 31.12.2010.
Das verstehe ich jetzt nicht, von welchen Problemen redest du hier? Ich hab das Delay nun rein rechnerisch auf 0,3µs runter gebracht, mit externem Quarz nochmal ein Faktor 2. Für die 74kHz Clock Objektive ist das egal, aber die gibt es auch in 500kHz und da wird es schon kritisch.

Was soll eigentlich die Zeile:
.org 0x0012
ohne dass ein Argument in den Interrupt geladen wird?
 
Das verstehe ich jetzt nicht, von welchen Problemen redest du hier?
Wir haben zwei relevante Leitungen, Daten und Clock. Eigentlich wird auf der fallenden Flanke der Clock der Pegel auf der Datenleitung (nicht) geändert und die steigenden Flanke signalisiert dem Slave er möge die Datenleitung bitte jetzt samplen. D.h. eigentlich ist der Inhalt der Datenleitung bei Clock low nicht wirklich definiert, wichtig ist der Pegel bei steigender Flanke. In der Praxis liegt der richtige Pegel der Datenleitung innerhalb von ein paar dutzend ns nach der fallenden Flanke der Clock an, wenn alles ok ist.. Nur weiß niemand, ob das wirklich alle Bodys in jeder Situation so handhaben, erst recht nicht wenn Bauelemente altern, sowieso eine Macke haben oder irgendwo Kontaktprobleme vorliegen. Letztlich leben wir ja in einer analogen Welt in der sich Pegel mit endlicher, u.U. variabler Geschwindigkeit ändern.

In meinem Code vom 31.12 reicht die PCINT ISR den Pegel der Datenleitung weiter wenn er sich ändert und unabhängig davon wird die Datenleitung erst nach 2+us nach der fallenden Flanke der Clock zur internen Auswertung gesampelt um (wenn auch unwahrscheinlichen) Timingproblemen aus dem Weg zu gehen. Wenn die Zeit da ist leg ich sie gerne an um auf der sicheren Seite zu sein.

Der neue Code sampelt ohne Rücksicht auf Verluste weniger als 1 us nach der fallenden Clock die Datenleitung zum weiterreichen. Ist schneller, könnte aber durchaus zu Problemen führen. 1 falsches Bit unter ein paar Millionen macht u.U. halt den Absturz alle paar Tage aus. Klingt paranoid, isses wahrscheinlich auch (Pullups, Kerko,...), aber auf diese Tour hab ich komplexere Dinge gebaut die über Monate am Stück fehlerfrei laufen.

Ich hab das Delay nun rein rechnerisch auf 0,3µs runter gebracht, mit externem Quarz nochmal ein Faktor 2.
Auf Flanken warten ist natürlich auch eine Option.

Für die 74kHz Clock Objektive ist das egal, aber die gibt es auch in 500kHz und da wird es schon kritisch.
Mir gehts halt nur um den möglichst störungsfreien Betrieb eines alten Sigmas.

Was soll eigentlich die Zeile:
.org 0x0012
ohne dass ein Argument in den Interrupt geladen wird?
Der Code soll wirklich erst hinter der Sprungtabelle anfangen. Eigentlich könnte man die Sprungtabelle auch mit RETI vollschreiben, aber das halt ich für übertrieben :rolleyes:
 
Hallo,

Es tut mir leid für mein Deutsch. Ich kann nicht mehr Deutsch sprechen, damit ich Google Translate Verwendung hatte. Ich hoffe, es macht Sinn :)

Ich fing an, Reverse Engineering der Canon-Protokoll vor einer Weile mit einem Logik-Analysator. Ich habe nur auf das Schreiben der Hex-Werte. Nach dem Auffinden und Lesen in diesem Forum heute bin ich froh, dass ich nicht versuchen, herauszufinden, was die Hex-Werte ment. Es ist viel komplizierter, als ich dachte, es wäre.

Herzlichen Glückwunsch an Sie alle für die Arbeit, die Sie getan haben, erstaunlich.

Mein Projekt.

Ich möchte meine 400D zu meinem Teleskop konzentrieren. Ich baute ein Auszug, dass vom PC gesteuert wird. Der Auszug wird ein PIC mit dem PC Befehle übersetzen und steuert die Bewegung der Okularauszug Motor.

Mein Gedanke ist, die dem PIC, um das Teleskop mit den Befehlen aus dem 400D Fokus Programm. Make my Teleskop einer einfachen Linse. (manuell Fokussieren eines Teleskops ist sehr mühsam).

Schwerpunkt in
Schwerpunkt aus
Unendlichkeit Endanschlag
Null Endanschlag

Würden die 400D müssen alle anderen Befehle, um die Scharfstellung des Teleskops oder könnte ich einfach beliebige Werte aus einem Standard-Objektiv, eine Menge der 400D die Fragen (zB Objektivtyp, Blende, etc.) zu beantworten?

Gibt es eine Liste mit allen Standard-Protokoll Canon Fragen und Antworten, was ich brauchen würde?

Sorry für mein Deutsch.

Vielen Dank,

Markus
 
Do you seriously expect us to decipher that Google translate gibberish? I thought people understood by now that it can't be used to have conversations in German.
 
Leider funktioniert es zwischen meinem Vater und ich (ich bin in Australien, er ist in Deutschland). Also dachte ich, es ist einen Versuch wert.

Ich es auch geschafft, alle 33 Seiten gelesen Forum, übersetzt.

Versuch nicht schaden.

Entschuldigen für die Unannehmlichkeiten.

Markus
 
Leider funktioniert es zwischen meinem Vater und ich (ich bin in Australien, er ist in Deutschland). Also dachte ich, es ist einen Versuch wert.

Ich es auch geschafft, alle 33 Seiten gelesen Forum, übersetzt.

Versuch nicht schaden.

Entschuldigen für die Unannehmlichkeiten.

Markus

no problem, i understand
what you want, i think, better you use life view and scripting on a windows pc, with a usb/rs232 port you can command your focus on the telescope an with seen on pc screen you can see if in focus, wenn the green frame is comming, so i think, really untestet....
 
Leider funktioniert es zwischen meinem Vater und ich (ich bin in Australien, er ist in Deutschland). Also dachte ich, es ist einen Versuch wert.

Ich es auch geschafft, alle 33 Seiten gelesen Forum, übersetzt.

Versuch nicht schaden.

Entschuldigen für die Unannehmlichkeiten.

Markus

Post your original text in english - many people in this thread will understand it ;)
 
Post your original text in english - many people in this thread will understand it ;)

@bionet: and some people should be more polite or just keep quiet.

@kisa: your translation attempts are a lot better than the behaviour of this person. Nevertheless, use English. It will be easier to comprehend.
 
Schwerpunkt in
Schwerpunkt aus
Unendlichkeit Endanschlag
Null Endanschlag

I never tried to drive a lens without camera so I can only give you the basic commands:

68 followed by signed int16 is move AF in number of steps
5 sends lens to infinity
6 sends lens to near

Perhaps you need an initialization command (10 0 10 0 128 10 157 3 0 0 0 0 0) to start the communication and probably a 25 before the 68 to activate the power for the drive.
 
Thank you for your replies and suggestions.

In case it did not come out correct in the translation. Congratulations to you all on the work you have done with the Canon protocol, amazing work.

Sorry again for the bad translation (not that I could tell) :confused:
I was only trying to be polite.
It is frustrating for me as I am Deutsch (geboren Badreichenhal), Deutsch Mutter und Vater. But having lived in Australia for 38 years, meine Deutsch is schlecht :(

@jar: I have used the PC and 400D to focus before, but it takes a very long time to get it perfect. Sometimes up to an hour and it has to be re-focused everytime the telescope is moved to a different star. Particularly for photos.

I am hoping that I can program the PIC in my telescope focuser to make my Canon 400D think it is a lens and focus it automatically.

@Night Shot: Thanks for the commands, though I think my bad Google Translate may have come out backwards. I would like the Camera to control my telescope as if it were a lens.

I could program the PIC in the focuser to accept the commands (68+int, 5 and 6) and move the telscope focuser the correct way. But I will need to know what commands the 400D needs back to continue.

The big question (I should have asked this first :rolleyes:):-
Is my understanding of the communication between the camera and lens correct? Does the camera move the lens, inspect the image to determine if it is in focus, if not it will move the lens more and check again, then keep doing this until it is in focus.

Obviously there is a lot more intelligence/calculation in how the camera decides to move the lens, but is that pretty much all it does?

I hope so or I think making my telescope into a lens might not be possilble.

Thank again for your understanding,

Markus
 
Is my understanding of the communication between the camera and lens correct? Does the camera move the lens, inspect the image to determine if it is in focus, if not it will move the lens more and check again, then keep doing this until it is in focus.
In principle yes, but it is not the way it should work. The camera calculates the phase difference on its AF module, asks the parameters from the lens how to convert this into motor steps and then sends the step command. If the result after moving is not satisfactory the camera does it again.

So for your project you would have to determine all these values of your telescope and send it to the camera. Plus, you have to use the correct handshake. There are several status bits and commands which tell the camera what the lens is actually doing at the moment and the camera needs this information.

My advice, use a camera with life view, this feature was invented for projects like yours.
 
I now understand what "jar" was getting at when he mentioned Live View.

I just had a read of what Live View can do. I does look like it will make focusing a lot easier than previous. Unfortunately my 400D doesn't have Live View (starts with the 450D). I would also like to achieve auto focus on the telescope if possible.

Back to using the telescope as a lens.

Am I correct in saying there is a large number of phase values that equate to a large number of step values the camera can pass to the lens. If so I assume it uses this method so focusing can occur as quickly as possible. With a telescope there is no rush to focus. 10 seconds to focus a telescope would be fine.

So would it be possible to just use any set of AF parameters from a lens for the telescope to send to the Camera so it gets a reply to it's phase question? Then map out the range of values the camera returns and divide them into say, 4 (just for example). then program the focuser PIC so if it receives (example values):-

00-3F = move focuser forward 1 step (minimum)
40-7F = move focuser forward 10 steps
80-BF = move focuser backward 1 step (minimum)
C0-FF = move focuser backward 10 steps

Once the handshaking, status bits and commands have been determined, programming the PIC to provide the correct answer to the camera should not be too hard.

Obviously knowing what all the commands (camera and lens) to respond with is not so simple; hopefully this forum can help in that area :D

Does this sound feasible?
 
Yes, that should work. Use an old lens as command reference, because this will limit the instructions the camera sends to you to an absolute minimum. The 50/1,8 is ideal for that.

For a good phase signal on the AF module you need (depending on your telescope) at least a star of 3rd magnitude. Focusing on faint stars is not possible.
 
Excellent.

Could someone please tell me where can I get the phase values for the 50/1,8 as well as the basic commands I'll need to acknowledge and respond to the camera?

@Night Shot: I recall reading one of your messages showing concerns about the 9th bit in the data string. I recall seeing that when I was capturing the data myself. What did you determine was the reason for the extra bit and how did you work around it when working with the standard 8 bit protocol?
 
My advice, buy a broken 50/1,8 (there are plenty) and let the electronic do all the work and only jump into the communication where the relevant data is send.
Or a total different approach: This lens counts the motor steps by a chopping wheel in the gear box. Take these pulses and and drive your telescope.

Think of the 9th bit as a stop bit.
 
Thanks for the advice NightShot.

Getting a broken 50 isn't that easy and I already have everything here to build a focuser to communicate with the camera, with the exception of the command words between the lens and camera.

I would also prefer to keep the circuity simple so if I do manage to get it working I can easily replicate it across a number of telescopes and not require a lens for each one.

Are you able to help me with the basic commands used between the 50/1,8 and the camera and the range of phase values the 50/1,8 uses?

If you'd prefer not to share :(, could you please tell me the communication sequence:-

Camera -lens: what lens are you (16 bit word)
lens - camera: i am a xxxx (16 bit word)
camera - lens: what is your af phase value (8 bit word)
etc

Then I can work out the exact values based on one of my lenses using my logic analyser (still a lot of work though).

I would really appreciate your help, as it would probably same me a couple of years of part time work.

Thanks,

Markus
 
@kisa:

I still don't get your point. What do you want to use the telescope for? I think you will have to focus only once when you set up your optical arrangement, so there is no need at all for AF.
 
WERBUNG
Zurück
Oben Unten