Che Guevara
28.07.2010, 23:51
Hi Leute,
habe seit neuestem eine Canon Eos 500D. Das Teil gefällt mir bis auf eine Sache wirklich sehr gut:
Um ein paar Aufnahmen von einem Wassertropfen (zum Zeitpunkt wenn dieser auf eine Oberfläche auftrifft) zu machen, habe ich mir ein 2m langes 2,5mm Klinckensteckerkabel besorgt und mit meinem Atmega32 ein kleines Programm geschrieben (Bascom mit Inline-Assembler), welches die Kamera auslösen soll, wenn ein Gegenstand (z.B. Wassertropfen, etc.) durch meine selbstgebaute analoge Lichtschranke (also Spannungsteiler mit Photowiederstand und ultrahelle LED), welche vom ADC (Free-Run-Mode) eingelesen wird, fällt.
Mit einer MINIMALEN Verzögerung (im µs-Bereich) erkennt der AVR einen Gegenstand, ALLERDINGS löst die Kamera dann erst viel später aus.
Beispiel: Wenn die Lichtschranke auf einer Treppe befestigt ist, welche sich 2m über dem Boden befindet, wo die Kamera platziert ist, löst der AVR sofort bei detektion eines Objekts durch die Lichtschranke die Kamera aus, welche allerdings dann erst ein Bild macht, wenn der Gegenstand auf dem Boden aufkommt. Weiß grad nicht, wie man da jetzt rechnet, allerdings ist das meiner Meinung nach schon sehr lange!?
Schätzungsweise würde ich von 300ms zwischen Detektion (auslösen der Kamera) und "Schuss" sprechen.
Mir kommt es aber so vor, als ob die Kamera schneller schiesen würde, wenn ich sie ohne Fernauslöser (selbstgebaut) auslöse.
Hier mal der Code (momentan noch nicht sehr schön)
$regfile = "m32def.dat"
$crystal = 16000000
$framesize = 80
$hwstack = 80
$swstack = 80
Admux = &B01100000
Adcsra = &B11100110
Sfior = &B00000000
Ddra.0 = 0
Ddrc.0 = 1
Ddrc.7 = 0
Ddrd.6 = 1
Ddrd.7 = 1
Porta.0 = 1
Portc.0 = 1
Portc.7 = 1
Portd.6 = 1
Portd.7 = 1
Dim Werth As Byte
Dim Fokuscnt As Word
Dim Fokusset As Bit
Enable Interrupts
Again:
in r16, adch
inc r16
ldi r17, 243
cp r16, r17
brlo picture
jmp again
Picture:
cli
sbi portc , 0
sbi portd , 6
sbi portd , 7
Waitms 500
cbi portd , 7
cbi portd , 6
cbi portc , 0
sei
jmp again
End
Portc.0 ist nur eine Led zur Kontrolle.
An Portd.6 ist der Fokus, an Portd.7 der Auslöser "angeschlossen".
Der Wert in R17 (243) ist von mir durch Probieren ermittelt worden, also der "Grundwert" des Spannungsteilers aus Photowiederstand und 3,3k Wiederstand. Das sollte hier allerdings keine Rolle spielen, da die Lichtschranke perfekt auslöst, schon bei kleinsten Objekten, allerdings gibts auch keine "Fehlzündungen" :)
Nun zum Fernauslöser:
Das Kabel mit dem 2,5mm Klinkenstecker, welches in der Kamera eingesteckt wird, habe ich auf der anderen Seite abisoliert und dann die beiden Massen (da es ein Stereo-Kabel ist) verbunden. Diese wiederum dann mit der Masse vom AVR verbunden. Dann sind da noch die anderen 2 Kabel (also die Signale). Eines ist zum Fokusieren und eines zum Auslösen.
Wenn der AVR die Kamera auslöst, wird zuerst fokusiert und unmittelbar danach (im Code in der nächsten Zeile ohne Wait-Funktion) wird ausgelöst.
(Im Prinzip fast wie in der Realität).
Nun endlich meine Frage:
Hat jemand diese Kamera oder kann aus sonstigen Gründen mir erklären, ob und wie ich das Foto früher machen kann (also Zeit zwischen abdrücken und schiessen verkürzen)? Evtl. über irgendwelche Einstellungen, z.B.:
- Pre-shot (falls die Kamera das kann, hab ich aber noch nirgend gelesen)
- Fokus-einstellungen
- Spiegeleinstellungen
- ...
Vielen Dank fürs Lesen und für die Antworten
Gruß
Chris
habe seit neuestem eine Canon Eos 500D. Das Teil gefällt mir bis auf eine Sache wirklich sehr gut:
Um ein paar Aufnahmen von einem Wassertropfen (zum Zeitpunkt wenn dieser auf eine Oberfläche auftrifft) zu machen, habe ich mir ein 2m langes 2,5mm Klinckensteckerkabel besorgt und mit meinem Atmega32 ein kleines Programm geschrieben (Bascom mit Inline-Assembler), welches die Kamera auslösen soll, wenn ein Gegenstand (z.B. Wassertropfen, etc.) durch meine selbstgebaute analoge Lichtschranke (also Spannungsteiler mit Photowiederstand und ultrahelle LED), welche vom ADC (Free-Run-Mode) eingelesen wird, fällt.
Mit einer MINIMALEN Verzögerung (im µs-Bereich) erkennt der AVR einen Gegenstand, ALLERDINGS löst die Kamera dann erst viel später aus.
Beispiel: Wenn die Lichtschranke auf einer Treppe befestigt ist, welche sich 2m über dem Boden befindet, wo die Kamera platziert ist, löst der AVR sofort bei detektion eines Objekts durch die Lichtschranke die Kamera aus, welche allerdings dann erst ein Bild macht, wenn der Gegenstand auf dem Boden aufkommt. Weiß grad nicht, wie man da jetzt rechnet, allerdings ist das meiner Meinung nach schon sehr lange!?
Schätzungsweise würde ich von 300ms zwischen Detektion (auslösen der Kamera) und "Schuss" sprechen.
Mir kommt es aber so vor, als ob die Kamera schneller schiesen würde, wenn ich sie ohne Fernauslöser (selbstgebaut) auslöse.
Hier mal der Code (momentan noch nicht sehr schön)
$regfile = "m32def.dat"
$crystal = 16000000
$framesize = 80
$hwstack = 80
$swstack = 80
Admux = &B01100000
Adcsra = &B11100110
Sfior = &B00000000
Ddra.0 = 0
Ddrc.0 = 1
Ddrc.7 = 0
Ddrd.6 = 1
Ddrd.7 = 1
Porta.0 = 1
Portc.0 = 1
Portc.7 = 1
Portd.6 = 1
Portd.7 = 1
Dim Werth As Byte
Dim Fokuscnt As Word
Dim Fokusset As Bit
Enable Interrupts
Again:
in r16, adch
inc r16
ldi r17, 243
cp r16, r17
brlo picture
jmp again
Picture:
cli
sbi portc , 0
sbi portd , 6
sbi portd , 7
Waitms 500
cbi portd , 7
cbi portd , 6
cbi portc , 0
sei
jmp again
End
Portc.0 ist nur eine Led zur Kontrolle.
An Portd.6 ist der Fokus, an Portd.7 der Auslöser "angeschlossen".
Der Wert in R17 (243) ist von mir durch Probieren ermittelt worden, also der "Grundwert" des Spannungsteilers aus Photowiederstand und 3,3k Wiederstand. Das sollte hier allerdings keine Rolle spielen, da die Lichtschranke perfekt auslöst, schon bei kleinsten Objekten, allerdings gibts auch keine "Fehlzündungen" :)
Nun zum Fernauslöser:
Das Kabel mit dem 2,5mm Klinkenstecker, welches in der Kamera eingesteckt wird, habe ich auf der anderen Seite abisoliert und dann die beiden Massen (da es ein Stereo-Kabel ist) verbunden. Diese wiederum dann mit der Masse vom AVR verbunden. Dann sind da noch die anderen 2 Kabel (also die Signale). Eines ist zum Fokusieren und eines zum Auslösen.
Wenn der AVR die Kamera auslöst, wird zuerst fokusiert und unmittelbar danach (im Code in der nächsten Zeile ohne Wait-Funktion) wird ausgelöst.
(Im Prinzip fast wie in der Realität).
Nun endlich meine Frage:
Hat jemand diese Kamera oder kann aus sonstigen Gründen mir erklären, ob und wie ich das Foto früher machen kann (also Zeit zwischen abdrücken und schiessen verkürzen)? Evtl. über irgendwelche Einstellungen, z.B.:
- Pre-shot (falls die Kamera das kann, hab ich aber noch nirgend gelesen)
- Fokus-einstellungen
- Spiegeleinstellungen
- ...
Vielen Dank fürs Lesen und für die Antworten
Gruß
Chris