Hallo zusammen, ein Freund besitzt eine Canon EOS 7D Kamera. Nun möchte er einen alten Blitz als externen Blitz verwenden. Die Kamera verfügt über eine Speedlight Funktion, sprich beim fotografieren wird ein Infrarot Signal beim blitzen gesendet. Leider ist über das E-TTL 2 Protokoll sehr wenig veröffentlicht. Daher habe ich das IR Signal über einen TSOP 1738 Empfänger mit dem Oszilloskop gemessen (siehe Anhang). Hinweis: Ich möchte das Signal nicht auf jedes Bit sondern nur auf Signal vorhanden oder nicht vorhanden überprüfen, Blitz auslösen oder nicht. Umsetzung ---------- Hardware: Ich möchte einen Atmega8 verwenden. Software: Variante 1: - erste fallende Flanke löst einen Interrupt aus - in der ISR wird der externe Interrupt ausgeschaltet und ein Timer gestartet - nach 15 ms wird der externe Interrupt wieder freigegeben und für 4ms auf fallende Flanken kontrolliert , wenn eine Flanke kommt -> Blitz auslösen. Das Problem ist nur, wenn ein Störimpuls kommt ist der Mikrocontroller für 15 ms blockiert und kann kein Signal mehr verarbeiten. Variante 2: - mit einem festen Takt das Signal nach der ersten fallenden Flanke abtasten. Wenn während der 15ms Pause mehr als 5 fallende Flanken sind -> kein Signal Wie würdet ihr das Signal auswerten wo seht ihr Probleme? Für Tipps wäre ich euch sehr dankbar.
Sind die hier dargestellten 4 Pulse auf der rechten Seite auch wirklich nur 4 Pulse oder steckt da eventuell mehr dahinter? Zeig mal ne höhere zeitliche Auflösung. Gruß Olli
Blitzt^WSteuert die 7D wirklich mit IR? Bei den Vorgängern lief das über den ganz normalen(tm) Blitz/Reflektor. Aber unabhängig davon: Ein einfaches Zählen der Impulse wie in [1] funktioniert (zumindest mit den Vorgängermodellen) einwandfrei. Einzig wenn jemand anders noch da ist er auch rumplitzt dann gibts unerwünschte Auslösungen. HTH [1] http://www.heise.de/ct/artikel/Auf-den-zweiten-Blitz-289892.html
Danke für eure schnellen Antworten. Ich habe das Signal nocheinmal mit einer höheren Auflösung gemessen (siehe Anhang). Hinweise: "gesamt" zeigt das komplette Signal von einem Blitz bei 10ms/Div Die Bilder 1 bis 4 sind als zusammenhängend zu betrachten, allerdings fehlt zwischen 2 und 3 ein Bild da darauf kein Flankenwechsel ist, sprich zwischen 2 und 3 sind noch 10 ms Pause dazwischen. Da die erste low Flanke die kürzeste Einheit darstellt (siehe Bild "ein bit") denke ich, dass 100us einem Bit entsprechen. Was mich ein wenig verwundert, ist die Tatsache, dass mehrere Messungen zum Teil unterschiedliche Signale zur Folge hatten. Was immer gleich blieb war Bild 1 und 2. Danach kam es vor, dass der 3. Block varrierte. Daher denke ich die Auswertung sollte sinnvollerweise auf Bild 1 und 2 beschränkt werden. @g457: Leider sieht man die Schaltung im C't Artikel nicht. Klingt aber nach einem analogen Aufbau. Ich möchte gerne mit dem Atmega8 einwenig "spielen". Es müsste sich um ein IR Signal handeln.Siehe Link. (http://www.tauchen-blog.de/fotografie/e-ttl-ii-blitzkabelverlaengerung-canon-oc-e3-entfesselt-blitzen/) Gedanke: Wenn ich einen Timer mit der Hälfte eines Bits (50us) takte, dann könnte ich das Signal mit einem hinterlegten Vergleichswert prüfen. Legt man den Vergleichswert in das EPROM und nutzt einen Zeiger um die Werte aufzurufen? Muss gestehen, in der Richtung muss ich mich erst noch schlau machen. Danke für eure Hilfe.
Nachtrag: Bild 1 bis 4 sind mit 1ms/Div aufgelöst.
> Leider sieht man die Schaltung im C't Artikel nicht. ja, gut versteckt - man muss sich auf den erwähnten 'Projektseiten' durchclickern [1] :-) > Klingt aber nach einem analogen Aufbau. Digitaler 2-Bit-Zähler mit 2 Flop-Flips mit Reset. Zu den Bildern: Das könnten die Gruppen sein, die da adressiert werden. Früher(tm) sah das etwa so aus [2]. HTH [1] http://www.heise.de/ct/projekte/Tochterblitz-284165.html [2] http://130.149.162.240:8080/dforum/micha67/ettl/
> Zu den Bildern: Das könnten die Gruppen sein, die da adressiert werden.
..bzw. die Übermittlung der gewünschten Leistung.
</Ingrid>
g457 schrieb: >> Zu den Bildern: Das könnten die Gruppen sein, die da adressiert werden. > ..bzw. die Übermittlung der gewünschten Leistung. ...oder sogar noch mehr. SONY uebermittelt meines Wissens nach Blende, Verschlusszeit, Brennweite und Blitzmodus. Volker
Volker Schulz schrieb: > ...oder sogar noch mehr. SONY uebermittelt meines Wissens nach Blende, > Verschlusszeit, Brennweite und Blitzmodus. Das ist schon beeindruckend welche Informationsmengen für einen Blitz Übertragen werden. Dachte bislang immer ein Blitz blitzt halt und das wars :) Ich möchte die Umsetzung nach wie vor mit einem Atmega8 machen und nur das Signal auf vorhanden und nicht auf Verschlusszeit usw. überprüfen. Allerdings bereitet mir die softwaremäßige Umsetung noch Kopfzerbrechen. Ich habe in der Richtung leider noch nicht so viel Erfahrung was der einfachste Weg ist. Für Ansätze wäre ich dankbar.
Wie sieht deine Schaltung aus? Photodiode an ADC? Ich würde es vermutlich mit dem Komparator machen und dann die Zeiten und Anzahl der fallenden Flanken messen.
Ich dachte er an einen TSOP 1738 (die Messungen habe ich am Ausgang gemacht) an einen Atmega8 Eingang mit ext Interrupt, z.B. an PD2. Welche Vorteile bietet ein Komparator?
Martin schrieb: > Ich dachte er an einen TSOP 1738 (die Messungen habe ich am Ausgang > gemacht) an einen Atmega8 Eingang mit ext Interrupt, z.B. an PD2. Das wird nicht funzen, da der TSOP 1738 ein mit 38 kHz moduliertes IR-Signal erwartet. Du hast aber IMHO kein mit 38 kHz moduliertes IR-Signal. > Welche Vorteile bietet ein Komparator? Der Komparator ist für analoge Vergleiche gedacht. Wenn du eine Schaltung machst die z.B. über einen Schmitt-Trigger ein TTL-Signal aus deinem "Blitzsignal" macht dann ist es natürlich einfacher mit einem Pin-Change Interrupt zu arbeiten.
Timmo H. schrieb: > Das wird nicht funzen, da der TSOP 1738 ein mit 38 kHz moduliertes > IR-Signal erwartet. Du hast aber IMHO kein mit 38 kHz moduliertes > IR-Signal. Blöde Frage, aber wenn ich doch keinen Wert auf das eigentliche Datensignal lege, sondern nur erkennen will ob ein Sagnal kommt, dann kann ich doch den TSOP 1738 nehmen. Die Messungen zeigen ja einen "Blitz Ausschlag". Oder liege ich da falsch? Timmo H. schrieb: > Der Komparator ist für analoge Vergleiche gedacht. Wenn du eine > Schaltung machst die z.B. über einen Schmitt-Trigger ein TTL-Signal aus > deinem "Blitzsignal" macht dann ist es natürlich einfacher mit einem > Pin-Change Interrupt zu arbeiten. Okay, einfacher ist es mit TTL Pegel. Darum werd ich bei dem Projekt erstmal dem Komparator aus dem Weg gehen :)
Martin schrieb: > Volker Schulz schrieb: >> ...oder sogar noch mehr. SONY uebermittelt meines Wissens nach Blende, >> Verschlusszeit, Brennweite und Blitzmodus. > > Das ist schon beeindruckend welche Informationsmengen für einen Blitz > Übertragen werden. Dachte bislang immer ein Blitz blitzt halt und das > wars :) Schon seit den 60er Jahren gibt es Blitzgeraete, die die Blitzdauer automatisch (nach [manuell] eingestellter Blende und Filmempfindlichkeit) begrenzen... Quelle: http://de.wikipedia.org/wiki/Computerblitz Heute gibt es ja noch so Spaesschen wie Zoom-Reflektoren. Wenn Du aber gar keinen Wert auf die ganze Datenuebertragung legst, warum benutzt Du dann nicht einfach den schwachen internen Blitz um den anderen auszuloesen? Volker
hier kannst du mal etwas smökern http://130.149.162.240:8080/dforum/micha67/ettl/ http://www.dslr-forum.de/showthread.php?t=734693
Entschuldigung für die lange Abstinenz. Danke für die lesenswerten Links. Ich habe die Schaltung mal auf dem Steckbrett zusammengesteckt. Sie besteht aus dem TSOP 1738 als Empfänger und ist am Atmega8 an PORT PD2 (INT0) angeschlossen. Der externe Blitz wird über einen Optokoppler CNY17-4 am Atmega8 PORT PB0 angesteuert. Da der Strom nicht ausreichend für die Optokopplerdiode war hab ich noch einen Transistor BC547 als Treiber an PB0 vorgeschalten. Im Programm wird einfach bei einer fallenden Flanke INT0 ausgelöst und PB0 kurz auf high geschalten. Funktioniert, aber der Atmega8 arbeitet im Moment eigentlich nur als Inverter zwischen der fallenden Flanke vom Empfänger und einer steigenden Flanke am Blitz ;) Da der Blitz bei jeder Störung z.B. von der Leuchtstofflampe ausgelöst wird, bin ich wieder bei meinem ursprünglichen Problem gelandet - die Auswertung des IR Signals. Wie gesagt, es kommt nur darauf an das Signal als solches zu erkennen. Ich könnte doch bei der ersten fallenden Flanke den Interrupt für 14ms ausschalten (siehe Bild 1 und 2) und ab da die Impulse für 4ms zählen. Sind die gezählten Impulse größer 3 -> Signal OK. Ist das eine praktikable Lösung? Das Problem, Signale auszuwerten hat man doch eigentlich überall. Wie wird es da softwaremäßig gemacht? Danke für eure Hilfe. Gruß Martin
Sind die Scope-Shots alle mit dem TSOP gemacht? Interessant waeren dann eventuell noch ein paar Versuche mit einer IR-Empfangsdiode um das tatsaechliche Signal zu sehen, bevor Du mit der Programmierung loslegst... Volker
Volker Schulz schrieb: > Sind die Scope-Shots alle mit dem TSOP gemacht? Ja, alle mit dem TSOP. Volker Schulz schrieb: > Interessant waeren dann > eventuell noch ein paar Versuche mit einer IR-Empfangsdiode um das > tatsaechliche Signal zu sehen, bevor Du mit der Programmierung > loslegst... Ist das wirklich nötig? Zum Auswerten wird das Signal bestimmt nichts helfen. Würde lieber gleich mit der Programmierung loslegen. Nur der Ansatz ist noch fraglich.
Martin schrieb: > [...] > Ist das wirklich nötig? Zum Auswerten wird das Signal bestimmt nichts > helfen. Zwingen koennen wir Dich natuerlich nicht, aber das tatsaechliche Signal zu kennen duerfte helfen, die bestmoegliche Auswerte-Logik zu bestimmen und Fallstricke vor der eigentlichen Programmierarbeit zu erkennen. Evtl. braucht es zur zuverlaessigen Erkennung ja auch etwas anderes als einen 36kHz TSOP. > Würde lieber gleich mit der Programmierung loslegen. Nur der > Ansatz ist noch fraglich. Dann hilft im Zweifel nur das "Rumprobieren" mit verschiedenen Ansaetzen. Und viele, viele Tests um das beste Verhaeltnis falsch-positiver und falsch-negativer Ausloesung zu finden. Hast Du Dir als ersten Ansatz mal die Auswerte-Logiken von Fernbedienungs-IR-Codes angeschaut? Volker
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.