Bei Pollin gibt es gerade für 1,95€ ein Kameramodul CC137-0500-00B3, der Chip darauf soll ein NT8001MBG sein. Ich habe gleich mal eines mitbestellt. Wie zu erwarten sind im Netz keine Infos zu finden, das einzige interresante ist http://www.wer-weiss-was.de/theme59/article6120594.html der mir sagt daß dieses Modul anscheinend schon mal im Angebot war. Besonders interresant ist der 24-polige Anschluß, ich hoffe daß da nicht so viel Ansteuerung und Signalverarbeitung drin ist und ich den Sensor eventuell mit selbstgebasteltem Timing ansteuern könnte.
Moin, leider scheinen die Pollin-Basteleien immer im Nirvana zu versacken, weil das Reverse-Engineering der Module furchtbar aufwendig ist. Habe mal ein Kameramodul aus einem Sony P990 in Betrieb genommen, schon die passenden Stecker zu kriegen war eine Odyssee. Habe davon noch ein paar rumliegen (d.h. Module plus Stecker), falls es Dich interessiert, schreib mir ne PM. Ab und an gibts die Module auch in der elektronischen Bucht, und bei Alibaba kriegt man sie u.U. noch in Massen. Grüsse, - Strubi
Mit der neuen Bestellung ist das Kameramodul nun wirklich angekommen. Erst einmal die Aufschriften: Flachbandleitung Oberseite vom Steckende CC137-0500-00B3 Flachbandleitung Rückseite P20081 060911 Kameraseite (Spule für Linsenbewegung?) SHICOH ADM 665A IC in BGA NOVATEK NT8001MBG 0610A D24YT1 Kleines IC mit 6 Anschlüssen, könnte Treiber für Fokusspule sein E06 Wenn ich es geschafft habe das Anschlußende im 0,5mm-Raster auf eine Adapterplatine zu löten kann ich auch mal ein paar elektrische Tests machen.
Naja, es ist ein 24-pin camera module. Google "camera module 24-pin" Das klingt nach "MIPI CSI-2 Interface". zb. Omnivision OV7670MFSL . oder http://www.alibaba.com/product-gs/1444440805/jpeg_camera_module_ov2640_24_pin.html Hat jemand schonmal das Ding in ein Interface gesteckt und was gesehen? Würd mich nämlich auch interessieren. (Bin nicht so wirklich der Camera-modul experte) Gruss
Hat mittlerweile jemand die Kamera am Laufen? Die von Tom K. gefundene Anschlussbelegung scheint zu passen: Die Stromaufnahme ändert sich wenn man einen Takt an XCLK anlegt oder wenn man RESET# toggelt. Auch über I2C ist die Kamera unter der Adresse 0xC2 ansprechbar, aber an den Ausgängen tut sich leider nichts. Die Kamera benötigt wohl leider eine Init.
Ich habe die Kamera nun zum Laufen bekommen. Die Kamera ist nicht schlecht: Einstellbare Auflösung bis 1600x1200, verschiedene Farbformate und Autofokus. Die Kamera braucht zwar relativ viel Licht um gute Bilder zu machen, ansonsten ist an der Bildqualität aber nichts aussetzen, vor allem bei dem Preis.
Klingt sehr interessant, danke! Was ist noch an weiteren Informationen aufzutreiben, was hast Du herausgefunden? Wie macht sie sich insbesondere bei ganz kurzen Distanzen, quasi Makrobereich? Kann man den Fokus auch manuell steuern? Dank für Info im Voraus! Kolja
Fred schrieb: > Ich habe die Kamera nun zum Laufen bekommen. Magst Du uns erhellen, wie Du das gemacht hast?
Da ich mir nun ein paar von den Teilen gesichert habe, kann ich jetzt alle Infos verraten. Aufzutreiben an Informationen ist leider garnichts, aber das ist bei Novatech ICs normal. Zuerst habe ich mit der Diodentestfunktion alle Pins gemessen. Damit hatte ich schonmal alle Vcc und GND Pins und auch alle Daten und sonstige Leitungen, gruppiert nach der Flussspannung. Dies Gruppierung passte zu der auch bei anderen Kameras üblichen 24 Pin Belegung, also habe ich diese Belegung einfach mal übernommen und IOVcc=AVcc2,8V und CoreVcc=1,8V verwendet. Keine Ahnung ob es korrekt ist, aber es geht. Das IC reagiert damit schonmal auf Reset\ und Powerdown\, aber leider tut sich auf den restlichen Leitungen nichts. Daher habe ic es mit brute-force versucht: Zuerst den I2C Bus abgesucht bis ein Ack bei 0xC2 kam. Danach in allen Registern jeweils ein Bit geändert bis der Pixeltakt anging: 0x42 in Register 0x60 schreiben. Von da an war es einfach, da die Kamera auch ohne weitere Einstellungen bereits ein brauchbares Bild mit YUV ausgibt. Der Pixeltakt ist allerdings nicht durchgehend, sondern besteht aus kurzen Bursts mit Pausen dazwischen, also ist die Auflösung vermutlich reduziert. Daher habe ich das ganze wiederholt und bei Register 0x61 hatte ich auf einmal einen anderen Takt. Das scheint das Ausgabeformat einzustellen: Bits [7:4] stellen die Auflösung ein. Von etwa 96x64 bis 1600x1200 ist alles dabei. Da ich mich nur für die hohen Auflösungen interessiere, habe ich nicht alle ausgetestet: 0x7 ist 1600x1200, 0x4 ist 640x480, 0x5 ist 800x600. Bits [3:0] stellen das Ausgabeformat ein. 0xA ist YUV, 0xB scheint YVU zu sein, 0x5 könnte BT656 mit embedded sync sein. Es gibt noch ein paar weitere Modi die ich nicht näher untersucht habe. YUV444 und RGB565 scheinen auch dabei zu sein. 0x0A in Register 0x63 startet den Autofokus. Man sieht dann schön wie sich die Spannung an der Spule schrittweise ändert und anschließend zum besten Fokuspunkt zurückkehrt. Die Kamera kann sich von unter 5cm bis unendlich scharfstellen. Register 0x62 schaltet das Bild auf Schwarzweiß oder invertiert es. Da solche Spielereien aber eher uninteressant sind, habe ich das nicht näher untersucht. Alle interessanten Register scheinen also im Bereich 0x6x zu liegen. Da kann man also nach belieben Spielen und schauen was passiert. Dass die Kamera kaputt geht ist unwahrscheinlich und wenn doch, es sind nur 0,75€. Wie gesagt bin ich mir bei den Spannungen unsicher, aber 1,8V Core Spannung könnte plausibel sein bei einem IC von 2006. Ich will auch mal 3,3V IO Spannung ausprobieren. Auch beim Master Takt musste ich raten. Ich habe 16MHz verwendet. Der erzeugte Pixeltakt ist etwas höher mit einem krummen Faktor gegenüber dem Masterclock (etwa 1,8x). Da bei 1600x1200 die Framerate nur 7fps beträgt, kann man vermutlich mit dem Takt noch etwas hoch gehen (25-30MHz, so dass man bei 50MHz Pixeltakt landet). An einen AVR kann man die Kamera eher nicht anschließen, aber am DCMI von einem STM32 oder an einem FPGA läuft diese problemlos. Die Kamera scheint relativ intelligent zu sein, da diese den Autofokus komplett selbständig erledigt und auch alle nötigen Änderungen beim Umstellen der Auflösung macht. Ebenfalls scheint diese auch automatisch verschiedene Modi bei der Belichtung zu ändern (Reduzierung der Framerate bis auf 4fps, stärkeren Rauschfilter bei wenig Licht). Bei niedrigeren Auflösungen ist die Framerate höher als bei hohen Auflösungen. Ich habe mit ausreichend Licht knapp über 30fps bei 640x480 gemessen. Die Bildqualität ist ok, aber die Kamera braucht etwas Licht um rauschfreie Bilder zu machen. Die Kamera ist auch schon 10 Jahre alt, daher nicht mit modernen Kameras vergleichbar. Damals war diese aber vermutlich nicht billig, Autofokus sieht man bei solchen Kameras eher selten wegen der sowieso schon recht hohen Schärfentiefe aufgrund der kleinen Linse. Viel Spaß beim Spielen mit der Kamera!
Hi, > passte zu der auch bei anderen Kameras üblichen 24 Pin Belegung Damit meinst Du die auch hier im Thread (im 4. Beitrag) abgebildete Belegung, oder? Davon ausgehend (nach nur einer kurzen Prüfung, dass tatsächlich AGND und DGND im Modul verbunden scheinen) habe ich AGND(2)/DGND(15), AVDD(4)=DOVDD(11)=2,8V, DVDD(10)=1,8V angeschlossen, und (jeweils mit DOVDD=2,8V) - 16 MHz Takt an XCLK(13) - sowie 1,5k Pullups an SIO_D(3) und SIO_C(5) - PWDN(8)=0 - und RESETN(6)=1 Umschalten von RESETN wirkt sich deutlich auf die Leistungsaufnahme aus. Aaaber ich kriege keinerlei Reaktion an SIO_D, kein ACK. Nicht mal ein Hauch davon ist wahrzunehmen. I2C vom Prozessor (HPS in Cyclone V FPGA) geht jeweils so auf die Pins (Output von dort kommt invertiert als Enable):
1 | cam0_sio_c <= '0' when hps_i2c2_scl_out='1' else 'Z'; |
Irgendwas blödes überseh' ich wohl gerade... fällt irgendjemand was auf? Grüsse, Kolja
:
Bearbeitet durch User
Weitere brauchbare Features konnte ich der Kamera leider nicht mehr entlocken. Das IC scheint auch recht selten zu sein, google findet praktisch nichts zum NT8001. Ein paar Infos die vielleicht helfen die Kamera in Betrieb zu nehmen: Der Eingangstakt sollte bei <20MHz liegen. Bei 27MHz reagiert die Kamera überhaupt nicht, das ist also deutlich zu hoch. Mit 12-18MHz läuft die Kamera bei mir problemlos, für 27MHz Pixeltakt werden etwa 14.7MHz benötigt. Ein niedrigerer Pixeltakt macht bei der Auflösung wenig Sinn, daher ist ein Systemtakt im Bereich um 15MHz vermutlich korrekt (es sei denn man kann über einen mir unbekannten Befehl den internen PLL Faktor erhöhen). Nach einem Reset Impuls benötigt die Kamera eine Weile bis sie bereit ist: Ich verwende 0,75s bevor ich die Init über I2C rüberschiebe, damit läuft die Kamera bei mir stabil.
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.