Inhaltsverzeichnis:
- Schritt 1: Funktionsprinzip:
- Schritt 2: Das Board des Motion Controllers
- Schritt 3: Arduino-Code
- Schritt 4: Arduino Code 1 - Rail Home Position
- Schritt 5: Arduino Code 2 - Doppelfunktions-Drucktaste
- Schritt 6: Arduino-Code 3 – Slave-Modus
- Schritt 7: Arduino Code 4 – Quad Ramping
- Schritt 8: Arduino Code 5 – Integration mit LRTimelapse Pro-Timer
- Schritt 9: Arduino Code 6 – Variablen und Einstellungswerte
- Schritt 10: Ein paar Worte über die Schiene
Video: Bewegungssteuerungsschieber für Zeitrafferschiene - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Dieses anweisbare erklärt, wie man eine Zeitrafferschiene mit einem Schrittmotor motorisiert, der von einem Arduino angetrieben wird. Wir konzentrieren uns hauptsächlich auf den Motion Controller, der den Schrittmotor antreibt, vorausgesetzt, Sie haben bereits eine Schiene, die Sie motorisieren möchten.
Bei der Demontage einer Maschine habe ich zum Beispiel zwei Schienen gefunden, die ich in Zeitrafferschienen umbauen konnte. Eine Schiene verwendet einen Riemen, um den Schieber und die andere eine Schraube anzutreiben. Bilder in diesem anweisbaren zeigen eine schraubengetriebene Schiene, aber die gleichen Prinzipien gelten für eine Schiene, die von einem Riemen angetrieben wird. Es gibt nur wenige Parameter, die während der Inbetriebnahme geändert werden müssen.
Schritt 1: Funktionsprinzip:
Für Zeitrafferaufnahmen verwende ich ein Intervalometer namens LRTimelapse Pro-Timer von Gunther Wegner. Dies ist ein hochwertiges Open Source Intervalometer für Zeitraffer-, Makro- und Astrofotografen, das Sie selbst bauen können. Gunther, vielen Dank für dieses fantastische Tool, das Sie der Zeitraffer-Community zur Verfügung gestellt haben. (Weitere Informationen finden Sie unter lrtimelapse-pro-timer-free)
Ich habe gerade etwas Code hinzugefügt, um den Schrittmotor zu steuern.
Funktionsprinzip: Die Time Lapse Rail arbeitet im Slave-Modus. Diese Methode ist ziemlich zuverlässig. Das bedeutet, dass ich das LRTimelapse Pro-Timer Intervalometer verwende, um die Anzahl der Aufnahmen und das Intervall zwischen den Aufnahmen einzustellen. Der Intervallmesser sendet ein Signal an die Kamera, um den Verschluss auszulösen. Nachdem ein Bild aufgenommen wurde, sendet die Kamera ein Signal zurück an den Motion Controller, um den Schieberegler der Schiene in einer Move/Shoot/Move-Sequenz zu bewegen. Das Signal zum Starten der Sequenz kommt vom Blitzschuh der Kamera. Der Blitz der Kamera ist auf Synchro-Vorhang eingestellt, sodass das Signal beim Schließen des Vorhangs der Kamera an die Bewegungssteuerung zurückgesendet wird. Dies bedeutet, dass sich der Schieberegler nur bei geschlossenem Verschluss bewegt und unabhängig von der Belichtungsdauer funktioniert.
Material: Es werden zwei Kabel vom Motion-Controller zur Kamera benötigt (kameramodellspezifisch) 1) ein Kamera-Auslösekabel mit 2,5 mm Klinke und 2) ein Blitzschuh-Adapter mit einem Stecker zum männlichen Blitz-PC-Sync-Kabel Kabel mit einem 3,5 mm-Buchse.
Schritt 2: Das Board des Motion Controllers
Hardware: Die Bewegung des Schiebers erfolgt über eine Schraube, die mit einem NEMA 17-Schrittmotor verbunden ist. Der Schrittmotor wird von einem EasyDriver angetrieben, der von einem Arduino UNO gesteuert wird. Um den Controller mit einer anderen Powerbank (von 9V bis 30V) zu verwenden, habe ich ein LM2596 DC-DC Arduino-kompatibles Netzteilmodul hinzugefügt, um die Spannung anzupassen. Siehe „Arduino Wiring. PDF“im Anhang.
Das Kamera-Auslösekabel wird mit einem 2,5-mm-Klinkenstecker an den Controller angeschlossen. Die Buchse wird gemäß dem Schaltplan in der beigefügten „Auslöser. PDF“verdrahtet. Das Kabel des Blitzschuhadapters wird über einen 3,5-mm-Klinkenstecker mit dem Controller verbunden. Durch die Verwendung von zwei verschiedenen Größen wird vermieden, dass ein Kabel an den falschen Port angeschlossen wird.
Schritt 3: Arduino-Code
Vor dem Codieren ist es wichtig, zwischen den verschiedenen Aktionen zu unterscheiden, die Sie erreichen möchten. Arduino ermöglicht die Verwendung von Void. Ein void ist ein Programmabschnitt (Codezeile), der bei Bedarf jederzeit aufgerufen werden kann. Dadurch, dass jede Aktion in einer separaten Leerstelle ausgeführt wird, bleibt der Code organisiert und vereinfacht die Codierung.
Sketch Logics.pdf im Anhang zeigt die Aktionen, die ich erreichen möchte, und die Logik dahinter.
Schritt 4: Arduino Code 1 - Rail Home Position
Die erste Leere wird verwendet, um die Schiene beim Starten des Controllers in die Home-Position zu schicken.
Der Controller verfügt über einen Richtungs-Kippschalter. Beim Anfahren bewegt sich der Schieber in die vom Kippschalter gewählte Richtung, bis er auf den Endschalter am Ende der Schiene trifft; es bewegt sich dann um eine vom Benutzer definierte Strecke zurück (Dies ist 0 oder der Wert, der dem gegenüberliegenden Ende der Schiene entspricht). Dies ist jetzt die Ausgangsposition für den Schieberegler.
Diese Lücke wurde mit dem Code getestet, der in der angehängten Datei namens BB_Stepper_Rail_ini.txt gefunden wurde
Schritt 5: Arduino Code 2 - Doppelfunktions-Drucktaste
Die zweite Leere wird verwendet, um den Schieberegler manuell zu bewegen. Dies ist nützlich, wenn Sie Ihr Kamera-Spanning einrichten, bevor Sie die Zeitraffersequenz starten.
Der Controller verfügt über einen Druckknopf mit zwei Funktionen: 1) Ein kurzer Druck (weniger als eine Sekunde) bewegt den Schieber um einen benutzerdefinierten Betrag. 2) ein langer Druck (mehr als eine Sekunde) bewegt den Schieber zur Mitte oder zum Ende der Schiene. Beide Funktionen senden den Schieberegler in die vom Kippschalter gewählte Richtung.
Diese Lücke wurde mit dem Code getestet, der in der angehängten Datei namens BB_Dual-function-push-button.txt gefunden wurde
Schritt 6: Arduino-Code 3 – Slave-Modus
Die dritte Leere wird verwendet, um den Schieberegler nach jedem Schuss um einen bestimmten Betrag zu verschieben. Der Blitz der Kamera muss auf „hinterer Vorhang“eingestellt werden. Am Ende der Aufnahme wird ein Blitzsignal vom Blitzschuh an die Steuerung gesendet. Dadurch wird die Sequenz gestartet und der Schieberegler um einen bestimmten Betrag verschoben. Die Distanz für jede Bewegung wird berechnet, indem die Länge der Schiene durch die Anzahl der im LRTimelapse Pro-Timer ausgewählten Schüsse geteilt wird. Es kann jedoch eine maximale Entfernung definiert werden, um eine schnelle Bewegung zu vermeiden, wenn die Anzahl der Schüsse gering ist.
Diese Lücke wurde mit dem Code getestet, der in der angehängten Datei namens Slave mode.txt gefunden wurde
Schritt 7: Arduino Code 4 – Quad Ramping
Die vierte Lücke ist eine Rampenoption für ein sanfteres Ein- und Aussteigen. Dies bedeutet, dass die Distanz jeder Bewegung allmählich bis zum eingestellten Wert zunimmt und am Ende der Schiene auf dieselbe Weise abnimmt. Infolgedessen beschleunigt sich beim Betrachten der letzten Zeitraffersequenz die Bewegung der Kamera am Anfang der Schiene und verlangsamt sich am Ende der Schiene. Eine typische Quad-Beschleunigungskurve ist im beigefügten Bild gezeigt (ein- und aussteigend). Der Abstand der Rampen kann definiert werden.
Ich habe den Algorithmus in Excel getestet und die Beschleunigungs- und Verzögerungskurven gemäß dem beigefügten Bild erstellt. Diese Lücke wurde mit dem Code getestet, der in der angehängten Datei namens BB_Stepper_Quad-Ramping-calculation.txt gefunden wurde
Hinweis: Dieses Quad-Ramping ist nicht zu verwechseln mit Bulb-Ramping, bei dem sich die Belichtungslänge ändert, oder Intervall-Ramping, bei dem das Intervall zwischen den Aufnahmen geändert wird.
Schritt 8: Arduino Code 5 – Integration mit LRTimelapse Pro-Timer
LRTimelapse Pro-Timer ist ein kostenloses Open Source DIY Intervalometer für Zeitraffer-, Makro- und Astrofotografen, das Gunther Wegner der Zeitraffer-Fotografen-Community zur Verfügung stellt. Nachdem ich eine Einheit für meine Kamera gebaut hatte, fand ich sie so gut, dass ich überlegte, wie ich meine Schiene damit fahren könnte. Die beigefügte LRTimelapse Pro-Timer 091_Logics.pdf ist eine kurze Anleitung, die zeigt, wie man durch das Programm navigiert.
Die angehängte BB_Timelapse_Arduino-code.pdf zeigt die Struktur von LRTimelapse Pro-Timer Free 0.91 und in grün die Codezeilen, die ich hinzugefügt habe, um den Slider zu bedienen.
BB_LRTimelapse_091_VIS.zip enthält den Arduino-Code, wenn Sie es versuchen möchten.
Das angehängte Dokument BB_LRTimer_Modif-Only.txt listet die Ergänzungen auf, die ich an Pro-Timer vorgenommen habe. Es erleichtert die Integration in neue Versionen von Pro-Timer, wenn Gunther diese zur Verfügung stellt.
Schritt 9: Arduino Code 6 – Variablen und Einstellungswerte
Die Steigung der Schraube kann variieren oder bei Verwendung eines Riemens können auch die Steigung des Riemens und die Anzahl der Zähne der Riemenscheiben variieren. Außerdem können sich die Anzahl der Schritte pro Umdrehung des Schrittmotors und die Länge der Schiene unterscheiden. Als Ergebnis ändert sich die Anzahl der Schritte zum Überqueren der Länge der Schiene von einer Schiene zur anderen.
Um den Controller an unterschiedliche Schienen anzupassen, können im Programm einige Variablen angepasst werden:
- Berechnen Sie die Anzahl der Schritte, die der Länge der Schiene zwischen den Endschaltern entsprechen. Geben Sie den Wert in die Variable ein: Long endPos (dh dieser Wert ist 126000 für die Schiene, die mit einer in dieser Anleitung gezeigten Schraube angetrieben wird)
- Um bei Verwendung des Spanning-Effekts die Rahmenzusammensetzung am Anfang, Mitte und Ende der Schiene zu betrachten, habe ich die Option langer Druck mit dem Druckknopf verwendet. Geben Sie die Anzahl der Schritte ein, die der Mitte der Schiene in der Variablen entsprechen: long midPos (dh dieser Wert ist 63000 für die Schiene, die mit einer in dieser Anleitung gezeigten Schraube angetrieben wird)
- In LRTimelapse Pro-Timer müssen Sie eingeben, wie viele Bilder Sie aufnehmen möchten. Das Programm teilt die Länge der Schiene durch diese Zahl. Wenn Sie 400 Bilder aufnehmen und Ihre Schiene 1 Meter lang ist, beträgt jede Schieberbewegung 1000:400 = 2,5 mm. Für 100 Bilder wäre der Wert 10 mm. Das ist zu viel für einen Zug. Sie können sich also entscheiden, nicht die volle Länge Ihrer Schiene zu nutzen. Geben Sie die maximal zulässige Bewegung in die Variable ein: const int maxLength (dh dieser Wert beträgt 500 für die Schiene, die mit einer in dieser Anleitung gezeigten Schraube angetrieben wird)
- Wenn der Druckknopf weniger als eine Sekunde gedrückt wird, bewegt er den Schieber um eine bestimmte Strecke, die in der Variablen eingestellt werden kann: int inchMoveval (dh dieser Wert beträgt 400 für die Schiene, die mit einer in dieser Anleitung gezeigten Schraube angetrieben wird)
- Quad Ramping ermöglicht ein sanftes Ein- und Aussteigen. Sie können entscheiden, wie weit die Rampen am Anfang und am Ende der Schiene dauern sollen. Dieser Wert wird als Prozentsatz der Schienenlänge in die Variable: float ratio eingetragen (d. h. 0,2 = 20 % der Schienenlänge)
Schritt 10: Ein paar Worte über die Schiene
Die Schiene ist einen Meter lang. Es besteht aus einem hochbelasteten Linearlagergleiter, der mit einer geschlitzten Aluminium-Strangpressstange verschraubt ist. Ich habe die Extrusionsstange und das Zubehör von RS.com gekauft (siehe das angehängte Bild rs items.jpg). Die Schiene hat vier Beine, kann aber auch mit Standardschrauben auf Stativen montiert werden.
Spannen: Auf dem Slider ist der Kugelkopf eines Stativs (wie im beigefügten Bild) montiert. Ein kleiner Arm verbindet den Kopf mit der Schraube. Wenn Sie die Schraube an einer Seite von der Schiene wegbewegen, erhalten Sie einen Winkel zwischen Schraube und Schiene. Wenn sich der Läufer entlang der Schiene bewegt, erzeugt er eine Drehung des Kugelkopfes. Wenn Sie keine Überspannung wünschen, halten Sie die Schraube parallel zur Schiene.
Der Controller ist auf dem Slider montiert. Ich habe diese Option - anstelle des Controllers an einem Ende der Schiene - gewählt, um zu vermeiden, dass mehrere Kabel entlang der Schiene verlaufen. Ich habe nur ein Kabel zwischen Powerbank und Controller. Alle anderen Kabel, zum Schrittmotor, zum Endschalter, das Verschlusskabel zur Kamera und das Synchrokabel von der Kamera bewegen sich alle mit dem Controller.
Schraube versus Gürtel: Für Zeitrafferaufnahmen eignen sich beide Designs gut. Der Riemen ermöglicht im Vergleich zur Schraube schnellere Bewegungen, dies könnte von Vorteil sein, wenn Sie die Schiene in einen Video-Slider verwandeln möchten. Ein Vorteil des Schraubendesigns ist, dass der Schieber bei einem Stromausfall stehen bleibt und nicht herunterfällt, wenn Sie die Schiene vertikal oder schräg stellen. Ich würde dringend empfehlen, vorsichtig zu sein, wenn Sie dasselbe mit einer riemengetriebenen Schiene tun, im Falle eines Stromausfalls oder wenn der Strom ausgeht, rutscht die Kamera auf eigene Gefahr auf den Boden der Schiene!
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): 3 Schritte
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): Manchmal korrigiert die Autokorrektur möglicherweise etwas, das Sie nicht korrigieren möchten, z. Textabkürzungen beginnen sich in Großbuchstaben zu setzen (imo korrigieren zum Beispiel zu IMO). So erzwingen Sie, dass die Korrektur eines Wortes oder einer Phrase beendet wird, ohne aut zu deaktivieren
Interessante Programmieranleitung für Designer - Bringen Sie Ihr Bild zum Laufen (Teil 2): 8 Schritte
Interessante Programmieranleitung für Designer – Bringen Sie Ihr Bild zum Laufen (Teil 2): Mathematik scheint für die meisten von Ihnen nutzlos zu sein. Die in unserem täglichen Leben am häufigsten verwendete ist einfach Addieren, Subtrahieren, Multiplizieren und Dividieren. Es ist jedoch ganz anders, wenn Sie mit Programm erstellen können. Je mehr Sie wissen, desto mehr wundervolle Ergebnisse werden Sie erhalten
Installieren des Windows-Subsystems für Linux (WSL): 3 Schritte
Installieren des Windows-Subsystems für Linux (WSL): Diese Anleitung soll Benutzern helfen, das Windows-Subsystem für Linux auf ihrem Windows 10-Computer zu installieren. Die spezifische Linux-Distribution, die dieser Befehlssatz verwendet, heißt Ubuntu. Schauen Sie hier für eine Übersicht über die verschiedenen Linux
So erstellen Sie eine UML für Java in Microsoft Visio: 4 Schritte
So erstellen Sie eine UML für Java in Microsoft Visio: Das Erstellen einer UML kann zunächst etwas einschüchternd wirken. Es gibt viele komplizierte Notationsstile, und es kann sich anfühlen, als gäbe es keine guten Ressourcen, um eine lesbare und genaue UML zu formatieren. Microsoft Visio macht jedoch das Erstellen einer UML-Qu