www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kameramodul


Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich möchte mit einem Kameramodul ein Zimmer überwachen ...
Folgendes hab ich mir gedacht:
 - Ein Mikro und ein bisschen Elektronik: Der uC soll ca. zwei Minuten 
alle paar Sekunden ein Bild aufnehmen´
 - Die Bilder sollen in einem externen I2C EEPROM gespeicherrt werden -> 
evtl. zuerst Zwischenspeicherung in einem externen RAM
 - Es soll ein einfaches s/w Kameramodul verwendet werden
 - Die Bilder sollen nachher per RS232 an einem PC auslesbar sein.

Jetzt meine Frage - was für ein Kameramodul soll ich da verwenden und 
wie kann ich die Daten möglichst einfach digitalisieren? Kann ich das 
folgende Kameramodul von Conrad verwenden?

http://www.conrad.de/scripts/wgate/zcop_b2c63c7069...

Das ganze sollte so billig und v.a. einfach wie möglich werden. 
Verwenden möchte ich einen AtMega - welchen genau werde ich später noch 
entscheiden, wenn ich weiß, wie ich das mit der Kamera geregelt bekomm. 
Programmieren möchte ich alles entweder in C oder in Assembler.

Beste Grüße und vielen Dank!
Steffen

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab gerade gemerkt, dass der Link niocht mehr funzt.
Hier die Artikelnummer: 150001-13

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du mal ausgerechnet, wie groß die Bilder werden? Selbst bei 160x100 
Pixel mit 256 Graustufen sind das 16KB pro Bild. Die bekomsmt Du 
vermutlich nicht in der nötigen Geschwindigkeit in das EEPROM, also mußt 
Du sie im RAM zwischenspeichern. Dein RAM ist aber nicht groß genug, 
also kannst Du pro Bild immer nur ein Teil aufnehmen und speichern; d.h. 
Du mußt Dein Ergebnisbild aus mehreren Originalbildern 
zusammensstückeln.

Außerdem sind die größten I2C EEPROMs die leicht erhältlich sind die 
24C512, die haben aber nur 32KB Speicher, d.h. ein Chip kann maximal 2 
Bilder aufnehmen.

Als A/D-Wandler brauchst Du einen, der mindestens 3MSPS bei 8Bit macht, 
da gibts verschiedene, z.B. den TDA8703.

Die Kamera selbst ist wohl ok, erwarte aber keine Wunder von der 
Bildqualität.

Prinzipiell solltest Du Dir aber erstmal überlegen, welche Bildqualität 
Du möchtest. Ich halte die o.g. 160x100@256 Graufstufen für das unterste 
Limit, aber vielleicht reichen Dir ja auch 80x60 mit 16 Graustufen oder 
so, spiel einfach mal mit einer Bildbearbeitung rum damit Du die 
Qualität beurteilen kannst. Außerdem wäre noch die Frage, ob Du anstatt 
einem seriellen I2C EEprom nicht vielleicht ein serielles oder gar 
paralleles Flash verwenden möchtest.

Markus

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrektur: 24C512 sind natürlich 64KB, können also 4 Bilder aufnehmen.

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus,
danke für deine Antwort.

Also einen SRAM als Zwischenspeicher würde ich auf jeden Fall verwenden. 
Ich möchte einen externen verwenden, der könnte bis zu 32kb aufnehmen.
NAchdem das Bild also digitalisiert wurde und im SRAM gelandet ist, muss 
ich es in ein EEPROM speichern lassen. Bestehe bei dem genannten EEPROM 
nicht die Möglichkeit, mehrere Chips zu verwenden (z.B. 2 -> 8 Bilder).

Hast du dir die Kamera mal angesehen, würde das mit der gehen?
Den AD Wandler dann also mit dem Eingang an den Composite Ausgang der 
Kamera hängen ...

Was für einen Vorteil würden mir die Flashes bieten?

Grüße
Steffen

Autor: Mark de Jong (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Wenn du keine hohe auflösung brauchst, kuck mal mach der Gamboy Kamera, 
findest du über google.

Als speicher kannst du auch NVRAM nehmen, Texas Instruments hat die bis 
2 MBytes.

Bei EEPROM und FLash solltest Du auf die maximale lösch zahl achten.

Grüße Mark.

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woher bekommt man den NVRAM, das wäre schon gut!
Die Gameboykamera schau ich mir grade mal an ...

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Gameboy kamera ist eine echte Alternative!
Auch von der Auflösung her ist es genau so, wie ich mir das vorstelle. 
Ich werd mir die Kamera bei Ebay besorgen.
Mit der Auslesegeschwindigkeit kann ich wohl auch den TDA8703 verwenden.

Kann man den NVRAM auch so schnell wie einen SRAM ansteuern? Dann 
bräuchte ich keinen extra SRAM. Wahrscheinlich wäre dann ein paralleler 
am besten, oder?

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steffen:
Man kann schon mehrere serielle EEPROM an einen Bus hängen, aber die 
(parallelen) Flashes sind billiger und größer.
Ein 24C512 (64KB) kostet bei Reichelt 4,75 Euro, ein 29C040 (512KB 
Flash) kostet dagegen nur 3,90 Euro. Da würden dann 32 Bilder 
reinpassen.

Die Frage ist aber, ob Du eigentlich überhaupt nichtflüchtigen Speicher 
brauchst. Du könntest das Ganze ja auch Akkugepuffert in einem SRAM 
speichern. NVRAM ist im Prinzip auch nix anderes, dürfte aber vermutlich 
relativ schwer erhältlich sein.

Markus

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich würde gerne einen nicht flüchtigen Speicher verwenden. Der 
Flash hört sich gut an - ist auch nicht schlimm, dass man es nicht 
unendlich oft beschrieben kann ...

Ich werde dann einen parallelen SRAM mit Latch un 32k Speicherplatz 
verwenden ... Da hab ich schon einige zu Hause und 32 k reichen ja 
locker aus.

Autor: Mark de Jong (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Steffen,

NVRAM ist 'normales' SRAM mit batterie und überwachungs circuit, also 
beschreibbar wie SRAM behält aber die daten ohne spannung.

Und die 1 Mbytes module (BQ4016) vom Texas Instrument kann Ich dir 
anbieten für 35 EURO.

Wenn Du noch schnelle AD wndler brauchst, Ich hätte auch noch welche.

Grüße Mark,

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Mark,

danke für die Erklärung - war zwar unnötig, aber trotzdem ;)

Das ist bestimmt ein gutes Angebot, aber leider sond mir 35 Euro ein 
bisschen zu teuer, zumindest im Moment, wo ich noch net mal sicher weiß, 
ob ich das hinkrieg ...

Aber einen schnellen AD Wandler könnt ich schon brauchen ... Was hast du 
denn für welche und was kosten die?

Grüße
Steffen

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der von mir o.g. TDA8703 hat 8 Bit, macht 40MSPS und kostet bei Reichelt 
7,15 Euro.

Autor: ERDI - Soft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm doch zur Speicherung DataFlash von Atmel. Sind groß, relativ 
einfach seriell zu beschreiben, und nicht allzu teuer (hab die Teile 
aber bisher nur bei Segor gesehen). Die neuen Modelle haben nen 
High-Speed SPI-Port, die älteren verkraften immerhin noch ne 
Taktfrequenz bis 20MHz. Die 16MBit-Version kostet bei Segor 8€.
Problem dabei ist halt, wie bei allen Flash-Speicher, die begrenzten 
Schreibzyklen.

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ein ähnliches Vorhaben hatte ich mir auch in den Kopf gesetzt.
Erstmal muss ich sagen, für weniger als 10 Euro liefert die 
352x288-s/w-Kamera doch einigermaßen gute Bilder.
Nett ist auch, dass man das Modul quasi ohne Beschaltung verwenden kann; 
zumindest testweise.

Allerdings frage ich mich, wie genau ich die Synchronisation hinbekomme. 
Nach allem, was ich weiß, liefert die Kamera doch ein Composite-Signal 
von Vss = 1 V, wobei bei 30% Schwarz, bei 100% Weiß und bei 0% die 
Synchronisation vorliegt (muss mir nochmal die Spezifikationen genau 
ansehen).

Wenn ich nach jeder Zeile synchronisiere, wie teile ich dann die 
gewonnenen Daten auf meine 352 Pixel auf?
Muss ich den µC einmal die Zeit für eine Zeile messen lassen und dann im 
Vergleich dazu in 352-stel Abständen meine Werte abspeichern?
Ich müsste mich dann ja darauf verlassen, dass das Timing wirklich 
stimmt.
Wie würdet Ihr die Sache angehen?

Grüße

Jens

Autor: Meike Waldmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,
ich hab mir das Kameramodul auch bei Konrad gekauft. Ich hab es so
angeschlossen wie es die Schaltung auf der Rückseite beschreibt. Nur es
kommt einfach kein Bild. Kann es sein dass dieses Modul defekt ist?

Grüße Meike

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also testweise reicht es vollkommen aus, die Kamera auch ohne externe
Bauteile zu betreiben (um andere Fehler auszuschließen).
Einfach stabilisierte 5 Volt an Pin 3 (+) und und Pin 2 (Masse), sowie
Composite-Ausgang an Pin 1 (Innenleiter) und ebenfalls an Pin 2
(Abschirmung).

Sofern Du jetzt noch den richtigen Eingang am TV erwischt (meistens
gelber Cinch), müsste es auf Anhieb klappen. Natürlich musst Du noch
den richtigen Kanal am Fernseher wählen (AV, oder sowas).

Wenn alles nicht klappt, ict das Modul evtl. wirklich defekt.

Jens

Autor: Achim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus:
Du hast einen 29C040 zur Datenspeicherung erwähnt. Hast du diesen schon
mal in Verbindung mit einem AVR zur Speicherung von Daten benutzt? Ich
habe vor einiger Zeit mal versucht einen per AVR zu beschreiben,
allerdings ohne großen Erfolg.

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun wir wär's mit einer MMC Karte wie sie in MP3 Playern, Handys usw
eingesetzt wird? Die kosten bei ebay etwa 50cent pro MB, werden
resourcenschonend über SPI angesteuert, sind klein und portabel.

Autor: Meike Waldmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,

vielen Dank für deine schnelle Antwort. Du hast mir wirklich
weitergeholfen. Ich hatte an der Abschirmung ausversehen statt Masse
+5V angeschlossen. Aber jetzt funktioniert alles wunderbar!
Danke.

Deine Meike

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir übrigens mal o.g. ADC (TDA 8703) besorgt, der scheint mir
für meine Zwecke genau der richtige zu sein.
Ich rätsel aber noch, wie viele Samples ich pro Sekunde brauche, d.h.
wie ich die Taktfrequenz des Converters auslegen soll.

Ein Zeilendurchlauf benötigt 52 µs (Bildinformationen) + 12 µs
(Zeilensynchronisation). Bei 352 Pixeln pro Zeile hieße das
52µs/352Pixel = 1,48e-7 s/Pixel = 6,77 MHz.
Kann das jemand bestätigen? So einen Quarz werde ich wohl nicht
bekommen. Vielleicht hat zufällig schon jemand von Euch Erfahrungen
damit gesammlt.

Jens

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du eh nur s/w hast, dann ist das mit der Auflösung nicht so genau.
Nimm einfach 6 oder 8 MHz, dann hast Du eben 312 bzw. 416 Pixel.

Markus

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.