Subversion Repositories Projects

Rev

Blame | Last modification | View Log | RSS feed

Readme zur "PPM2PentaxIR"  (geändert 2.12.2007)

Auslösen und Zoomen von Pentax Fotokameres per IR, gesteuert durch Servoausgang (PPM)

Hardwarebasis für die Entwicklung ist eine unbestückte Holger BL-CTRL V1.0 Platinen.

Auf dieser Platinen wurden lediglich folgende Bauteile bestückt.
(Bauteilwerte wie bei original BL Bestückung beibehalten)

IC1     ATMEGA8 - A
R3      100
R10     18K
R26     4K7
R27     1K
R33     1K
R32     10

C3      100n
C7      100n
C11     100n
C12     10uF/16V

LED1    LED0805 Grün
LED2    LED0805 Rot

Es läst sich natürlich LED1 und LED2 sowie die zugehörigen Vorwiderstände (R27 und R33) einsparen falls man diese eh nicht verwenden möchte,
zumal Sie eher für Debugzwecke eingesetzt wurden.

Das PPM Signal (vom Servoausgang) muss an das PPM Pad der BL Platine (Pin12 ATMEGA)
Masse kann praktisch an einen beliebigen Massepunkt an der BL Platinen. Die Versorgungsspannung geht bei mir einfach direkt an das Ausgangspad
des nicht vorhanden Spannungsreglers (IC2) bzw. an den Anschlusspunkt welcher auf der BL Paltine mit 5V versehen ist.
Da kein Spannungsregler verwendet wird ist strickt darauf zu achten, das keine zu hohen Spannungen für die Versorgung verwendet werden,
 die üblichen 4,5 bis 5,x Volt eines Empfänger Ausgangs kann der Amtel gut ab. Besser wäre es natürlich einen Spannungsregler zu verwenden,
 dann aber statt des 5V Reglers einen 3.3 Volt Typ. Hier sollte dann jedoch der RC Oscilator des Atmegas geprüft werden, da zu erwarten ist
 das die Frequenz nicht mehr besonders gut stimmt (tut sie 5V wohl auch nicht)

Die IR Diode (ich habe fast beliebige Typen ausprobiert welche ich im Bestand hatte) wird an Masse und an das Basispad des nicht bestückten T1 angeschlossen. 
Hierbei dient R3 nun als Vorwiderstand für die LED, deshalb ist R3 auch der einzige Widerstand welcher gegenüber der original BL Bestückung vom Wert her 
geändert ist.

Wichtig:
Beim Programieren des ATMegas muß auf die richtigen Fusesettings geachtet werden, der Controller muß mit internem 8Mhz Osc laufen.
Ich habe zum setzen der Fusebits PonyPorg verwendet.

Das Programieren des Controller läuft bei mir mit AVRdude unter "Programmers Notepad" aus der WinAVR Installation.
Wird das mitgelieferte "makefile" verwendet so ist dort als Programmer "PonySer auf Com1" ausgewähl, so das man mit einem Sercon Interface direkt
aus WinAvr das Programm auf den ATMega progen kann. (geht nur per echter Seriel Schnittstelle, kein USB zu RS232 Wandler)

Die Bedienung ist derzeit relativ einfach. Bei Mittelstellung des Kanals (Knüppel Mittel) passiert nichts, wird der Kanal nun in die eine Richtung 
gesteuert so wird eine neue Zoomstufe eingestellt (drei Zoomstuffen gibt es bei der Pentax per IR Steuerung), wird der Kanal in
die andere Richtung gesteuert, so wird ein Bild ausgelöst. 
Schaltpunkte sind derzeit fix bei ca. nach oben 1750us und 1250us nach unten jeweils mit einer Hysterese von 100us.
Eine normale Graupneranlage gibt üblicherweise bei Kanal Mittelstellung etwas 1500us aus, mit einem Hub in beide Richtungen von ca. 600us
(bei 100% Servoweg), also 1100us bis 1900us. Somit liegen die Schaltpunkte etwa auf halbem Weg.
Anzumerken ist jedoch, das der Interne RC Oscilator des ATMEGA8 ohne spezielle Kalibrierung nicht besonders genau ist und somit doch ganz
schöne Abweichungen auftretten können. Hiermit verschieben sich dann natürlich auch die Schaltpunkte nach oben oder unten.

Es befindet sich sicher noch die ein oder andere Stelle im Code welche man besser machen oder eleganter lösen könnte.
Das ganze ist mein erstes Atmel AVR Project und dann auch noch in C , ich bin eigentlich ein eingefleischter
 PIC Assembler Fritze :-) also verzeiht mir den Programmierstiel zumal das ganze innerhalb eines Tages fertig wurde.

Wenn jemand gerne andere IR Codes ausgeben lassen möchte und genau weis wie diese ausehen, bzw. ich dies rausfinden kann so bin ich auch gerne
bereits das zu implementieren.


Viel Spaß beim nachbauen und verbessern.

Walter Meyer
30.11.2007
freakware GmbH division south