Intervallschaltuhr für NIKON D50


Bei meinen Versuchen mit dem BASCOM und den ATmega88 kam ich schnell an den Punkt wo es um die Programmierung der Timer ging. Als praktische Anwendung schwebte mir eine Intervallschaltung meiner Digitalkamera vor. Damit kann man Zeitreihenaufnahmen machen, die dann z.B. in Photoshop-Elements mit der Funktion  Erstellen/Daumenkino in einen kleinen Zeitrafferfilm umgewandelt werden können. Zunächst dachte ich an eine Auslösung an der Kamera durch einen kleinen Elektromagneten. Dann stöberte ich ein wenig im Internet und fand folgende Seiten, die einen Fernauslöser für NIKON DSLR Kameras beschreiben:
http://www.sbprojects.com/projects/nikon/index.htm
http://www.bigmike.it/ircontrol/
Das war natürlich viel besser, weil hier kein mechanisches Basteln erforderlich war. Auch die verwendeten Mikrocontroller passten. Es handelte sich um 8-bit Atmel AVRs. Der einzige Haken bestand darin, dass das Programm in Assembler geschrieben war.

IMG_4546
Die Intervallschaltuhr mit IR-Fernsteurung für NIKON DSLRs
Und das mit gutem Grund: Die  Frequenzen und Impulse, für die Infrarot-Fernsteuerung, lagen in zeitlichen Größenordnungen die in BASIC nicht mehr machbar sind. Was nun? Meine Assembler Kenntnisse reichten leider nicht aus, die schöne Menüsteuerung über das LCD-Display und die Anzeigen in Stunden, Minuten und Sekunden, bzw. die erforderlichen Umwandlung von Sekunden in Minuten, Stunden und Minuten mal eben so in Assembler umzusetzen.  Auch mein Versuch die Assemblerroutinen für die Fernsteuerung, in das 
Basic
Das BAIC-Progrann (Zur Ansicht bitte anklicken)

Basicprogramm einzubinden scheiterten, auf Grund mangelnder Kenntnisse kläglich. Ich entschloss mich einen anderen Weg zu gehen, der im Rahmen meiner Möglichkeiten lag.  Ich setzte einfach zwei Mikrocontroller ein. Einen, in dem das Assemblerprogramm  für die Fernsteuerung der Kamera implementierte war (IC1) und einen der das BASIC-Programm mit der Zeitsteuerung 

Assebler
DasAssembler-Progrann (Zur Ansicht bitte anklicken)

und der Bedienerführung enthielt (IC2). Die Ansteuerung des Fernsteuerchips erfolgte dann durch den basicprogrammierten Chip. Die Änderungen, die ich in dem Assemblerteil durchgeführt habe, sind durch rote Schrift gekennzeichnet. Es handelt sich dabei um die Auslösung, die im Originalprogramm durch schlichtes Einschalten der Stromversorgung realisiert wurde und die Aktivierung des Sleep-

100509aa-014a
Der Schaltplan (zur Ansicht bitte anklicken)
IMG_4541.jpg
Die fertige Schaltung mit Gehäuse Platine und Batterieteil

modus, der nun auf beiden Controllern synchronisiert wird. Da IC2 die Schalt- zeiten steuerte, versah ich diesen Controller mit einem Quarzoszillator. IC1 wird durch den internen Oszillator getaktet. Die Schaltung baute ich auf einer Lochraster- Platine auf. Das Ganze bekam ein Gehäuse aus 3mm Grau- pappe und wurde mit 4 NiCa Akkus betrieben, die eine Nennspannung von 4,8 Volt ergeben.  Sind die Akkus frisch geladen, messe ich 5,54 Volt, also knapp über der zulässigen Maximalspanng. 

IMG_4542.jpg
Die Platine. Ganz links die IR-LED, ganz rechts die Buchsenleiste für das LCD-Display

Bedienung:

Nach Betätigung der Reset-Taste oder dem Anlegen der Betriebsspannung befindet man sich im Hauptmenue. Es stehen die Optionen ‚Timer starten’, ‚Intervall setzen’ und ‚Dauer setzen’ zur Verfügung. Mit der Taste ‚Next’ wechselt man zur nächsten Option. Mit der Taste ‚OK’ wählt man die gerade angezeigte Option aus. Mit den Optionen ‚Intervall setzen’ und Dauer setzen’ stellt man die gewünschten Zeiten ein, mit der Option ‚Timer starten’ startet man (wer hat’s gewusst?) den Timer. Das Einstellen der Zeiten geschieht immer dergestalt, dass man zuerst die Stunden mit der Taste ‚next’ einstellt. Jeder Tastendruck von ‚next’ erhöht den Wert. Sobald der gewünschte Wert angezeigt wird, bestätigt man ihn mit der Taste ‚OK’. Genau so verfährt man auch mit den Minuten und Sekunden. Nach dem die Sekunden eingestellt und bestätigt sind, geht das Programm zurück ins Hauptmenue. Wurde ‚Timer starten’ gewählt, wird die gewählte 

IMG_4558
Was dem bloßen Auge verborgen bleibt: Ein IR-Burst
Dauer in der zweiten Zeile des Displays angezeigt. Die  verstrichene Zeit wird in der ersten Zeile sekündlich aktualisiert. Jeweils im gewählten Intervall wird über die IR-Diode ein Signal an die Kamera geschickt, welches veranlasst, dass die Kamera eine Aufnahme macht. Ist die gewählte Dauer verstrichen, schaltet sich der Timer automatisch ab, d.h. er geht in den Sleep-Mode. Um ihn wieder zu aktivieren, ist die ‚Reset’ – Taste erneut zu drücken.
Zeitreihe-1
Eine Zeireihenaufnahme


zurueck