diodenring.de

  • Schrift vergrößern
  • Standard Schriftgröße
  • Schriftgröße verkleinern
Home Elektronik Mikrocontroller Intervall Timer für Nikon, Canon DSLR und Pentax - Version 2

Intervall Timer für Nikon, Canon DSLR und Pentax - Version 2

PDF

Besser und billiger als die erste Version des Intervall Timers:  

Intervall Timer v2 revised

Zeitraffer für Nikon und Canon DSLR und (neu) Pentax

 

2013-10-01Update: Kompatible Kameras aktualisiert
2012-11-30Update: Sony A300 ist auch kompatibel
2010-08-08Update: Bild mit der kompletten Schaltung eingefügt; NEU: Notizen zur Kompaibilität
2010-07-03Update: Seite aktualisiert, aktuelles Layout, aktuelle Bilder, Software Version 2.4
2010-06-30Update: Ich habe die Software etwas aktualisiert, und jetzt geht der Timer auch an Pentax Kameras (getested an einer K200, danke Christian!).
2009-08-19Update: Das alte Layout hat mir nicht mehr gefallen, und das Diodenpaar huckepack auf dem µC war auch nicht gut. Also gab es ein neues Layout, die Pinbelegung hat sich verändert, und kleine Softwareänderungen haben sich ergeben.
2009-08-21
Update: Mit kleinen aber wirkungsvollen Änderungen arbeite diese Schaltung nun auch zuverlässig an Canon und Nikon Kameras

Features:

  • Keine Stromversorgung nötig: Die Schaltung "klaut" sich den Betriebsstrom (lediglich 10μA bei 5V bzw. 2.5μA bei 3.3V) aus den Signalleitungen der Kamera 
  • Intervall einstellbar von 0.4 Sekunden bis über 18 Minuten
  • Keine Bedienelemente, Einstellung über "Teach In"
  • Ultra portabel: Schaltung passt in das Gehäuse des Steckers
  • Bauteilkosten: 87 ct (Stand Juli 2010)

Bauteilliste: 

  • PIC10F222 Mikrocontroller SOT23-6
  • BAR43C Diodenpaar SOT2
  • 22µF Kondensator 0805
  • 3.5mm oder 2.5mm stereo Klinkenstecker
  • Leiterplatte, oder Fädeldraht und eine ruhige Hand

 

Bauteile  Leiterplatte

 

Der Schaltplan

Schaltplan

Layout

Hier habe ich ein kleines Tutorial zur Herstellung von Leiterplatten (leider bislang nur auf englisch). Die beiden Pads rechts auf der Leiterplatte sind die Ein-/Ausgänge, die an die Shutter bzw. Fokusleitung angeschlossen werden. Dabei ist es egal, welches Pad an die Focus/Shutter leitung angeschlossen wird: Das Programm lernt während der Triningsphase, welche Leitung was ist!

Das Pad unten links ist der Anschluß für die Masse, und wird mit der Schirmung des Steckers verbunden. Den Microkontroller programmiere ich ehe ich den Chip einlöte. Soll das Programm im eingelöteten Zustand geändert werden, müssen Kabel an fünf der sechs Pins dec ICs gelötet werden. Die Beschaltung findet sich im Datenblatt des PIC10F.

Und hier die Schaltung aufgebaut:

Aufgebaute Schaltung

 

Kompletter Stecker

 

Wie man sieht sieht man nichts: Die ganze Magie passiert natürlich in den Mikrocontroller (µC). Ich gehe jetzt einfach mal die einzelnen interessanten Punkte durch (die Schaltung ist der des Intervalltimers v1 sehr ähnlich, die Software hingegen ist sehr verschieden):

Stromversorgung: Der Microcontroller PIC10F222 bezieht seine Betriebsspannung aus den beiden Signalleitungen, die aus der Kamera kommen. Diese beiden Leitungen (Focus und Shutter) sind kameraintern über etwa 50kΩ mit der Betriebsspannung (5V bei Nikon, etwa 3.0V bei Canon) verbunden. Der Prozessor muß also mit extrem wenig Strom auskommen, denn werden die Leitungen zu stark belastet, löst die Kamera aus. Der Betriebsstrom fließt von den beiden Leitungen über das Dodenpaar (BAS43C)  zu dem VDD Pin. Dort sitzt der Pufferkondensator, der die Betriebsspannung etwas puffert. Werden die beiden Leitungen von der Kamera aus herunter gezogen, hat der Mikrocontroller damit einen kleinen Energievorrat um einige Zeit weiter zu laufen. Der Wert des Pufferkondensator muß dabei mindestens 22µF betragen, sonst kann der Prozessor unter Umständen nicht richtig anlaufen.

Prozessor: Der Prozessor verbringt den mit Abstand größten Teil der Zeit schlafend. Der Prozessortakt ist dabei abgeschaltet, und nur der interne Watchdogtimer läuft, um den Prozessor regelmäßig (etwa alle 18ms) aufzuwecken. Das spart viel Strom.

Programm: Das Programm ist straight foreward: Etwas Initialisierung, ein paar Routinen zum Warten, ein paar zum Einstellen der Ein- und Ausgänge. Die Warteroutinen sind etwas tricky: Der kleine PIC hat nur sehr wenige Hardware-Resourcen, und ich mußte etwas tricksen, damit ich im Programm den Watchdogtimer zum Warten verwenden kann. Die Schwierigkeit kommt daher, dass der kleine Prozessor beim Ablaufen des Watchdogtimers im Sleep-Modus nicht einfach wieder aufwacht und sein Programm fortsetzt (wie z.B. seine großen Brüder es tun), sondern er wird resettet. Dann muß ich erstmal feststellen, woher der Reset kam, und das Programm an der unterbrochenen Stelle fortsetzen. Das geht nicht ohne Stack-underflow. Wie ich diese Hacks liebe ;-)

Einen kleinen Trick gibt es noch, der das Programm recht unleserlich macht: Während der Trainingsphase lernt die Schaltung nicht nur das Intervall, in dem die Bilder aufgenommen werden sollen, sondern auch, an welches Pad die Focus-, und wo die Shutter Leitung angeschlossen ist. Ein Vertauschen der beiden Leitungen ist daher ohne Belang.

Verwendung: Einfach den Stecker in die Kamera stecken (oder die Platine mit den entsprechenden Leitungen verbinden). Bei Canon Kameras ist standartmäßig eine 2.5mm stereo Klinkenbuchse verbaut, für Nikon Kameras muß man sich leider ein Adapterkabel bauen. Ich habe dazu eine Kabelfernbedienung in der Mitte aufgetrennt, und den kameraseitingen Teil mit einer Klinkenbuchse, den Fernbedienungsteil mit einem Klinkenstecker versehen.

Beim Einstecken des Dongles ist es egal, ob die Kamera an ist, oder erst nachher eingeschaltet wird. In jedem Fall kann es sein, dass die Kamera ein Bild am Anfang aufnimmt, das kommt von dem Aufladen des Pufferkondensators im Timer. Danach muß man der Schaltung beibringen, wie lange der Abstang zwischen zwei Auslösungen ist, und das könnte nicht einfacher sein: Einfach den Auslöser der Kamera in dem gewünschten Abstand zweimal bis zum zweiten Druckpunkt (Auslösen) drücken. Das war's. Das dritte Bild wird dann von der Schaltung automatisch nach exakt dem vorgegebenen Intervall ausgelöst. (Anmerkung: Die Trainingsphase und die Intervallaufnahme kann jederzeit abgebrochen werden. Dazu muß der Auslöser nur angetippt und losgelassen werden. Daher ist beim Training wichtig, daß der Auslöser zweimal ganz durchgedrückt wird, sonst wird der Timer resettet...)

Eine Maximalzahl der Auslösungen gibt es nicht. Die Kamera hört erst auf, wenn die Speicherkarte voll oder der Akku leer ist. Die Serienfunktion kann auch abgebrochen werden: Dazu muß der Auslöser nur angetippt werden. Danach ist man wieder im Ausgangszustand, und kann dem Dongle ein neues Intervall beibringen.

Die Schaltung funktioniert hervorrangend, und ist viel einfacher zu bedienen, als durch das Menü zu zappen (soweit die Kamera eine Intervallaufnahme unterstützt).

Diesen Zeitraffer habe ich mir der vorgestellten Schaltung aufgenommen. Nach über 2300 Bilder (in 4 Stunden 17 Minuten) hat dann der Akku meiner Kamera schlapp gemacht.

Statt des vorgeschlagenen PIC10F222 kann auch jeder andere PIC10F2xx verwendet werden. Ich habe noch ein paar der PIC10F222 herumliegen gehabt, daher habe ich diese verbaut. An dem Sourcecode muß nur die richtige Includedatei für den jeweiligen Prozessor eingebunden werden, eventuell müssen die Zeilen für AD-Wandler oder Komparatoren auskommentiert werden, und der MCLR auf intern eingestellt werden. Sonst kann alles gleich bleiben. Ich habe sichergestellt, dass die verwendeten Register in allen PICs implementiert sind.

Kompatibilität: Der Timer lernt von den zwei Leitungen der Kamera ein vom Benutzer vorgegebenes Intervall. Diese Leitungen werden normalerweise von der Kamera je nach Zustand des Auslösers auf Masse gelegt, oder eben nicht.

An der D90 von Nikon hingegen sind diese Leitungen nicht mit den Auslöser verbunden, also gibt es leider keine Möglichkeit für den Timer durch das Beobachten der Leitungen ein Intervall zu erlernen.

Bisher habe ich den Timer an den folgenden Kameras erfolgreich getestet:

Nikon
D70s, D100, D200 (alle mit Adapter)
CanonG11, T5i, 350D, 400D, 450D, 700D, 1000D, mit Adapter: 7D
Pentax
K7, K10D, K100D, K200
SonyA300 (Danke Jan!)

Wenn Sie eine andere Kamera haben fände ich es schön, wenn Sie den Timer an Ihrer Kamera testen, und mir Ihre Ergebnisse schreiben.

Die folgende Software wird unter der Creative Commons Lizenz bereitgestellt.

Creative Commons Lizenz  TimeLapse_v24.asm (für PIC10F222, Updated 30.06.2010)

Um die Software in den Prozessor zu laden ist ein Programmiergerät nötig. Das günstigste dürfte ein PicKit2 oder PicKit3 sein, oder ein ICD2 / ICD3.

Revision history

30.06.2010
 v2.4Aktualisierung für Pentax Kameras: Die Routine, die checkt, ob der Timer resettet werden soll hat nun ein Timeout, und ignoriert kurze Resetimpulse. Dadurch wird der Timer von diesen Kameras nicht mehr resettet. Die Verwendung ist gleich geblieben. Die Kontroll-LED ist bereits in einer der früheren Versionen wegen Poblemen mit der Stromversorgung entfallen.

04.11.2009

 v2.3

Bisher war kein Abbruch der Training Phase möglich (nach der ersten Auslösung). Dadurch war manchmal unklar, in welchem Zustand der Timer sich befindet.

Jetzt wird der Timer immer dann resetet, wenn der Auslöser nur angetippt (etwa 1/2 Sekunde) aber nicht durchgedrückt wird. Sowohl in der Lernphase als auch während der Intervallaufnahme. Die bisherige Bedienung wird dadurch nicht weiter verändert. Also wie gehabt zweimal hinereinander im gewünschten Intervall den Auslöser langsam bis zum zweiten Druckpunkt durchdrücken.

Ich habe hier immer ein paar der kleinen Platinen herum liegen, wer Interesse hat, bitte fragen: Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können.

 

Viel Spaß beim Fotografieren!

Achim

Comments
Search
peterk   |2009-05-26 11:44:07
Hallo!

Kannst Du das auch im Auftrag produzieren? So für fotografierende
Doppellinkshänder :-)

Gruß, Peter
achim   |2009-10-26 13:15:08
Hmm, ich weiss nicht. Ich fürchte, wenn ich hier zusage, kann ich mich vor
Aufträgen kaum noch retten. Aber ich habe noch ein paar Platinen hier
herumliegen, die ich auch hergebe.
Also ruhig fragen!
rasda   |2010-08-20 18:08:49
hi. ich habe mir den intervalltimer jetzt nachgebaut. funktioniert prima an
meiner eos7D. nur war das smd-löten ganz schön frickelig. ich wünschte es
gäbe auch eine DIP version statt SOT23. das wäre für viele leute einfacher
nachzubauen. zwar nicht mehr so klein aber für unerfahrene eher nachbaubar.
so,
und jetzt geh ich fotografieren :)

gruss
rasda
rasda  - intervalltimer DIP8 version     |2010-09-04 02:40:27
https://rasda.de/blog/2010/09/04/intervalltimer-di y-tutorial
gabesas   |2011-01-22 02:20:53
What do you think, is it usable with Nikon d50?
Thanks
achim   |2011-01-23 19:41:16
Hi gabesas,
I am verry sorry, but since the D50 does not have a remote control
port, you can not use the intervall timer on this site. You must go for an
infrared remote control.
If you have some programming skills, you can easily
adapt the software of my TV-B-Gone to your needs.
Cheers!
jrbenito  - Works very well   |2011-06-16 05:43:06
Hi,

Congratulations! It works very well.

I tested it in my Canon 450D and also
in my Canon G10.

For 450D it works just as expected.

For Canon G10 a little
trick is necessary. First set camera to no image review after shot. Now the
intervalometer works but it will never stops to shoot. The only way to stop it
is to pull it out of the camera or turn it off. (at least I could not figure out
other way)

I will test it in a 300D and also on T2i (550D) soon.

Thank you for
this amazing project.

Regards,
Benito
ElectroLudo  - 22µF, really?     |2011-07-01 09:53:04
you wrote a 22µF capacitor 0805 (5 ct Reichelt). Is this really 22µF or
0,22µF = 220nF?
It seems quit small (and non polarised) for a 22µF?
achim  - really!   |2011-07-01 12:41:23
That is really a 22µF in a 0805 package. This is the one crucial component, and
it is rather likely that the circuit will not work with a 10µ or even less.
Keep in mind that during the time the circuit pulls both lines (shutter and
focus) low, it cuts itself off any power supply.
Furthermore the large capacitor
ensures a reliable startup when Vdd reaches the power on reset threshold.
ElectroLudo   |2011-07-10 20:47:39
Ok, thank you. I was just wondering because of the size and the non polarised
capacitor. I didn't know about such big one's (µF) in such a small package!
Nahlanee   |2011-07-14 15:40:58
Hey, ich würde auch gerne so einen intervall timer bauen. doch wie spiele ich
das programm drauf?

mein vater ist elektriker und baut mir alles, was
hoffentlich klappen wird. doch mit programmieren kennt er sich nicht aus.

ich
habe die datei von dir runtergeladen und weiß nun nicht mehr weiter. kannst du
bitte weiterhelfen?
achim   |2011-07-15 01:26:51
Zum Programmieren brauchst Du ein Programmiergerät (z.B. PicKit2 oder 3 oder
einen der Debugger ICD2/3) und die Software MPLAB (kostenlos). Für den
Programmer mußt Du dabei mit etwa 50€ rechnen. Wenn Du nicht vor hast noch
etwas damit zu machen ist das eher uninteressant.
Das Einfachste wird sein, wen
ich Dir einen programmierten Controller zuschicke. Schreib mir einfach eine
Mail, dann können wir das klären.
kael  - Regarding use with 2.5mm Canon plug   |2011-07-18 06:02:26
I found that the board (got some from Achim) was slightly too wide to fit in the
2.5mm plug cover. Although there was enough material to Dremel away and make it
fit.

However using a 3.5mm plug cover on the 2.5mm plug worked quite nicely.
No gap, around the plug. It fit snugly around the outside of the smaller
plug.

Digi-Key part#s:
CP-2501SP-ND
CP-3502-ND

p.s. works great on a Canon
60D!
achim   |2011-07-18 14:26:59
Thanks for the feedback:
The board perfectly fits into my 2.5mm plug covers. You
must however be careful to have the board centered with the housing.
As an
alternative you can use heatshrink tubing as well. If you happen to have some
heat shrink with a hot-glue layer on the inside that would make the board even
water proof.
Anyway: Thanks for the input!
Samaro   |2011-12-29 03:37:15
Do you sell it??
Only registered users can write comments!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."