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^^)
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.
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=p1118_POB-Eye-Intelligent-Color-Robot-Camera.html) 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.
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.
> Läuft der ADC eines AVRs z.B. mit 200kHz Samplingrate 200 kHz Samplerate mit ADC des AVRs? Ist das nicht Utopie? ...
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.
> 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). ...
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.