Forum: Mikrocontroller und Digitale Elektronik Kamera fernsteuern


von Uli Gamm (Gast)


Lesenswert?

Hallo zusammen,

im Rahmen einer Studienarbeit an einer Universität möchte ich eine
Kamera in ein Modellflugzeug einbauen. Diese Kamera soll während dem
Flug selbstätig Fotos schiessen und diese Speichern.

Ich bin dabei auf zwei verschiedene Ansätze gestossen:

1. Ein kleines Digital-Kamera-Modul, dass mit einem Steuereingang ein
Foto schiesst und es JEPG komprimiert an den Ausgang weitergibt. Dort
müssten diese Daten von einem Microcontrollen in Empfang genommen
werden und an einen Speicherchip weitergeleitet werden. Da ich bis
jetzt noch nie mit einem Microcontroller gearbeitet habe, weiss ich
nicht so recht wie man solch eine Sache systematisch angeht. Kann mir
jemand villeicht einen Tipp geben ob die Sache überhaupt in
angemessener zeit lösbar ist, was für einen Microcontrolle man nehmen
könnte (es gibt so viele!!!) und ob die Speicherung in einem Chip
(evtl. SD-Karte) sehr kompliziert ist. Ich würde mich freuen wenn mir
jemand ein paar Hinweise geben könnte!
Link der Kamera:
http://www.intertec-components.de/common/db/pdf/visuals/ITM-C-328.pdf


2. Ich habe auch daran gedacht eine handelsüblich Digitalkamera zu
kaufen und zu versuchen diese fernzusteuern. Es gibt da ein paar
Projekte mit Canon Kameras in dieser Richtung die vom PC aus
angesteuert werden.
(Link: http://forum.ebv4linux.de/viewtopic.php?t=338)
Allerdings kann ich keinen PC in das Flugzeug einbauen. Deshalb
interresiert mich ob man solche eine Steuerung auch von einem
Micorcontroller übernehmen kann?

Dankbar für jede Antwort,
Gruss
Uli

von Rahul (Gast)


Lesenswert?

Man nehme ein handelsübliches Servo (5 Euro bei Conrad o.ä.) und
montiere es so, dass der Hebel den Auslöser betätigen kann. Fertig ist
das Diplom.
Canon bietet für seine Kameras ein SDK an. Ob man dazu auch die Sources
bekommt, die man dann auf den Controller übertragen müsste, bezweifle
ich aber. (Fragen kostet nichts...)
Mit einem Mikrocontroller eine Digital-Kamera zu steuern, erfordert
einen USB-Host-Controller.

von Christian F. (fasti)


Lesenswert?

Hi!

Also da fehlen noch ein paar wichtige Angaben, z.B: Welche Auflösung
die Bilder haben sollen, wieviele Bilder aufgezeichnet werden sollen in
welcher Geschwindigkeit....
Als Anhaltspunkt: Hier im Forum gibts welche, die haben die SE MCA25
Kamera angesteuert, schafft glaub ich 640*480 Bildpunkte und lässt sich
mit einem AVR seriell auslesen.
In der Codesammlung findest du Librarys, wie du mit einem AVR eine MMC
Karte ansteuerst und beschreibst.

ciao

Fasti

von Rahul (Gast)


Lesenswert?

>Allerdings kann ich keinen PC in das Flugzeug einbauen.
DILNET-PC... die haben eine ziemlich geringe Grösse (DIL40 etwa).

Der Vorschlag von Fasti ist auch eins-A.

von Heinz Schenk (Gast)


Lesenswert?

Worin genau besteht jetzt die akademische Leistung?

1. Handelsübl. Kamera, zeitgesteuert auslösen (oder abhängig wovon?).

2. Nimm Kameramodul, und realisiere Speicherung auf (irgendein)Medium.


Was ist denn nun die Aufgabe?


ts

von Sebastian (Gast)


Lesenswert?

Das einfachste dürfte sein, eine fertige Digitalkamera zu nehmen. Dann
hast Du die Speicherlösung gleich mitgekauft.

Manche Digitalkameras haben einen Stecker, über den eine
Kabelfernbedienung angeschlossen werden kann. Darüber kann man dann
auslösen. Minolta hat es sich mal recht einfach gemacht: Einfach drei
Drähte kurzschließen und - Klick. Casio hat ein serielles Protokoll für
die Kabelauslösung. Das kann man z.B. mit einem AtTiny (AVR) emulieren.
Bei Interesse suche ich mal die Links dazu.

Was studierst Du? Kannst Du programmieren?

Sebastian

ps: Solche Projekte gibt es schon.
z.B. http://members.aol.com/mred1908/TwinStar.html

von CamMan (Gast)


Lesenswert?

Die MCA-25 hat wie gesagt 640x480 und einen eingebauten Speicher.
Die seltenere MCA-30 hat sogar einen doppelt so großen Speicher.
Gibt es bei eb*y für wenige (1..4) Euro.

Suche den Thread von Ssss Ssss Simon Schulz, dort steht über beide
Kameras, auch weiterführende Beschreibungen.

Suche in http://www.mikrocontroller.net/forum/list-1-1.html
rechts oben ist ein Feld "Im Betreff suchen:", dort gibst Du MCA-25
ein.

Wenn die Speichergröße zu klein ist, eine MMC dranhängen.
Beschreibungen dazu gibt es etliche hier im Forum.

Anderer Ansatz:
Einige Canon-Kameras kann man statt über USB auch mit RS232 ansteuern,
auch das Auslösen. Man braucht also nur einen ganz kleinen µC.

von mr.chip (Gast)


Lesenswert?

Hallo

Also wenn dein Ziel einfach nur das Schiessen von Flugbildern ist, dann
würde ich eine handelsübliche Digicam nehmen und die mit einem Servo
auslösen. Das ist einfach, kompakt und funktioniert garantiert. Das
einzige, was du hier entwickeln musst, ist ein geeigneter Mechanismus,
um das Servo anzusteuern. Im einfachsten Fall geschieht dies mit einem
Knopf an der Fernsteuerung, möglich wäre aber auch eine etwas
'automatischere' Lösung mit einem Mikrocontroller - dürfte problemlos
hinzukriegen sein.

Eine Eigenbau-Lösung ist wesentlich schwieriger, da mindestens folgende
Probleme gelöst werden müssen
a) Auslesen der Kamera
b) Speichern der Bilder
c) Übertragen der Bilder an einen PC o.ä.
Dran kann man sich heftig die Finger verbrennen, für eine Diplomarbeit
wohl nicht gerade das ideale ;-)

Natürlich kommst du kaum drumherum, wenn die Bilder z.B. bereits im
Flug ausgewertet werden sollen oder wenn dein Projekt 'Entwicklung
eines Kamerasystems für Flugaufnahmen' lautet ;-)

Gruss

Michael

von mr.chip (Gast)


Lesenswert?

Äh...Studienarbeit, nicht Diplomarbeit, sorry ;-)

von Ssss S. (sssssss)


Lesenswert?

Hi!

Ich würd einfach eine MCA25, einen atmega8 (oder 32) und eine 512MB MMC
Karte nehmen.
Pro Bild hast du dann etwa 60KByte (640x480 JPEG).
Kannst mindestens alle 6s ein Bild machen. Evtl auch alle 2s (müsste
man mal testen).
Aufwand dafür ist sehr gering, mca lib gibts bei mir auf der seite
(avr.auctionant.de) und mmc
ansteuerung inkl fat gibts zb von ulrich radig.
Das ganze nur zusammenpacken und schon biste fast fertig :)

Wenn du dann noch eine 2gb mmc Karte nimmst kannst du vieeeeeele Bilder
machen :)

Bye, Simon

von mr.chip (Gast)


Lesenswert?

Hallo

Das mit der MCA25 hört sich sehr interessant an. Wohl ein möglicher
Nachfolger, sollte sich meine Gameboy-Cam doch als etwas zu schwach
erweisen ;-) Die Daten werden doch auch Pixelweise ausgegeben?

Gruss

Michael

von Uli Gamm (Gast)


Lesenswert?

Hallo alle zusammen,
Wow, erstmal vielen Dank für die vielen und sehr schnellen Antworten.
Da die Frage aufgekommen ist, ich studiere Elektrotechnik und
Programmieren kann ich auch einigermassen.

Ein paar Details mehr zum Projekt. Bei dem Flugzeug handelt es sich um
ein relativ grosses selbstgebautes Flugmodell, dass mit Hilfe eines
Autopiloten selbständig durch die Gegend fliegen soll bzw. das auch
schon macht. An bestimmten GPS Positionen soll nun der Autopilot ein
Signal an einen Mikrokontroller senden der dann die Aufnahme und
Speicherung eines Fotos übernimmt. Meine Aufgabe ist es dieses
Kamerasystem zu entwerfen. Dabei baue ich erstmal nur ein einfaches
System, später wird es wohl ein System mit On-Board Bildverarbeitung
und auswertung sein. Später sollen z.B. bei Flug über Wäldern anhand
des Frequenzspektrums die Art von Bäumen bestimmt werden (Kiefern,
Kastanien etc.)

Ich hatte auch schon an die Idee gedacht den Auslöser einer
handelsüblichen Kamera mechanisch zu betätigen oder elektrisch kurz zu
schliessen. Aber die Sache gefällt mir nicht so gut, weil
selbsgebastelte Rahmen etc. immer relativ fehleranfällig sind (starke
Vibrationen während dem Flug). Ausserdem sollte meine Studienarbeit
etwas mit Elektronik zu tun haben :-)

Die Idee von Sssss finde ich da schon recht gut (Danke für den Tipp).
Allerdings hat die MCA25 eine sehr geringe Auflösung. Für einen ersten
Versuch wird es wohl gehen aber später sollte man auf Fotos aus 80
Meter Höhe auch noch was erkennen können. Kennt jemand evtl. noch eine
andere Kamera die evtl. im Megapixel-Bereich liegt?

Also danke für die vielen Tipps, wenn jemand noch was einfällt, immer
her damit.
Grüsse
Uli

von Ssss S. (sssssss)


Lesenswert?

>Die Daten werden doch auch Pixelweise ausgegeben?
Nein, du bekommst den jpeg stream byteweise (mit ein paar kontrollbytes
zwischendrin)

>Kennt jemand evtl. noch eine andere Kamera die evtl. im
>Megapixel-Bereich liegt?
Nimm eine Digicam ;)

Alles andere läuft auf einen FPGA mit ordentlich schnellem SRAM usw
hinaus
(mache gerade sowas für meine Diplomarbeit. Sind zwar nur 4 cams in VGA

Auflösung aber auch das ist von der Datenrate her schon weit jenseits
dessen was man noch sinnvoll mit einem kleinen uC machen kann. da läuft
ohne fpga gar nichts)

Rechne einfach mal nach: 640x480x3Byte (rgb888) und das zb bei 30fps
:-X

Was mich aber interessiert:
Wo darf man denn so ein Flugobjekt fliegen lassen ?
Das ist doch 100%ig verboten...

Bye, Simon

von Axel R. (Gast)


Lesenswert?

Die C-328 macht ja nun auch nicht die sagenhafte Auflösung!
schön klein ist sie allerdings, das muss man zugeben.
Leider ist das serielle Interface etwas "zickig", selbst die
mitgelieferte Beispielapplikation gibt öfter mal auf mit "Start Frame
error" oder "Start preview error" odersowas.
Man kann der Cam dann ein Reset schicken; grosartig beeindrucken lässt
sie sich davon allerdings nicht. Strom trennen, eine Rauchen gehen,
Strom anlegen hilft dann aber. Wenns einmal läuft, kommen in etwa die
gleichen Streams raus, wie aus der MCA25: Blocknummer, Länge des
Blocks, die Nutzdaten und eine Checksumme am Ende. Nimmt man diese
Zusatzinfos am Ende raus, hat man ein ganz normales jpg-Bildchen. Die
Auflösung und die Komprimierung lassen sich vorab seriell vorgeben.
Interessant ist ein Mitschnitt der seriellen Kommunikation der
Beispielapplikation. Hier werden auch Befehle übertragen, die NICHT im
Befehlssatz dokumentiert sind, wobei mir aber bisher niemend sagen
konnte, was diese Befehle im einzelnen bewirken. Herr Sander nicht (wo
ich meine her habe) und auch kein Mitarbeiter von Intertec.
Leider steht den klinen Abmaßen der Kamera der hohe Stromverbrauch von
fast 100mA im Wege. Speziell dann, wenn man nur 12Volt zur Verfügung
hat. Auch ein kleiner DC/DC Wandler ist größer, als das Kameramodul...
Linearregler im Sot223 wird jedenfalls richtig "warm" :-gg-:

Viel Grüße
AxelR.

Nimm ne digiCam, odr so einen kleinen Memostick, gibt es mit Kamera und
intergrierter 2GB-Karte. macht alle 0.1Sekunde ein JPG. Wird, glaube
ich, auch in D angeboten. kommmt original aus Israel (voher sonst).
musst Du mal bei den Detektivausrüstern suchen.

von Axel R. (Gast)


Lesenswert?


von Sebastian (Gast)


Lesenswert?

Jede halbwegs bessere Digitalkamera hat ein Stativgewinde. Damit kannst
Du sie mechanisch ohne gebastelten Rahmen am Flugzeug festschrauben.
Dann, wie ich oben beschrieben habe, suchst Du Dir eine, die man
fernbedienen kann. Statt der Fernbedienung nimmst Du einen
AVR/PIC/sowas.

Ist zwar als Fake enttarnt, aber trotzdem eine für Dich sicherlich
interessante Diskussion:
http://www.mikrocontroller.net/forum/read-7-177540.html#new

Gruß,
Sebastian

von Rahul (Gast)


Lesenswert?


von Sebastian (Gast)


Lesenswert?

Rahul,

warum hast Du es dann nicht selber gepostet?

Sebastian

von Rahul (Gast)


Lesenswert?

Ich hatte keine Lust, nach dem Link zu gucken.
(War ja auch nur eine nette Anmerkung, und keine bösgemeinte Kritik.)

von Sebastian (Gast)


Lesenswert?

;)
Sebastian

von Ulrich G. (uligamm)


Lesenswert?

Ok, danke für die Antworten,

ich habe beschlossen das ganze erstmal mit einer kleinen Kamera
auszuprobieren. Das heisst ich würde das ganze so angehen wie es
sssssss vorgeschlagen hat. Da mein Laptop nur USB Ausgang hat sollte
der COntroller über USB angeschlossen werden können.
Was für HArd/Software brauche ich den insgesamt?

1. AVR-Entwicklungsplatine für USB
2. AVR ATmega16 16MHz
3. USB-Kabel
4. MMC- SPeicherkarte
5. Kleine Kamera evtl. die MCA-25 oder eine andere
6. Lötkolben, widerstände etc.
7. In System Programmer? Funktioniert der auch mit der USB-Platine oder
brauche ich da was anderes?

Fehlt hier noch etwas? Was für Software brauche ich denn? Empfehlt ihr
eher C oder Assmbler?
Bin wie gesagt noch totaler Anfänger und das ganze wird mein
Jungfern-Microcontroller Projekt :-)
Gruss
Uli

von Christian Zieme (Gast)


Lesenswert?

Hallo Axel Rühl,
grade heute bin ich auf die ITM C328 gestoßen. Ich bin grade drauf und
dran so ein Teil zu bestellen. Die Kamera soll als 'Auge' für einen
Bluetooth gesteuerten Roboter dienen. Die Bandbreite ist sehr
beschränkt, daher hört sich das mit der C328 sehr verlockend an.

Wo Du das Modul ja anscheinend schonmal am Laufen hattest,
hast Du einen Peilwert wieviel JPGs/s in geringster Auflösung
oder im Preview rauskommen? Die Datenblatt Angaben sind ja doch eher
dünn.

Gruß
Christian Zieme

von AxelR. (Gast)


Lesenswert?

gehört eigentlich zu meinen Aufgaben, genau solche "Peilwerte" zu
dokumentieren (auweia).
nun, habe ich nicht gemacht...

aus dem GEdächtnis:
bei 80x60 ist es flüssig
ab 180x240 ruckelts schon (8fps) und bei 640x480 bekommst Du
0.2Bilder/Sekunde.
Erwarte bitte keine Wunder - die Quali ist nicht soo doll, die
Dokumentatzion ist schlicht mangelhaft (siehe oben ->Mitschnitt
angesagt)
Die Beispielapplikation ist weder dokumentiert, noch ist die
JPG-"Rückgewinnung", also das sichtbarmachen der Rohdaten erklärt,
obwohl eine DLL dem Programm beiliegt. Ziemlich blöd also;
zusammengefasst gesagt.

Viele Grüße
AxelR.

von Christian Zieme (Gast)


Lesenswert?

Danke für die schnelle Antwort, ich werde das Modul
dann wohl bestellen. Für meine Zwecke reicht die kleine Auflösung aus.
Ich habe nur befürchtet, dass man da eventuell nur 1fps oder weniger
rausbekommt. Die entscheidenden Tipps zum Mitschneiden stehen ja schon
oben :-)
Aus Traces schlau werden, debuggen etc. ohne Doku ist ja auch mein
Tagesgeschäft.
Das gleiche Modul habe ich übrigens unter dem Namen UCAM100 bei
roundsolutions.de gefunden. Ich werde mal da noch nachfragen, ob die
weitergehende Infos haben.
Gruß
Christian Zieme

von Jojo S. (Gast)


Lesenswert?

als Prozessormodul wäre das ARM Board hier aus dem Shop doch sicher
nicht schlecht:
http://shop.mikrocontroller.net/csc_article_details.php?saArticle[ID]=75
USB und MMC Sockel sind schon onBoard, ausserdem hat der ARM mehr
Resourcen.

von Axel R. (Gast)


Lesenswert?

"ausserdem hat der ARM mehr
Resourcen."

in diesem Fall nicht nötig, es kommt bereits ein fertiges JPG als
serieller Datenstrom raus (von den CRCs und Blockzählern mal
abgesehen)

Wer aber bisher mit ARM gearbeitet hat, dem kann man das Board sicher
empfehlen.

von Marco S. (masterof)


Lesenswert?

pass aber auch auf die Abmasse und das Gewicht auf. Was bringt dir eine
Kamera wo alles was du brauchst kannst aber 1.5 Kg wiegt.


PS:*abo*

von Dominic B. (draazon)


Lesenswert?

Hallo,

ich hatte bisher nur eine mechanische lösung des problems, was dann
aber zu umständlich ist... digikam, 2 servos und ein fallschirm in
einem behälter unter dem rumpf... alles muss abgeworfen werden damit
das flugzeug landen kann.

jetzt würde ich gerne videoaufnahmen machen, wofür mir dann eine lösung
überelektronik doch praktikabler erscheint.

ist es möglich das ich ein cameramodul irgentwie mit einem
usb-speicherstick verbinde? leider habe ich keine ahnung wie man einen
mikrocontroller programmiert...

mfg
DA

von Rahul (Gast)


Lesenswert?

>ist es möglich das ich ein cameramodul irgentwie mit einem
>usb-speicherstick verbinde?

Pattex...

>leider habe ich keine ahnung wie man einen mikrocontroller
>programmiert...

Um einen USB-Stick an ein Kamera-Modul anschliessen zu können, braucht
man einen USB-Host-Controller (Hardware) und den USB-Stack (Software).
Gehen könnte das alles...

von Dominic B. (draazon)


Lesenswert?

aha, und wie funktioniert das nun weis jemand eine seite mit einem tut?

von Alex Trusk (Gast)


Lesenswert?

http://www.beyondlogic.org/usbnutshell/

aber bevor du nen usb-host implementierst, wuerde ich eher zu
sd/mmc-karten raten. fuer nen usb-host wuerdest du hier im forum viel
anerkennung ernten. das ist naemlich alles andere als trivial und so
richtig hat sich da glaub ich noch keiner rangetraut.

von Rahul (Gast)


Lesenswert?

SD- (und MMC-)Karten werden zwar inzwischen von Panasonic zur
Speicherung von Videos benutzt, aber ich bezweifle, dass ein
"normalsterblicher" Bastler, Videos auf einer solchen speichern kann.
Die meisten (alle?) SD-Karten-Projekte arbeiten im SPI-Modus (der zur
MMC kompatibel ist), der aber wohl eher zu langsam ist, um Videos zu
speichern.
Die Kommunikation mit einer Flash-Karte ist relative trivial (wurde
schon mehrfach realisiert).
Video ist aber ne Klasse anstrengender...

von Alex Trusk (Gast)


Lesenswert?

hab ich was ueberlesen? ich dachte es geht um bilder und nicht um
video?
wenn ich von der mca-25 ausgehe, dann sollte es doch selbst mit der
schlechtesten spi-implementation moeglich sein 0.2 Bilder/sec zu
speichern. da kann man die bits ja fast von hand in den flash
meisseln...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Gerade bei Video erscheint mir der Ansatz mit einer herkömmlichen
Digitalkamera sinnvoller - die macht alles, was nötig ist und schreibt
das Resultat gleich fix und fertig auf eine SD- oder sonstwas-Karte.

Das kann auch 'ne 100 EUR-Billigknipse, man muss bloß aufpassen, daß
man nicht eine erwischt, bei der die Filmlänge durch was anderes als
die Speicherkartengröße beschränkt ist.

von Rahul (Gast)


Lesenswert?

@Alex:
>jetzt würde ich gerne videoaufnahmen machen

>hab ich was ueberlesen?
Scheint so...

Ich meine auf der Cebit oder eher der Hannover-Messe auf dem Stand von
DILNETPC (SSV Embedded Systems) eine Videolösung gesehen zu haben...
Wenn da nichts anderes (ausser Linux halt) drauf läuft, dann könnte man
damit Videos aufzeichnen.
Vielleicht gibt es ja noch irgendwo kleiner oder zumindest
leistungsfähigere Boards.

von Alex Trusk (Gast)


Lesenswert?

tatsache, da hat sich jemand mit in den thread gemogelt. ok, video wird
anspruchsvoller... aber dann wuerde ich erstmal klaeren, wo der
videostream in entsprechender aufloesung und framerate herkommt und wie
er in den controller kommt. wenn man dann erstmal die datenrate kennt,
kann man sich nach ner moeglichkeit umsehen, wohin das ganze dann
gespeichert werden soll. von usb-stick rate ich immernoch ab; mmc/sd
kommt mit wenigen pins aus und cf waere zu ueberlegen, damit hab ich
aber noch nicht gearbeitet.

von Fasti (Gast)


Lesenswert?

Hi!

Ich würde da der Einfachheit und Zuverlässigkeit halber einfach auf
eine Speicherung der Daten im Flugzeug verzichten und stattdessen eine
analoge Lösung anstreben. Schließlich ist ein Video digital in halbwegs
passabler Qualität aufzuzeichnen und zu speichern nicht mehr so trivial
und erfordert einiges an Rechenleistung, vor allem wen der Videostream
zur Speicherung noch kodiert werden muss. Am ehesten würde ich hier
eine gute Webcam mal ausschlachten probieren und das ganze dann an
einen ARM pappen.
Am einfachsten wäre sicher so eine "analoge" Kamera mit 2.4GHz
Funkübertragungssystem zu nehmen. Die Reichweite in der Luft kann man
sicher mit einer guten Antenne auf brauchbare Werte kriegen und
halbwegs klein, leicht und sparsam wäre es auch. Die Aufzeichnung
erfolgt dann halt am Boden mit entsprechender Hardware. Teuer ist es
obendrein auch nicht. Hab bei Pollin so eine kleine Kamera mit
Funkmodul für knapp 40€ gesehen. Braucht gerade mal 70mA bei 7,5
bis 12V. Mit der montierten Antenne bis 100m Reichweite im Freien ist
zwar nicht berauschend, durch entsprechende Anpassung aber sicher
verbesserbar. Und für 40€ ists auch mal egal wenn was
schiefgeht.

ciao

Fasti

von Rahul (Gast)


Lesenswert?

>Am einfachsten wäre sicher so eine "analoge" Kamera mit 2.4GHz
>Funkübertragungssystem zu nehmen.
Das Flugzeug bewegt sich... Da wird der Empfang nicht besser.
Bevor man solchen Schnick-Schnack anfängt, sollte man sich überlegen,
ob man nicht ne billige DV-Kamera erwirbt. Allerdings hat die dann
wieder Probleme mit den Vibrationen.
Bei einer Kauflösung gäbe es ja noch die Mini-Digital-Videokameras, die
auf SD-Karten speichern. Die Bild-Qualität ist vermutlich nicht sooo
prickelnd.

von Freak5 (Gast)


Lesenswert?

abo

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
Noch kein Account? Hier anmelden.