USB Fernauslöser - ein Gemeinschaftsprojekt für CHDK

Kamera-Hardware, Selbstbaufernbedienung und sonstige Hardware-Erweiterungen

USB Fernauslöser - ein Gemeinschaftsprojekt für CHDK

Beitragvon highcurrent » 26.07.2010, 10:07

Hi CHDKler,

ich plane eine neue USB-Fernbedienung.
Da es ein paar Funktionen in der CHDK doch noch nicht gibt, auch Hardwaremäßig der Kamera bedingt, möchte ich das ganze nun auf extern Verlagern.
z.B. der Blitz: Löst immer beim ersten Mal drücken aus, kann danach nicht wieder getriggert werden. Schade für langzeitaufnahmen, bei denen der Blitz zum Schluss schön wäre (Beispiel Auto: Auto fährt an einem Vorbei, man macht 5sec Langzeitbelichtung. Blitz ist am Anfang: Auto in Startposition Sichtbar, verschwindet aber dann mit Strichen. Blitz am Ende: Auto bei Startposition nicht sichtbar, am Ende kommt der Blitz, Auto hat hinter sich die Streifen der Lichter.)

So was ist geplant:

Ein Modul was kann:
- 3 Trigger Eingänge. (Auch mehr möglich)
- 3 Triggerbare Ausgänge (Auch mehr möglich)
- USB-Remot für die Kamera (genauso hier: mehr ist immer Möglich)

Liest sich im Ersten Moment zwar unspektakulär, aber das wichtigste kommt jetzt:

Jeder Eingang kann jeden Ausgang Triggern, die Zeit zwischen Eingangs Trigger und Ausgangstrigger kann eingestellt werden (geplant: 100µs Schritte einstellbar)
Ein wiederholtes Triggern des Eingangs kann eine andere Reaktion auslösen.
Die Zeit, die ein Ausgang auf "an" ist, kann eingestellt werden.
Damit wären dann ganze "Bewegungsabläufe" möglich.

Problem bei der Sache: Einstellung über 5 Tasten wird vermutliche ausscheiden, zu komplex ist der Umfang der geplanten Funktionen.
Deswegen kommt dazu: Eine Schnittstelle für SD-Karten. Bedingt durch die große des Mikrokontrollers wohl eher nur bis 4GB. Aber da geht dann schon ordentlich was an Daten drauf.
Am PC kann der "Programmablauf" dann programmiert werden, auf die SD Karte gezogen werden und in das Gerät eingelesen werden.
Da ein Ständiges SD-Karten wechseln mit der Zeit doch sehr unschön ist, soll noch einen USB-Schnittstelle an das Gerät um die Daten direkt auf die Fernbedienung zu übertragen.
Hier schon mal vorweg eine Anmerkung: Es muss egal wie eine SD Karte dann im Gerät sein, da dort drauf die Daten gespeichert werden. Man könnte auch einen EE-Prom nehmen, könnte diesen dann aber nicht mal eben zu einem anderen PC Tragen dort mit einem Kartenleser auslesen.

Auf der Kamera stelle ich mir ein Skript vor, dass mehr oder weniger die kompletten Einstellungen der Kamera ändern kann. Also: Ich kann über die Fernbedienung Änderungen vornehmen wie: Belichtungszeit, Blende, Zoom ....


Warum will ich das:
Ganze einfach: Heute Nacht wollte ich den Mond als Zeitraffer belichten. So, damit das auch recht schön ausschaut, habe ich die Kamera auf 15sec Belichtung, Blende ungefähr in der Mitte gehabt. Hab mich dann auch schon heute gefreut, den Sonnenaufgang mit zu erleben. Tjo, falsch gedacht. Um ca. 4:30 war es dann so hell, dass ich nur noch ein weißes Bild hatte.
Jetzt kann ich dann über einen der Eingänge ihm sagen, wenn es zu hell wird, er soll die Belichtungszeit runter setzten, oder die Blende schließen.


So warum stell ich das hier vor?

Ich möchte von euch ein paar Ideen noch dazu haben, was man alles einbauen könnte.
Dazu hoffe ich mir, dass ich nicht allein sein werde, der das Projekt stemmen wird. Darum: Jeder der mitmachen möchte sei willkommen.
Und wenn es auch nur einer ist, der sich bereiterklärt das ganze zu Testen.


Da ich weiß, dass so ein Projekt nur von Weiterentwicklungen profitiert, plane ich auf den µC eine Bootloader zu integrieren. D.h. wenn ihr einmal im Besitzt einen Prozessors seid, könnt ihr jederzeit die neueste Software aufspielen. Gerät per USB an den PC und schon kann’s losgehen. Am PC eine Software Starten, Gerät einschalten, und schon kann die neue SW aufgespielt werden.

Also:
Rann an die Tastatur, Ideen schreiben, der ein oder andere mag vielleicht auch schon dran denken, was alles noch damit möglich sein wird, und wer will mitmachen.
Mitmachen ist das wichtigste.

Gruß
Michael
Alte IXUS 400 (leider kein CHDK lauffähig); Canon SX20IS Firmware 1.02B (mit CHDK)
highcurrent
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 25
Registriert: 15.07.2010, 12:06

Beitragvon didi » 26.07.2010, 11:26

Hallo,

hier mal ein Link von meinen bissherigen Versuchen.

viewtopic.php?t=167&postdays=0&postorder=asc&start=0

Ich benutze eine Fernbedienung mit dem Picaxe 8 M, der mit Basic programmiert wird.
Zur Zeit mit 3 Tasten, aber in Zukunft möchte ich Eine bauen
mit mehr Taste/Funktionen.
An gedacht sind:
- Zoom In
- Zoom Out
- Scharf stellen
- Auslösen
- Blitz An/Aus
- Kamera Auschalten

Gruss Didi
Powershot a720 IS mit CHDK-DE-Version
- CHDK Fernbedienung mit 3 Tasten -
Benutzeravatar
didi
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 116
Registriert: 19.04.2008, 14:24
Wohnort: Petershagen / OWL
Kamera(s): Powershot A720 1.0c

Beitragvon gehtnix » 26.07.2010, 12:36

didi hat geschrieben:- Kamera Auschalten
Die Funktion ist bei richtiger CHDK-Einstellungen nicht notwendig. Die Kamera schaltet ja mit CHDK-DE nach 3 Minuten selber ab.

Die Taste könnte man anders belegen.

gruss gehtnix
Bild
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS50 101b

Beitragvon highcurrent » 26.07.2010, 15:00

Hi,

diese Picaxes habe ich mir auch schon mal angeschaut. Nette kleine Prozessoren. Gut gefällt mir an den Dingern die Klick programmierbarkeit. (Grafische)
Dagegen finde ich einen freien leeren Prozessor flexibler.
In dem Projekt ist wohl eher ein freier Prozessor angebrachter, da eine SD Karte verwendung finden wird.

Ein paar Daten zu Hardware (so wie ich sie mir vorstelle)

Prozessor: Vermutlich AtMega644
Takt: 16MHz
Tastatur: 16 Tasten
Ausgänge: 3
Ausgänge: 2 USB-Remote Ausgang
Eingänge: 3
Eingänge: 2 mit AD Wandler (um z.B. auf Lichtänderungen zu reagieren => Einstellung von Blende)
Speicher: SD Karte
Komunikation: USB -> Seriall Wanlder
Komunikation: Vieleicht eine IR-Schnittstelle. Wird dann auf den Seriall Port zugreifen => gleiches Protokoll
Anzeige: LCD (4 Zeile á 16 Zeichen)

Pinanforderungen an den µC:
Zur Verfügung: Bis zu 32 beim Mega644
Verwendet:
4 für Tastatur, 10 für I/O, 4 für SD-Karte, 2 für USB/Seriall/IR, 6 für LCD.
Zusammen macht das dann: 26 Port Pins.
Wären noch 6 Stück frei für weitere Ideen. Auch mehr als nur 3 Aus/Eingänge dann möglich, oder nur 2 USB-Remote Ausängen. Vielleicht ein DA-Wandler um eine Lichtquelle zu steuern.
Hier seit ihr gefragt.

Programmiersprache:
Würde gerne das ganze Projekt in Basic abhalten, da schon für die Kamera in Basic gescriptet wird.
Für die µC Software käme dann Bascom in Frage. Und hier gibts schon ein kleines Problem: Bascom ist bis 2kB Code als Freeware erhältlich. Darüber muss man die Vollversion kaufen: Kostenpunkt knapp 100€. Alternative wäre noch C. (Bin ich noch am einarbeiten)
Software am Computer würde sich auch Basic anbieten. VB5 ist inzwischen kostenlos. Ob es schon weiter nach oben mit kostenlos geht weiß ich nicht. Aber auch hier könnte man eine freie C IDE verwenden.
Und auf der Kamera denke ich, dass µBasic genutzt wird.

So, nun seit ihr dran, mit weiteren Ideen/Vorschlägen.

Gruß
Michael
Alte IXUS 400 (leider kein CHDK lauffähig); Canon SX20IS Firmware 1.02B (mit CHDK)
highcurrent
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 25
Registriert: 15.07.2010, 12:06

Beitragvon didi » 27.07.2010, 10:55

Hallo,

hört sich sehr Aufwendig an.

Wäre dieses Modul "avr butterfly" nicht ein Alternative.

gruss Didi
Powershot a720 IS mit CHDK-DE-Version
- CHDK Fernbedienung mit 3 Tasten -
Benutzeravatar
didi
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 116
Registriert: 19.04.2008, 14:24
Wohnort: Petershagen / OWL
Kamera(s): Powershot A720 1.0c

Beitragvon highcurrent » 27.07.2010, 12:08

Hi,

das könnte dann eine Sparversion sein. SD-Karten werden dort wohl eher nicht unterstützt werden können, zwar wäre der Speicher da, man müsste aber sehr sehr Programmschonend programmieren.
An sich hört sich das Tool gut an. Wäre was für Einsteiger, die günstig einsteigen wollen.

Gruß
Michael
Alte IXUS 400 (leider kein CHDK lauffähig); Canon SX20IS Firmware 1.02B (mit CHDK)
highcurrent
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 25
Registriert: 15.07.2010, 12:06

Beitragvon didi » 27.07.2010, 12:32

Hallo,

im Netz hab ich einige "Belichtungscomputer" gesehen auf Basis des
AVR Butterfly.

siehe z.b.
http://www.albireo.at/
oder
http://www.oopper.de/tech-dritimer.php

http://www.mikrocontroller.net/articles ... grammieren

gruss Didi
Powershot a720 IS mit CHDK-DE-Version
- CHDK Fernbedienung mit 3 Tasten -
Benutzeravatar
didi
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 116
Registriert: 19.04.2008, 14:24
Wohnort: Petershagen / OWL
Kamera(s): Powershot A720 1.0c

Beitragvon highcurrent » 27.07.2010, 13:30

Hi,

ich sehe schon, du möchtest diesen Prozessor, bzw. dieses KIT verwenden.
Wenn man in C Programmiert, könnte es klappen. 16kB Flash Speicher für die Software ist schon arg eng.
Kummer macht mir noch die Tatsache, dass ich "nur" 1kB SRAM hab. Für die SD Karte brauch ich allein schon 512Byte, da ich nur Sektoren weiße schreiben kann. 1 Sektor = 512Byte.
Für den Programmablauf schätze ich das noch mal gut 512Byte an Daten zusammenkommen. Wird dann schon eng. Lass da noch nen Arry mit dabei sein, dann geht es eh recht schnell rauf mit dem Speicher.
Die Größe des Flasch (Programmspeicher) macht mir jetzt erstmal weniger sorgen. ca. 10kB wird das Dateisystem schlucken, also das man auf die SD-Karte zugreifen kann. Und mit 6kB wird man schon die Daten abarbeiten können.
Jetzt mag der nächste kommen und sagen, dass 10kB für das Filesystem zu viel ist. Mag sein, aber ich mag mich nicht mit einem manuellen System rumärgern müssen. Da greif ich lieber auf ein "Plug-In" zurück, das funktioniert. Auch hab ich dann wie in DOS die Befehle um auf die Karte zuzugreifen.

Als vergleich zwischen dem ATMega169V und dem ATMega644:
Der Mega644 hat 64kB Flash Speicher, da kann man schön programmieren und muss nicht zwingen auf den Speicher achten, hat 4kB "Arbeitsspeicher". SD-Karten zugriff sollte da kein Problem mehr sein und man hat noch Platz für anderes. Ich kann ihn mit bis zu 20MHz Takten im vergleich zum Mega169V der nur mit maximal 16MHz getaktet werden kann. (Ist zwar egal, wollte eh nur 16MHz fahren). Der Mega644 hat nur 32 I/O Pins, dagegen der Mega169V 53.
Dann was für mich ein tot Kritiierium des Mega169V ist: Er ist nur im SMD Gehäuse erhältlich, dagegen der Mega644 auch im DIL-40 Gehäuse.

Hab mich heute mal hingesetzt und die Kosten für so ein Modul grob überschlagen:
ca. 7€ für den Prozessor
ca. 8€ für den SD-Karten halter
ca. 16€ für das LCD.
ca. 10-15€ für IC-Fassung, Widerstnände, Quarz, Kondensatoren, USB-Buchse
ca. 5€ für den USB -> seriell Wandler.
ca. 1€ für die Platine (wenn man auf Lochraster aufbaut, gekauft geht es bei geringen Stückzahlen bis auf 50€ rauf, selber ätzen wäre auch noch eine möglichkeit, da dann auch ca. 1-2€)

Rechnet man zusammen kommt man auf ca. 50€.
Preislich kann man am SD-Kreten Halter sparen. (Anderes Versandhaus, kosten Punkt dann ca. 2€) Genauso beim LCD. (ca. 3€) Kommt dann auf ca. 30€
Rechnet mal in einem Rahmen von 30-50€ die das ganze dann kosten wird, dafür aber auch ein sehr umfangreiches System.

Gruß
Michael
Alte IXUS 400 (leider kein CHDK lauffähig); Canon SX20IS Firmware 1.02B (mit CHDK)
highcurrent
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 25
Registriert: 15.07.2010, 12:06

Beitragvon Stunt24 » 27.07.2010, 13:57

Apropos Fernsteuerung: Da gab es doch so eine für Stereofotos mit 2 usb kabeln dran - ich glaube die hatte so einen roten Knopf als Auslöser
Weiß jemand welche ich meine?
Canon Powershot SX 10 IS mit Lensmate Filterholder
Speedlite 430EX II
2x Canon IXUS 100 (Stereogespann)
Lumix FT-2
5D MkII und 2 gLäser
Benutzeravatar
Stunt24
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 102
Registriert: 20.04.2010, 14:26
Wohnort: Straubing
Kamera(s): .

Beitragvon didi » 27.07.2010, 14:01

Hallo Dir kann geholfen werden.

guckts du hier: http://www.digi-dat.de/produkte/index.html#SDM

gruss Didi
Powershot a720 IS mit CHDK-DE-Version
- CHDK Fernbedienung mit 3 Tasten -
Benutzeravatar
didi
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 116
Registriert: 19.04.2008, 14:24
Wohnort: Petershagen / OWL
Kamera(s): Powershot A720 1.0c

Beitragvon Stunt24 » 27.07.2010, 17:32

vielen Dank Didi. Das hab ich gemeint.
Wobei ich sagen muss dass es da irgendwann auchmal verrückt wird (wer Braucht ein Stereogespann für Unterwasser? Wobei die Bilder sehr eindrucksv... naja)

PS: kann man das Teil dort auch einzeln bestellen?

Edit: danke habe alles was ich brauche
Canon Powershot SX 10 IS mit Lensmate Filterholder
Speedlite 430EX II
2x Canon IXUS 100 (Stereogespann)
Lumix FT-2
5D MkII und 2 gLäser
Benutzeravatar
Stunt24
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 102
Registriert: 20.04.2010, 14:26
Wohnort: Straubing
Kamera(s): .

Beitragvon stb » 27.07.2010, 21:01

Prozessor: Vermutlich AtMega644


Ziemlich "dickes" Ding, glaubst Du, Du brauchst wirklich 64kB Flash?

ca. 5€ für den USB -> seriell Wandler.


Den USB - ser. Wandler brauchst Du nicht zwingend. Wenn Du Dich mit "C" anfreunden kannst würde ich
das hier empfehlen. Habe ich schon oft genutzt. Kommuniziert auch prima mit Visual C# unter Windows.

http://www.obdev.at/products/vusb/index-de.html

Grüße

stb
S5IS mit CanoRemote Fernbedienung

CanoRemote Manual online.
http://www.canoremote.de
Benutzeravatar
stb
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 25
Registriert: 09.10.2008, 08:49

Beitragvon highcurrent » 27.07.2010, 22:11

Hi,

und noch mal ein Punkt, an dem man sparen kann :-)

Habe mich heute Abend mal intensiv mit dem Ablauf und Ausführung von Scripten beschäftigt.
Das ganze zu programmieren wäre so gut wie das Rad neu zu erfinden.
Es gibt schon zahlreiche Projekte, in denen soetwas oder in ähnlicher Form realisiert wurde/wird.

Problem bei den meisten ist jedoch, dass sie nicht die Daten von einer SD-Karte lesen.
Bin aber grad dabei ein sehr interessantes Projekt, welches zum jetzigen Zeitpunkt mehr oder weniger wöchentlich Updates erfährt, einzuarbeiten. Leider ist dort auch noch kein Zugriff auf SD-Karte möglich, dafür aber ein sehr offener Code für eigene Entwicklungen. Hier aber in C. Dafür der Interpreter für Scripte in Basic. Scheint mir sehr sehr ähnlich zu dem CHDK Basic zu sein. Also optimal für uns.
Was auch an dem Projekt toll ist, ist dass es durch den Prozessor druchgreifen kann und ich jeden Port ansprechen kann. Auch ist es möglich auf vordefinierte Rotinen, die in C geschrieben wurden und in den µC geladen wurden zuzugreifen. (LCD Ansteuerung, DAC/PWM, ADC, etc.)

Den Punkt mit dem USB muss ich mir morgen mal genauer anschauen. Das scheint mir eine geniale Lösung zu sein.

Nach meinen jetzigen Erkenntnissen ist es mehr oder weniger ein Scriptschnippsel Puzzel, was wir einfach zusammenbauen werden. Was den µC an geht.
Und hier ist ein kleines Problem: Alle Schnippsel die ich gefunden habe, die relevant sind sind in C geschrieben. Ich denke mal, die Programmiersprache für den µC selber wird C werden.
Sollte aber kein Problem sein, C und Basic haben ähnlichkeiten. Zumindest sind sie mehr miteinander Verwandt als C und Asm oder Basic und Asm :-)

Gruß
Michael

PS: Ich freu mich schon auf das Gerät wenn es fertig ist, zumal es auch dann in der Lage sein wird, nicht nur für CHDK eingesetzt zu werden.
Alte IXUS 400 (leider kein CHDK lauffähig); Canon SX20IS Firmware 1.02B (mit CHDK)
highcurrent
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 25
Registriert: 15.07.2010, 12:06

Beitragvon antonb » 28.07.2010, 22:12

Hallo,

das hört sich sehr interessant an.
Im DSLR Forum bin ich über so was ähnliches namens SmaTrig 2 gestolpert.
Hier der Thread vom DSLR-Forum
und hier der link of die Homepage des SmaTrig 2.

Vielleicht hilft dir das ja irgendwie weiter
Grüße
antonb
Powershot G7 / g7-100j-1.1.0_rev_626
Powershot A590 IS / a590-101b-1.0.1-DE_rev_209
EOS 500D
Benutzeravatar
antonb
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 99
Registriert: 19.08.2008, 14:40
Wohnort: Nord-Östliches Weinviertel/Österreich
Kamera(s): PS G7 - PS A590 - EOS 500D

Beitragvon highcurrent » 28.07.2010, 22:48

Hi,

über die Seite bin ich auch schon drüber gestolpert (hat aber nicht wehgetan :-) )
Naja, bei dem Projekt ist an einem bestimmten Punkt mit dem Funktionsumfang dann Schluss.
Das Projekt was ich anstrebe, soll so sein, dass es kein Ende geben wird. Soll heißen: Ich kann jederzeit ein neues Programm darauf laden und schon sind andere Funktionen da, aber 2sec später wieder ein anderes und schon schaut es wieder ganz anders aus. Dazu muss ich noch nicht mal daheim an den PC gehen und dort das Programm aufspielen, ist ja auf der SD-Karte immer mit dabei.

So, habe heute mal mit dem Entwickler des Basic Interpreter ein bisschen geMailt. Ohne ihm genaues zu unserem Projekt zu sagen, er ist dabei zur Zeit die SD-Karte anzuschließen, eine erste Version gibt es schon, er meinte aber, dass die noch recht Bug reich ist. Zur Zeit läuft das ganze noch am PC als Eingabe. Ich muss also noch via Terminal Programm am PC das Basic Script in den Prozessor laden. Auch noch bei der SK-Karten Version. Allerdings kann ich am PC schon auf der SD-Karte das Programm auswählen. Er ist auch sofort auf die Idee eingegangen, das ganze via LCD zu steuern. Mal schauen, was er nun macht. Es scheint mir, als würde ihn das ganze jetzt anspornen, dass sich jemand tatsächlich dafür interessiert und auch einsetzten möchte.

Zu mir selber: Da meine C-Programmierkenntnisse gegen Null gehen, ich zwar einiges kapier was programmiert wird, aber es nicht "sprechen" kann, habe ich mir heute 2 Bücher bestellt.
Ein mal dieses hier: Allgemein C lernen
und dieses hier: als google Scan
@Mods: Falls es nicht erlaubt ist, hier "Werbung" zu machen, bitte die Links dann löschen.

Grüße
Michael
Alte IXUS 400 (leider kein CHDK lauffähig); Canon SX20IS Firmware 1.02B (mit CHDK)
highcurrent
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 25
Registriert: 15.07.2010, 12:06

Nächste

Zurück zu Technik-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste