www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kamera für Atmel gesucht


Autor: philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal guten Abend,

Zu diesem Thema gibt es ja nun schon einiges in diesem Forum, aber ich 
habe noch eine Frage.

Ich will eine Kamera, die ich mit einem Atmel µC Auslesen kann.
Die meisten hier scheinen dafür eine normale CMOS-Kamera zu nehmen und 
das Bild dann durch den AD-Wandler zu jagen.
Über die Framerate die man damit erreichen kann gehen die Meinungen aber 
weit auseinander, also:

1. Frage:
Wie viele Bilder Pro Sekunde (Minute) krieg ich mit einem ATmega hin 
(billige S/W Kamera, Auflösung ca. 300x300,)?

2.Frage:
Gibt es auch Kameras die das Signal schon digital ausgeben? am besten 
rs232^^.
Währe man damit schneller unterwegs?

Welche Lösung erfordert weniger Rechenleistung/Zeit?

Ist die Datenmenge bei dieser Auflösung für einen µC überhaupt noch 
handhabbar?

Der SRAM wird hier wohl nicht reichen oder?

PS: der Atmel soll das Bild zunächgst nur einlesen, ein Komplettes Frame 
Zwischenspeichern und dann über UART an einen PC weiterschicken ( ja ich 
weiss, ziemlich sinnlos wenn man eine serielle kamera hätte, das 
weiterschicken währe aber nur ne kontrolle, ob er das bild auh richtig 
gekriegt hat^^)

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
philipp schrieb:
> 1. Frage:
> Wie viele Bilder Pro Sekunde (Minute) krieg ich mit einem ATmega hin
> (billige S/W Kamera, Auflösung ca. 300x300,)?

Um ein Bild mit einem AVR zu digitalisieren, muss es ein Standbild sein, 
denn man benötigt mehrere Durchläufe.
Pro Durchlauf schafft man 2 Pixel pro Zeile wenn man es geschickt macht. 
Für 300 Pixel benötigt man also 150 (halbe) Frames = 3s. Der ADC läuft 
dazu mit mindestens 31250Hz Samplerate. Damit käme man auf eine 
Auflösung von 300x288.

> 2.Frage:
> Gibt es auch Kameras die das Signal schon digital ausgeben? am besten
> rs232^^.
> Währe man damit schneller unterwegs?

Ja, diverse Handycams wie die MCA25 oder die DC3840.

> Welche Lösung erfordert weniger Rechenleistung/Zeit?

Die Handycam.

> Ist die Datenmenge bei dieser Auflösung für einen µC überhaupt noch
> handhabbar?

Handhabbar im Sinne von durchschleifen ja. Intern speichern nein, ohne 
großen externen RAM.

Autor: philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke, dann werd ich demnächst eine Handycam in der Bucht schiessen^^

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt verschiedene Fertigkombinationen von Kamera und Mikrocontroller.
Darunter zB die CMUcam (http://www.cmucam.org/wiki/WikiStart)
die Blackfin (http://www.surveyor.com/blackfin/)
oder POB-Eye: 
(http://www.nodna.com/xtc/product_info.php?info=p11...)

Die benutzen alle digitale Kameramodule von Omnivision. Die spucken 
direkt Pixelweise ihre Daten aus und das mit bis zu 60 Bildern pro 
Sekunde.

Ob du das mit deinem ATmega hinbekommst zu verarbeiten ist ne andere 
Frage. Aber die Kameras bieten viele Einstellmöglichkeiten wie zB die 
fps-Zahl oder ich glaube sogar ein down-scaling zum verkleinern der 
auflösung.

Wenn du aber mit dem Bild wirklich was anfangen willst empfehle ich dir 
einen stärkeren µC wie einen ARM7 oder ARM9 oder eben einen Blackfin. 
Das einfachste ist sich so ein fertiges Modul zu besorgen, da sind dann 
auch Beispielprojekte dabei und man kann sich sicher sein dass alles 
out-of-the-box funktioniert.

Autor: Gameboy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn 128x128 Pixel reichen kommt evt. auch noch die sehr kleine und 
preiswerte Gameboykamera in Frage. Infos z.B. unter 
http://sophiateam.undrgnd.free.fr/microcontroller/camera/
Bei dem eigentlichen Kameramodul handelt es sich um einen einzigen CMOS 
Chip mit integrierter Logik und einer Optik. Man muss sich selbst um die 
Belichtungszeiten etc kümmern, was aber alles über Register in diesem 
Chip läuft.

Die Bilddaten werden Pixelweise analog ausgelesen und mit beliebiger 
Genauigkeit digitalisiert. Macht bei 8bit Auflösung 16kiB pro Bild.
Läuft der ADC eines AVRs z.B. mit 200kHz Samplingrate ergeben sich schon 
ein paar Bilder pro Sekunde.

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Läuft der ADC eines AVRs z.B. mit 200kHz Samplingrate

200 kHz Samplerate mit ADC des AVRs? Ist das nicht Utopie?

...

Autor: Gameboy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar, das ist wohl etwas viel. 1 MHz ist die Grenze laut Datenblatt. Bei 
15 Zyklen pro kompletter Wandlung macht das gut 66 kS/s.
Toztdem macht das noch etwa 4 Bilder pro Sekunde.

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Klar, das ist wohl etwas viel. 1 MHz ist die Grenze laut Datenblatt.

Dann hast Du wohl andere AVRs als ich...

Empfohlener ADC-Takt ist lt. Datenblatt 50 bis 200 kHz. Der (binäre) 
Vorteiler bietet bei internem Controllertakt (1MHz oder binäre 
Vielfache) innerhalb dieses Bereiches die ADC-Takte 250 kHz, 125 kHz und 
62,5 kHz an, wobei 250 kHz (was schon etwas oberhalb der Empfehlung ist) 
eine Samplerate von 19,2 kHz (13 ADC-Takte pro Wandlung) ergibt.

Die nächste Frage wäre dann, wo der AVR die Daten lassen soll. Externer 
RAM verkompliziert die Platine derart, dass man auch gleich einen 
anderen Controller mit mehr internem RAM benutzen kann, der dann auch 
noch mehr Rechenleistung hat und somit in der Lage ist, die Kameradaten 
zu analysieren und auf Ereignisse zu reagieren. Denn ich gehe mal davon 
aus, dass dies Ziel der Aktion ist. Zum einfachen Sammeln der Bilder auf 
dem PC oder einem Videorecorder braucht es keine Selbstbau-Lösung, dafür 
gibt es spottbillige und zuverlässig funktionierende Systeme (USB-Cam, 
Überwachungs-Cam).

...

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hannes Lux schrieb:
>> Klar, das ist wohl etwas viel. 1 MHz ist die Grenze laut Datenblatt.
>
> Dann hast Du wohl andere AVRs als ich...
>
> Empfohlener ADC-Takt ist lt. Datenblatt 50 bis 200 kHz.

Beides ist richtig (und steht auch beides irgendwo im Datenblatt): Im 
Bereich 50-200kHz ist die volle Auflösung nutzbar, bis 1MHz ist der ADC 
noch nutzbar, aber mit verringerter Auflösung (irgendwo zwischen 6-8bit 
bei 1MHz). Darüber nehmen die Verzerrungen schnell zu, das Ergebnis wird 
unbrauchbar.

Autor: Marvin M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bildauswertung mit AVR: http://www.jrobot.net/Projects/AVRcam.html
Ich hab noch nicht herausgefunden, wie die Software funktioniert - 
aber sie tut es. Mit einem Mega-8 können bis zu 8 Objekte erkannt 
werden, die Koordinaten werden über die serielle Schnittstelle gesendet.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVRs mit externem RAM-Interface bieten sich hier an, zum Beispiel der 
Mega128 oder die neueren Derivate 1280, 1280 oder größer. Wenn man bei 
AVRs bleiben möchte. Alternativ wäre der XMega128A1 mit besserem, 
schnellerem ADC und besserer Performance nutzbar.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.