Aus Raspberry Pi Geek 04/2022

ArduCam IMX219 Autofokus Kameramodul

© stylephotographs / 123RF.com

Get closer

Dr. Günter Pomaska

Den offiziellen RasPi-Cams fehlen für die Makrofotografie wichtige Funktionen wie Autofokus oder eine softwaregesteuerte Fokuseinstellung. Das Modul von ArduCam rüstet sie nach.

Das Modul Raspberry Pi Camera V2 [1] oder kurz Pi Cam bietet die Raspberry Pi Foundation offiziell für den RasPi Zero sowie den RasPi 3 und 4 an. Es gibt sie auch ohne Infrarotfilter in der Variante NoIR mit 8 Megapixeln Auflösung. Die Raspberry Pi High Quality Camera (HQ Cam [2]) wartet mit 12 Megapixeln auf.

Während die Pi Cam (Abbildung 1) mit dem Sony-Sensor IMX219 bei fester Blende und Fixfokus Objekte im Nahbereich erst ab etwa 70 Zentimetern Distanz scharf abbildet, gelingen mit der HQ Cam (Abbildung 2) bei manueller Fokussierung bis in den Nahbereich ab wenigen Zentimetern scharfe Bilder. Das Board der HQ Cam verfügt über eine C- beziehungsweise CS-Aufnahme für Wechselobjektive. Sie eignet sich auch für gängige Linsen wie das 6-Millimeter-Weitwinkel- und das 16-Millimeter-Teleobjektiv.

Abbildung 1: Die Standardkamera der Raspberry Pi Foundation löst mit 8 MPixeln auf und verfügt über einen Fixfokus. Quelle: Raspberry Pi Foundation

Abbildung 1: Die Standardkamera der Raspberry Pi Foundation löst mit 8 MPixeln auf und verfügt über einen Fixfokus. Quelle: Raspberry Pi Foundation

Abbildung 2: Die HQ-Variante wartet mit 12 MPixeln Auflösung und einem verstellbaren (allerdings nur manuell) Fokus auf. Quelle: Raspberry Pi Foundation

Abbildung 2: Die HQ-Variante wartet mit 12 MPixeln Auflösung und einem verstellbaren (allerdings nur manuell) Fokus auf. Quelle: Raspberry Pi Foundation

Der Unterschied in der Kameraauflösung zwischen der Pi Cam (IMX219, 8 MPixel, 3280 x 2464) und der HQ Cam (IMX477R, 12 MByte, 4608 x 3456) fällt erheblich aus. Nun muss man sich fragen, ob im extremen Nahbereich die Höhe der Auflösung letztlich eine große Rolle spielt, von den besseren optischen Qualitäten einmal abgesehen.

Makrofotografie

Nehmen wir exemplarisch ein Objekt mit einer Größe von 2 Zentimetern. Dann kommt es bei 8 MPixeln zu einer Objektauflösung (Footprint) von 0,006 Millimetern. Die 12 MPixel der HQ Cam bringen es auf 0,004 Millimeter – zwar nur ein theoretischer Wert, aber immerhin.

Nun spielt, zumindest für den Hobbyanwender, das Budget durchaus eine Rolle. So kostet die HQ Cam 54 Euro ohne Objektiv, die Pi Cam um die 25 Euro. Testaufnahmen zeigen, dass die HQ Cam unter anderem auch aufgrund der manuellen Blendeneinstellung deutlich bessere Ergebnisse liefert.

Nun bietet ArduCam (Abbildung 3) ein softwaregesteuertes fokussierbares Kameramodul an, das ab etwa 3 Zentimetern Nahentfernung scharfstellt. Es trägt den zungenbrecherischen Namen ArduCam IMX219 Auto Focus Camera Module (SKU: B0182 [3]). Wir werfen im Folgenden einen detaillierten Blick darauf und sehen uns die Ergebnisse an.

Abbildung 3: Das ArduCam-IMX219-Modul mit Autofokus montieren Sie mit wenigen Handgriffen auf das Board der Raspberry Pi Camera V2.

Abbildung 3: Das ArduCam-IMX219-Modul mit Autofokus montieren Sie mit wenigen Handgriffen auf das Board der Raspberry Pi Camera V2.

ArduCam B0182

Das ArduCam-Modul zum Preis von etwa 25 Euro besteht aus dem IMX219-Sensor, einem Motor und der Kontrolleinheit. Dieses kompakte Kameramodul tauschen Sie gegen den Sensor mit der Linse auf dem Board der Pi Cam aus. Die direkte Verbindung lässt sich leicht trennen und einfach wieder einklicken. Für die HQ-Variante eignet sich das Bauteil nicht.

Unter der Linse befindet sich der Motor, der den Abstand zwischen Linse und Sensor verändert, wodurch die Fokussierung erfolgt. ArduCam stellt die notwendige Software über Github [4] bereit. Nach dem Herunterladen (Listing 1, erste Zeile) wechseln Sie in das Verzeichnis mit den Unterverzeichnissen für C und Python (Zeile 2). Die Bibliotheken für die Tastaturabfrage und die Motorsteuerung befinden sich im Unterverzeichnis python/lib/.

Listing 1

Modul einrichten

$ git clone https://github.com/ArduCAM/RaspberryPi.git
$ cd home/pi/RaspberryPi/Motorized_Focus_Camera
$ chmod + x enable _i2c_vc.sh
$ bash ./enable_i2c_vc_vh
[... Reboot ...]
$ python Motorized_Focus_Camera_Preview.py

Über die Pins 13 und 14 des CSI (Camera Serial Interface) erfolgt die Kameraverbindung mit dem I2C-Bus, der den Fokusmotor bedient. Dazu müssen Sie zunächst die I2C-Schnittstelle freigeben, was die Befehle aus den Zeilen 3 und 4 von Listing 1 erledigen. Nach einem Reboot erstellen Sie mithilfe der Demosoftware ein Vorschaubild (Zeile 6). Dabei fokussieren Sie mit [Pfeil-oben]+ und [Pfeil-unten]. Mit [Strg]+[C] brechen Sie den Prozess ab.

Die Demosoftware eignet sich auch als gute Basis für eigene Programmierung. In der Funktion runCamera() aus der Datei Motorized_Camera_Preview.py zeigt der Systemaufruf raspistill -t 0 das Vorschaubild endlos an.

Mit geringfügiger Modifikation erhalten Sie schon eine brauchbare Aufnahmekonfiguration: In unserem Beispiel kommt eine etwas modifizierte Version von runCamera() zum Zug, die im Abstand von 20 Sekunden insgesamt fünf Bilder auslöst. Während der Zeitverzögerung stellen Sie durch Betätigen der Pfeiltasten den Fokus ein.

Listing 2

runCamera()

def run_camera(name):
  #os.system("raspistill -t 0 ")
  for i in range(0,5):
    filename = "motiv_" +str(i) +".jgp"
    print (filename, focus_val)
    os.system ("raspistill -t 20000 -p 0,0,640,480 -vf -hf -o " +filename)
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben