2481948

Fotoslider mit Raspberry Pi

21.01.2020 | 09:18 Uhr | Swen Hopfe

Für Effektaufnahmen gibt es Slider, die Kameras über eine gewisse Strecke bewegen. Während die Kamera fährt, werden Videos oder Einzelbilder gemacht.

Für den Hobbyfotografen sind solche Slider mehr oder weniger einfache Anordnungen. Es gibt auch welche mit Motortrieb und Fernsteuerung, die sind dann aber entsprechend teuer in der Anschaffung.

Warum also nicht ein eigenes Gerät bauen, wo ein Raspberry Pi den Motortrieb und die Kamera steuert.

Nachdem wir über die benötigte Hardware nachgedacht haben, wählen wir einen Pi mit großem Formfaktor. Die klassische Platine bringt gleich genug USB-Anschlüsse mit, um weitere Peripherie wie Tastatursender und einen Speicherstick stecken zu können.

Raspberry Pi mit Display für die GPIO-Leiste
Vergrößern Raspberry Pi mit Display für die GPIO-Leiste
© Swen Hopfe

Auf der GPIO-Leiste lässt sich ein geeignetes LCD-Display mit Touchfunktion aufsatteln und in einem gemeinsamen Gehäuse unterbringen. Damit steht ein Bedienpanel zur Verfügung, über das später vorrangig alle Eingaben erfolgen sollen.

In welchem Release der Pi daherkommt, ist in unserem Projekt nicht ganz so wichtig. Damit wir aber mit einer aktuellen Betriebssystem-Version arbeiten können, sollte es mindestens ein Raspberry Pi 3 sein.

Steppermotoren bieten den Vorteil, dass sie taktbar sind und man deshalb recht gut weiß, wie viele Umdrehungen sie aktuell gemacht haben, denn wir wollen ja beständig unter Kontrolle haben, an welchem Punkt Schlitten und Kopf gerade stehen. Überdies lassen sie sich langsam drehen.

Für unseren Slider sollen zwei etwas höhere NEMA-17-Motoren zum Einsatz kommen, die noch relativ kompakt und gleichzeitig kräftig genug sind.

NEMA-17-Steppermotoren
Vergrößern NEMA-17-Steppermotoren
© Swen Hopfe

Bei den NEMA-Steppern sind wesentliche Parameter bezüglich Befestigung und Wellendurchmesser standardisiert, so dass man sich im Anschluss diverses Zubehör wie Ritzel, Riemen und Umlenkrollen beschaffen kann.

Damit soll nun ein käuflicher Slider umgerüstet werden, indem er den Motortrieb und eine intelligente Logik bekommt, die sich auch auf die eigenen Bedürfnisse abstimmen lässt. Dazu haben wir uns einen rein manuell zu schiebenden Schlitten von „Neewer“ zugelegt. Produkte anderer Hersteller tun es selbstredend auch. Die Vorrichtung sollte nur stabil genug sein und möglichst reibungsarm laufen. Unser Modell trägt bis zu acht Kilogramm, der Kopf ist an vier ordentlichen Rollen gelagert.

Aufrüstung des käuflichen Gestells
Vergrößern Aufrüstung des käuflichen Gestells
© Swen Hopfe

Wenn schon eine Motoraufrüstung, dann aber auch über zwei Achsen. Für den Lineartrieb hat das Gestell einen Zahnriemen bekommen, der vom ersten Stepper angetrieben wird. Der Kamerakopf sitzt direkt auf dem zweiten Steppermotor und wird dadurch zusätzlich schwenkbar.

Riemen mit Fixierung für den Kamerakopf
Vergrößern Riemen mit Fixierung für den Kamerakopf
© Swen Hopfe

Gut, dass sich das Aluminium problemlos bearbeiten lässt, so können mit etwas Handwerkszeug alle erforderlichen Bohrungen für die Befestigung der Motoren gesetzt werden. Durch die Umrüstung verkürzt sich der ursprüngliche Fahrweg von 80 Zentimetern auf 60 Zentimeter - immer noch genug für den angestrebten Einsatzzweck.

Nun zur Elektronik. Für die Motoransteuerung soll das bekannte CNC-Shield genutzt werden, gut geeignet auch, wenn man es nicht auf einen Arduino aufsteckt und an der Oberseite direkt verkabelt. Man kann vier Motortreiber unterbringen und sich den Entwurf einer eigenen Platine sparen.

CNC-Shield und Motortreiber
Vergrößern CNC-Shield und Motortreiber
© Swen Hopfe


Alles sollte nicht direkt am Gestell befestigt, sondern ausgelagert werden. So ist zusammen mit allen anderen Komponenten ein separater Controller entstanden, den wir später auch zur Ansteuerung von weiteren Geräten benutzen wollen, etwa unser Motorstativ für Sternfotografien oder überall dort, wo Steppermotoren gesteuert werden sollen.

Unser fertiger Aufbau bietet eine Vielzahl von Ein- und Ausgängen, die wir auf vier Buchsen im RJ-Format gelegt haben. Zur Verbindung mit dem Slider kann man Netzwerk- oder DSL-Kabel mit jeweils acht Kontakten anschließen und der „Kabelsalat“ hält sich in Grenzen.

Grundplatte des Controllers
Vergrößern Grundplatte des Controllers
© Swen Hopfe

Auf der Grundplatte sitzen nun der Raspberry Pi mit Touch-Display oben auf, nebst einem Akku für den netzunabhängigen Betrieb. Denn für die Aufnahmen will man ja auch im Gelände unterwegs sein.

Der Einfachheit halber ist der Akku eine Powerbank, die einen 5-V- und einen zusätzlichen 12-V-Anschluss hat. Damit sparen wir uns einen extra Spannungswandler. Die höhere Spannung wird für den Betrieb der Stepper benötigt.

Da das Touch-Display schon einen großen Teil der GPIO-Leiste des Pi einnimmt und für Takt- und Richtungssteuerung der Motoren die meisten noch freien Pins gebraucht werden, soll noch ein I2C-Expander zum Einsatz kommen. So können über den I2C-Bus zusätzliche acht Signale verarbeitet werden. Die stehen unserem Slider oder anderen Geräten am Controller dann als Ausgänge oder Eingänge zur Verfügung.

Verkabelung am Pi
Vergrößern Verkabelung am Pi
© Swen Hopfe

Die Kontaktierung der 3V3- und I2C-Pins war dann etwas „tricky“, denn hier muss man unter die Buchsenleiste für das LCD-Display ran. Der fertige Aufbau sollte trotzdem so übersichtlich wie möglich sein. Dazu haben wir unter der Grundplatte unseres Controllers noch einen Zwischenboden eingezogen, welcher viel von der Verkabelung aufnimmt. Alles Wichtige geschieht dann im Anschluss in der oberen Etage.

Controller und Slider sind nun mittels zwei Leitungen über etwa 2 Meter Weg verbunden und lassen sich per Steckverbindung an beiden Seiten trennen. In der aktuellen Konfiguration nutzt unser Slider neben der Motorleitung eine zusätzliche Leitung für den Endanschlag.

Slider am Endanschlag
Vergrößern Slider am Endanschlag
© Swen Hopfe

Die ist schließlich notwendig, um einen automatischen Lauf ordentlich zu implementieren. Ein Mikrotaster begrenzt den Weg nach rechts auf der Transportschiene, wodurch man eine „Nullung“ des Systems vornehmen kann, damit der Schlitten auch immer eine definierte Ausgangsposition erhält. Das Signal vom Endanschlag wird an den I2C-Expander auf dem Controller weitergeleitet, der dann den Motor für den linearen Antrieb bei Bedarf stoppen kann.

Damit alles zusammenspielt, ist noch eine clevere Software auf dem Pi notwendig. Alles ist in einem Python-Script realisiert. Wie immer hab‘ ich angestrebt, die Bedienung einfach und zugleich komfortabel zu machen.

Die Applikation auf Basis „tkinter“ bietet eine grafische Oberfläche auf dem Touchscreen, wo man neben Standardfunktionen auch mehrere „Bewegungsprogramme“ per Button ablaufen lassen kann. Unser Pi läuft also mit X-Desktop, nach dem Booten wird unser „foto.py“-Skript im Vollbildmodus gestartet.

In der mittigen Textbox wird man über den Ablauf der Aktionen informiert. Die Buttons sollten groß genug sein, um sie auch unter widrigen Bedingungen noch per Finger bedienen zu können. Per Fingertipp lassen sich Nullung und Standardfunktionen auslösen und vorgefertigte Programme können abgefahren werden.

Bedienoberfläche
Vergrößern Bedienoberfläche
© Swen Hopfe


Die sind dann auch das, was der Hobbyfotograf so braucht, dafür haben wir den Slider motorisiert. Was man da im Speziellen haben möchte, sollte man vorher erörtern und obliegt der eigenen Kreativität.

Nun ist die Touch--Eingabe nur eine Steuerungsmöglichkeit in unserem Projekt. An USB ist außerdem eine kabellose Minitastatur angeschlossen, wo man per Tastendruck entsprechende Shortcuts auslöst. Zur Bedienung kann man mit einer Funktastatur als Fernbedienung also auch ein paar Meter vom Geschehen entfernt sein.

Minitastatur
Vergrößern Minitastatur
© Swen Hopfe


Manchmal findet man durchaus preiswerte und für das eigene Projekt geeignete Tastaturen, so wie bei unserem Modell, mit am Abend beleuchtbaren Tasten und der Möglichkeit, NiMH-Akkus zu nutzen, die man über einen Micro-USB-Anschluss an der Tastatur wieder aufladen kann (Deshalb auch das Kabel im Bild). Wenn sie im Gelände leer ist, ist sie also auch über den sowieso mitgeführten Powerpack ladbar.


Tastatur-Unterseite
Vergrößern Tastatur-Unterseite
© Swen Hopfe

Ist man noch in Reichweite vom heimischen Netzwerk, bietet sich eine weitere Steuermöglichkeit. Dazu loggt man sich per ssh auf dem Pi des Sliders ein und startet die gleiche App im Terminal über ein kleines Shellscript, was die grafische Ausgabe beendet.

Man bekommt nun eine Textkonsole und kann anschließend per Tastatureingaben am Netzwerk-PC arbeiten. Den Remote-Zugriff vom Arbeitsplatz aus nutzt man natürlich auch, um Wartung an der Python-Software vorzunehmen. Unmittelbar nach dem Start sieht die Textausgabe im Terminal so aus:

Textausgabe im Terminal
Vergrößern Textausgabe im Terminal
© Swen Hopfe


In der Version für das Terminal gibt es etwas mehr Optionen als in der grafischen Oberfläche, um auch die Motoren und Inputs testen zu können und diverse Fahrten zu forcieren.

Und wo wir schon einen Pi zur Visualisierung und Ansteuerung der Motortreiber ein Bord haben, soll der damit nicht unterfordert sein, also auch mit der Kamera selbst kommunizieren und direkt Aufnahmen auslösen.

„Gphoto2“ ist eine gängige Lösung für Linuxsysteme und funktioniert auch unter Raspbian. Die Library „Libgphoto2“ lässt sich in Python ansprechen und hat einen guten Funktionsumfang zusammen mit Canon- oder Nikon-Kameras.

Unsere Nikon-Kamera ist dabei mit einem zusätzlichen USB-Kabel mit dem Pi verbunden. Es empfiehlt sich ein längeres Kabel, damit genug Spielraum bei der Schlittenfahrt und den Kopfbewegungen da ist.

Die Library gestattet auch eine direkte Anbindung per WiFi. Wenn das die eigene Kamera unterstützt, muss dort zuerst die PairingFunktion aktiviert werden. Dann wählt man auf dem Raspian-Desktop des Pi das durch die Kamera aufgespannte WLAN-Netzwerk, und man kann auf die Kabelverbindung verzichten. Dadurch hat man dann aber keinen Remote-Zugriff per ssh mehr und muss alles direkt am Pi bedienen.

So steuern wir also die Bewegung von Schlitten und Kopf mit gleichzeitiger Aufnahmefunktion an den festgelegten Stellen, wo die geschossenen Aufnahmen auf einem am Pi angesteckten USB-Stick abgelegt werden.

Formatiert man seinen Stick mit „fat32“ mit einem bestimmten Volume-Label, dann wird der durch Raspbian im Media-Verzeichnis unter bekanntem Pfad gemounted, den man anschließend der Capture-Funktion von „gphoto“ übergeben kann. Fertige Fotos hat man dann günstigerweise nicht erst auf der SD-Karte, sondern kann sie mit dem Speicherstick abziehen.


Motorkopf mit Spannvorrichtung für die Kamera
Vergrößern Motorkopf mit Spannvorrichtung für die Kamera
© Swen Hopfe


Und damit nicht zuletzt auch alles in die Fotografiewelt passt, hat unser Slider Standardverschlüsse bekommen, damit die Kamera einfach vom Stativ auf den Slider wechseln kann, ohne etwa einen anderen Fuß aufschrauben zu müssen. Mit Systemfüßen lässt sich auch schnell ein neues Oberteil aufspannen, etwa mit einer Action-Cam oder dem eigenen Smartphone.

Wer Interesse an den Projektquellen hat, kann sich die wie gewohnt unter dem entsprechenden Github-Verzeichnis -  https://github.com/swenae/fotoslider - anschauen und gerne in eigene Projekte integrieren.


Geöffneter Controller mit Akkupack, Ansteuerelektronik und Bedienoberfläche auf dem Pi
Vergrößern Geöffneter Controller mit Akkupack, Ansteuerelektronik und Bedienoberfläche auf dem Pi
© Swen Hopfe


Nun kann es also ins Gelände gehen. Um den Controller noch variabler zu machen, hat er zuletzt ein kleines Breadboard bekommen, auf dem man fix noch was stecken kann.

Meine Favoriten sind derzeit Panorama-Aufnahmen, die man aus drei Bildern vom Schlitten zusammensetzt, neben 360-Grad-Aufnahmen, wo die Kamera im Vollkreis jeweils um einige Grad (mit der Objektiv-Brennweite der eigenen Kamera abzustimmen) geschwenkt und jeweils ein Bild erzeugt wird.

Ich bin froh, dass es dafür nun eine stabile Lösung gibt, die die Aufnahmen quasi per Knopfdruck besorgt. Den Rest erledigt die Bildbearbeitung zu Hause...


Noch mehr Raspberry Pi:

So machen Sie den Raspberry Pi sicherer

Raspberry Pi: Kontrolle per Smartphone-App

Pidoctor: Raspberry Pi überprüfen

Raspberry Pi: Computerschach per Pi-Cam spielen

NFC-Reader mit Raspberry Pi selbst bauen

Raspberry Pi Zero W als smarter USB-Stick

Zeitraffer-Aufnahmen mit dem Raspberry Pi Zero machen

Webcam mit Raspberry Zero Pi W einrichten

Nächtliche Tierfotografie mit NoIR-Cam und Raspberry Pi

PC-WELT Marktplatz

PC-WELT Hacks - Technik zum Selbermachen?

Raspberry Pi erfreut sich gerade unter Bastlern einer großen Beliebtheit. Kein Wunder, denn mit der 35-Euro-Platine lassen sich viele spannende Projekte realisieren. Vom Mediacenter, Netzwerkspeicher, Fotomaschine bis hin zum Überwachungssystem ist alles möglich. Dieser Bereich ist aber nicht nur dem Raspberry Pi gewidmet, sondern bietet auch viele Tipps, Tricks und Anleitungen für andere spannende Bastelprojekte.

2481948