Arduino Zeitraffer Roboter Prototyp

Dieser Artikel beschreibt die Erstellung eines Prototyps einer programmierbaren mobilen Plattform mit mehreren Freiheitsgraden für die Aufnahme von Bildern mit einer Spiegelreflexkamera - für die anschließende Installation von Zeitraffervideos. Es wird empfohlen, dass sie nichts in Elektronik und Mikrocontrollern verstehen, "professionelle Entwickler" von Lösungen auf Arduino und deren Verkäufern, hier gibt es nichts Nützliches.

Bild

Kurz darüber, warum ich es brauchte
. , — .

. . , PCMCIA-, -? , , WiFi , -? . , .
, . — -, . . — -. , , //, , . .
, , . - . . --- (360° 24 ;) ). — . , . . . GoPro. - — , . — , . , ! , . , timelapse dolly .
.

, , , . , , , — . , . . , . , , , - .

. ?

Bild

Vielleicht stellt sich nicht jeder die Fähigkeiten selbst der einfachsten Mikrocontroller vor. Besonders schlecht im Besitz von Menschen "kreativer Berufe". Designer, Fotografen, Kameraleute - sie lernen oft den „Prozess“ und vertreten konservative Ansichten zum Thema ihres Berufs, ohne etwas ändern zu wollen. Besonders wenn die Bewegung zur Seite (nicht unbedingt diese Vorwärtsbewegung) mit spürbaren Anstrengungen verbunden ist, etwas Neues zu studieren, was in der Hauptaktivität nicht unbedingt nützlich ist. Sag mal, warum brauche ich das? Ich ziehe besser ein anderes nacktes Mädchen aus. Natürlich stört dieses Geschäft selten jemanden. Und selbst wenn die Leute daran denken, sich seitwärts zu bewegen, können sie es sich oft leisten, nur zu bezahlen. Warum ein Stück Eisen bauen, wenn man ein Stück Eisen kaufen kann?

Aber wenn es nichts gibt, um ein Stück Eisen zu kaufen, wird es sich nie auszahlen und Sie möchten einfach nur mit der Idee herumspielen? Wenn wir Mikrocontroller als Ersatz für Tanchiki betrachten, der in der Lage ist, etwas Interessantes IRL auszugeben? Motivieren Sie sich einfach und machen Sie einen Schritt. Plötzlich stellt sich heraus, dass selbst für einen Fotografen (im Folgenden als Roboterbenutzer bezeichnet, wird er als Fotograf bezeichnet, obwohl er mit ihm Videos macht. Das Leben ist eine seltsame Sache) nicht alles so beängstigend und kompliziert aussieht. Vor allem, wenn Sie auf diesem sehr kniehohen Niveau bleiben.

Die Motivation, tiefer zu graben, war für mich der Wunsch, eine mobile Plattform für meine DSLR aufzubauen. Zeitraffervideos können durch die Bewegung des Aufnahmepunkts erheblich belebt und interessanter gemacht werden. Als einfache sequentielle Bewegung, als Schwenken und Kombinieren dieser und anderer Bewegungen.

Dementsprechend wurde für mich die Aufgabe wie folgt formuliert - mehrere Freiheitsgrade für eine schwere Spiegelreflexkamera bereitzustellen - mit der Genauigkeit und Stabilität der Bewegung, die für den Zeitraffer erforderlich sind. Und natürlich vollautomatisches Schießen. Und das alles mit wenig Blut, also einer kleinen Menge Rubel und einem erträglichen Zeitaufwand. Das heißt, so schnell wie möglich. Und so wurde mein 4DOF Timelapse Robot-Projekt geboren.

Mach einfach einen Schritt. Und dann öffnet sich für diejenigen, die noch nie mit dem Programmieren und Zusammenbauen elektronischer Geräte befasst waren, eine wunderbare und nachdenkliche Welt. Wo getreten wird, wird der Meister der grenzenlosen Perspektiven. Schaffst du das Du kannst. Und so? Du kannst. Und ich will es - kann ich? Ja, es ist möglich, schauen Sie, wie es gemacht wird ... Der

Text aus diesem Text vonKommentare zum Spiel im Mikrocontroller-Programmierer (ja, Sie haben es richtig gelesen - sie spielen es sogar!):

avr 35 : ( ) , , , 8- , 16- , , ( , , /, wdt), -, 8 , , ( , — , !), , , — , , 0 1, -, , . — .

, ! , , , , . . — //- .

, — :

, , . — . , , , .

, , ( - 5 ), . : , ( ), , , , . . — , .

, . , , , , — : 35 , , , - .

avr' , , 10 , stm' arm', , — arm' .

— ! .

— , , - , , . , , , , , ...

Für Neulinge scheint das am meisten beworbene Arduino-Universum das attraktivste und am leichtesten zugängliche zu sein. Dies kann auf verschiedene Arten behandelt werden, aber man kann nur zugeben - es ist die Verfügbarkeit und Verbreitung von Lösungen, die auf allen Arten von Variationen mit atmega328 basieren, die es dem Neuling ermöglichen, leicht tolerierbare Ergebnisse zu erzielen, ohne die Details des Mikrocontrollers und seine Kommunikation mit Peripheriegeräten zu verstehen. Noob wird verdammt noch mal nicht verstehen, wie es im Inneren funktioniert, aber das Handwerk wird nach seinen Wünschen funktionieren und sich bewegen, und es ist trotzdem so, dass die Chinesen es lange Zeit billiger gemacht und eine Million Exemplare gedruckt haben. Ja, auch wenn dies eine Wiederholung des Weges ist, den Tausende von anderen lange zurückgelegt haben - es ist immer noch eine Freude, die Aufgabe unabhängig umzusetzen. Warum Lego gemäß den Anweisungen sammeln - schließlich haben andere bereits gesammelt? Vergnügen.Warum Galaxien mit einer extrem einfachen Technik abschießen, wenn es einen Hubble gibt? Vergnügen. Warum einen Wagen mit einer Fernbedienung auf Rädern zusammenbauen, wenn der Laden Hunderte davon in schönen Kisten hat? Vergnügen.

So sollten wir uns Arduino nähern - wir werden Spaß haben und die Tatsache, dass unternehmungslustige Chinesen, Italiener und lokale Händler gleichzeitig mit uns Geld verdienen - nun, Sie müssen für das Vergnügen bezahlen! Nun, und Profis aus der Elektronik können zu Recht in Richtung Arduino-Handwerk und weiter spucken.

In diesem Artikel genießen wir das beispiellose Vergnügen - unsere DSLR fährt von selbst und nimmt Bilder mit einer bestimmten Frequenz auf, während wir zufrieden Kaffee trinken und Geektimes lesen.

Was wir vom Handwerk erwarten:
- Kamerasteuerung - Ausführen der von uns eingestellten Belichtung an der Kamera und Beibehalten der gewünschten Pause zwischen den Bildern;
- Hin- und Herbewegen in eine beliebige Entfernung - ohne die Anforderungen einer langen Installation oder Vorbereitung der Basis;
- Kameradrehung von links nach rechts mit beliebigem Schritt;
- Drehen Sie die Kamera mit einem beliebigen Schritt auf und ab.
- Die Drehung des Zoomrings oder der Fokus des Objektivs - natürlich das gleiche mit der von uns gewählten Intensität.

Diese Funktionen bieten große kreative Freiheit beim Aufnehmen von Zeitraffervideos. Sie können fast jedes Problem lösen - indem Sie die Kamerabewegung in unterschiedlichen Proportionen kombinieren und die Verschlusszeitpause steuern. Je nach Beleuchtung bleibt nur eine willkürliche Belichtungssteuerung verfügbar. Hier können Sie nur dem Belichtungsmesserprogramm der Kamera vertrauen oder sich auf eine kleine Lücke beschränken. Jeder, der morgens und abends Zeit vergeht, weiß genau, wie schnell sich die Lichtverhältnisse ändern.

Leider wurde bisher auch keine Auf- und Ab-Kameradrehung implementiert - nun ja, relativ zum Chassis. Ich kann mir immer noch nicht vorstellen, wie ich dies in den Dimensionen meines Prototyps erreichen kann. Bisher haben Sie bei der Montage mit dem ursprünglich eingestellten Kamerahöhenwinkel zu tun - und der Unterschied zur horizontalen Position macht es unmöglich, den Zoomfokus zu steuern.

Das erste Problem ist die Frage - was soll die Kamera bewegen? Der Spiegel ist eine schwere Sache. Die Suche nach einem Kompromiss beginnt - Sie möchten die Schwerkraft nicht wie ein Elektroauto für Kinder tragen und die Kamera wäre stabil und würde aufgrund des hohen Schwerpunkts nicht überwiegen. Fotografen mit GoPro-Spielzeug können mit Allrad-Buggy-Autos zufrieden sein. Für meine DSLR hätte ich gerne etwas Stabileres. Nachdem ich das Problem und die vorhandenen Lösungen untersucht hatte, entschied ich mich für die verfolgte Plattform.

Spezialisierte und vorgefertigte Kettenplattformen kosten eine unangenehme Menge. Es war klüger, ein Spielzeug für unseren Zweck zu verwenden. Da die Familie bereits einen funkgesteuerten Panzer hat (Leopard 1:20), habe ich als erstes in seine Richtung geschaut. Aber es wurde schade - lassen Sie ihn weiter reiten und zur Freude der Kinder Bälle spucken. Was können Sie sonst noch schnell und kostengünstig kaufen und abbauen? Beim Stöbern in Avito stellte sich heraus, dass die Tanks entweder zu klein oder zu teuer sind. Aber es gibt wenig nachgefragte Kinder und daher nicht so teuer, aber meinen Zweckbaggern keineswegs unterlegen. Aber wie es das Glück wollte, gab es in meiner Stadt nichts, was zum Verkauf geeignet war. Per Post bestellen? Vielleicht sehen Sie dann die Chinesen? Also bin ich auf die Seite des "Roboterhändlers" Ning aka SINONING gekommen. Möchten Sie ein cooles "Tank" -Chassis aus Aluminium für 138 US-Dollar - kein Problem! Möchten Sie die gleiche Größe, aber das gesamte Kunststoff "Bagger" Chassis für dreißig? Bitte! Absolut gierig? Hier haben Sie ein Tankchassis für 14 US-Dollar und sogar mit einem Motor. Sie können dort auch Arduinki kaufen, aber ich habe viel davon in der Stadt, also ging mir ein billiges Kunststoffgehäuse SN1000 von den Chinesen.

Bild

Für Arduino habe ich die Angebote von Make Robots ( https://vk.com/makerobot66 ) genutzt, bei denen der folgende in diesem Projekt verwendete Müll gekauft wurde:

  • DCcduino UNO (mit USB-Kabel) ... 480 x 1 = 480
  • GY-273 HMC5883L-Modul ... 170 x 1 = 170
  • Arduino Starter Kit ... 480 x 1 = 480
  • 1 Kanäle 5V Relaismodul ... 180 x 1 = 180
  • LCD 2004 I2C blau ... 610 x 1 = 610
  • Motorantriebsschutz L293D ... 360 x 1 = 360
  • Joystick-Modul KY-023 ... 170 x 1 = 170
  • Zahnriemen GT2 6mm ... 120 x 1 = 120
  • Zahnscheibe GT2 16t 6mm ... 140 x 1 = 140
  • 10 Stück 30cm Sprungdrähte 1f1f ... 55 x 1 = 55
  • 10 Stück 30cm Sprungdrähte 1m1f ... 55 x 1 = 55
  • 28BYJ-48 Schrittmotor + ULN2003-Treiber ... 260 x 1 = 260
  • Batteriehalter 18650 x2 ... 60 x 1 = 60

Insgesamt 3140 reiben.

Darüber hinaus war erforderlich:

  • zwei 18650 Batterien
  • dünne laminierte Faserplatte "Sperrholz".
  • ein Bündel Schrauben und Muttern M4
  • sechs Schrauben 3,5x51 Art wie.
  • 10 M5-Buchsen und 2 M8 - genau wie Abstandhalter.
  • Einige Details vom "mechanischen" Konstruktor.
  • Lötschalter
  • 3,5 mm Lötbuchse
  • 2.1x5.5 Steckdose
  • und Büroklammer

Von der Seite der Fotoausrüstung waren sie nützlich:

- eine DSLR
- eine chinesische „drahtlose“ Fernbedienung - als Spender des Kabels für den Anschluss an die Fernbedienung der Kamera
- die einfachste Kamerahalterung von einem Stativbolzen mit Abstandshaltern. Ein normaler Stativkopf wäre viel besser, aber das Minus wäre ein höherer Schwerpunkt.

Es gab nicht viel Aufhebens seitens der Mechaniker. Der resultierende SN1000 verfügt über zwei Gleichstrommotoren der Größe 130 zum Antreiben der Ketten, und ein weiterer Gleichstrommotor ist im Getriebe installiert, um die Plattform auf diesem Kettenfahrwerk zu drehen. Alles wird gesammelt. Damit ist fast alles fertig. Es bleibt nur die Kamera und Elektronik auf der Plattform zu befestigen. Die traditionelle Lösung, die ich sah, bestand darin, elektronischen Müll auf dem Chassis unter dem Flugzeug zu platzieren, auf dem sich die Nutzlast oder die Steuerungen befinden. Das Flugzeug ist durch Abstandshalter der gewünschten Höhe vom Chassis getrennt. Einige schaffen es, mehrere Stockwerke zu bauen.

Okay, ich habe das Sperrholz ausgesägt, Löcher für Befestigungselemente darin gebohrt, ich habe Buchsen und Schrauben gekauft - alles ist fertig. Selbst für einen Fotografen ist das nicht kompliziert. Das Fahrgestell des „Baggers“ sorgt für eine ausreichende Steifigkeit der Plattform und der Befestigungspunkte.

Mit der Elektronik ist der Aufwand größer, aber es macht spürbar mehr Spaß. Nein, das ist wirklich sehr unterhaltsam. Aber nicht schwer. Trotz einer sehr speziellen Ausbildung verstehe ich Elektronik nicht, das Ohmsche Gesetz prallt nicht von den Zähnen ab, ich habe C vor ungefähr zwölf Jahren zum letzten Mal programmiert und rein pädagogische Aufgaben, keine Verkäufe, und ich weiß wirklich nicht, wie ich mit meinen Händen arbeiten soll. Aber nicht so beängstigend. Selbst ein so schlechter Programmierer wie ich, der mit den verwendeten elektronischen Komponenten völlig unbekannt war, konnte schnell und einfach etwas funktionsfähiges werfen. Darüber hinaus ist der Weg vom Blinken einer LED zum Lösen von Aufgaben sehr schnell und einfach - dank zahlreicher Arduino-Webressourcen, in denen alles zerkaut wird, um Code und Bilder mit Umschaltung passabel auskommentiert zu bekommen. Es gibt auch gute (manchmal sogar russischsprachige) Bücher,wo die beliebtesten Funktionen der Arduino-Plattform konsistent und ziemlich zugänglich sind. Nachdem ich mehrere Bücher verschluckt und ein Dutzend Lesezeichen in Browsern für interessante Lösungen gespeichert hatte, schrieb und debuggte ich ziemlich schnell das Programm (Skizze) des Projekts für Arduino in nur wenigen Tagen. Es gibt auch nicht so viel Aufhebens um den Lötkolben und alles beschränkt sich darauf, die Verkabelung nur mit dem Schal oder Schalter zu verlöten. Es stellte sich natürlich als hässlich heraus, aber es funktioniert ziemlich gut auf dem Knie. Für einen Fotografen ist der Perfektionismus des Lötens oder eines Programms nur dann von Bedeutung, wenn sein Mangel die Verwirklichung seiner Ziele beeinträchtigt.In nur wenigen Tagen schrieb und debuggte er das Programm (Skizze) des Projekts für Arduino. Es gibt auch nicht so viel Aufhebens um den Lötkolben und alles beschränkt sich darauf, die Verkabelung nur mit dem Schal oder Schalter zu verlöten. Es stellte sich natürlich als hässlich heraus, aber es funktioniert ziemlich gut auf dem Knie. Für einen Fotografen ist der Perfektionismus des Lötens oder eines Programms nur dann von Bedeutung, wenn sein Mangel die Verwirklichung seiner Ziele beeinträchtigt.In nur wenigen Tagen schrieb und debuggte er das Programm (Skizze) des Projekts für Arduino. Es gibt auch nicht so viel Aufhebens um den Lötkolben und alles beschränkt sich darauf, die Verkabelung nur mit dem Schal oder Schalter zu verlöten. Es stellte sich natürlich als hässlich heraus, aber es funktioniert ziemlich gut auf dem Knie. Für einen Fotografen ist der Perfektionismus des Lötens oder eines Programms nur dann von Bedeutung, wenn sein Mangel die Verwirklichung seiner Ziele beeinträchtigt.

Kehren wir noch einmal zur Liste der Komponenten zurück - ich werde den Zweck und die Interaktion zwischen ihnen kommentieren.

Das Gehirn des Prototyps ist DCcduino UNO. Dies ist ein klassischer Arduino UNO R3 in der chinesischen Implementierung. Ich stelle fest, dass es dem Original in keiner Weise unterlegen ist. Es gibt das gleiche Atmega328P mit seiner Bindung, außer dass der Treiber für die virtuelle serielle Schnittstelle für USB einen anderen, aber leicht zu findenden (CH340-Chip) erfordert und in Win8 sogar vollständig zu sein scheint. Diese Arduinka ist meistens die erste und einfachste, die Noobs auswählt, und ich war keine Ausnahme. Und weißt du, es hat mir gereicht. Das heißt, Es entstanden Belastungen mit Ressourcen, aber mein einfacher 8-Bit-Mikrocontroller war mehr als in der Lage, meine Aufgaben zu erfüllen.

Das Gehirn steuert die Motoren über einen anderen Schal, den sogenannten "Shield" - einer Platine, die in die Anschlüsse des Arduino eingesetzt ist und auf die eine Nutzlast aufgebracht und gelötet wird. Dies muss nur von einem „Modul“ unterschieden werden. "Module" - eine schlüsselfertige Lösung mit allen Kabeln und gelöteten Komponenten - werden über Drähte, die in die Anschlüsse des Arduino gesteckt sind, mit dem Arduino verbunden, manchmal mit einem Vermittler in Form eines lötfreien Steckbretts. Und die "Abschirmung" ist ein solches "Modul", das auf dem Arduino installiert ist, da dieses eine standardisierte Größe und Position der Anschlüsse hat.

In meinem Fall musste ich den Motor Drive Shield L293D kaufen - dies ist ein Modul zur Steuerung von vier Gleichstrommotoren (oder zwei Schrittmotoren) mit Strömen von bis zu 600 mA für jeden Gleichstrommotor. Einfach gesagt, für kleine Autos reicht es. Für die Motoren in meinem Chassis verordneten die Chinesen einen Blockierstrom von 800 mA - den maximalen Motorverbrauch, also schlug ich vor, dass ich genug hatte. Ein bisschen falsch. Jetzt würde ich lieber Adafruit Motor Shield V2 wählen - dieser Schal ist viel besser für die Aufgabe geeignet und gibt viele Ressourcen frei, die meine erste Version auswählt. Es fehlt nicht einmal an Strom - bei der ersten Karte wird dies auch dadurch gelöst, dass auf jedem L293D-Chip ein weiterer Zwilling installiert oder im Allgemeinen durch einen in der Verkabelung ähnlichen SN754410-Chip ersetzt wird. Ich mache auch darauf aufmerksam, dass Motoren für 6 V oder mehr ausgelegt sein müssen. Die Chinesen sagendass ich dort 6V-Motoren habe und zu faul bin, um zu klettern, um das zu überprüfen. Weil 3V-Motoren auch funktionieren, nur nicht so lange. In jedem Fall haben sie die Standardgröße und sind leicht zu wechseln. Übrigens, Sie sagen sich, dass ich vor Beginn der Aufregung mit dem Projekt keine Ahnung hatte, was oben geschrieben wurde, aber all dies ist leicht zu finden, zu beherrschen und anzuwenden.

Die Abschirmung ist an die Stromversorgung des gesamten Systems angeschlossen. Daraus werden Motoren und Arduinka und andere Umreifungsbänder angetrieben. Die Leistung in diesem Projekt beträgt zwei Li-Ion 18650-Batterien, die bei einem Strom von bis zu 3 A etwa 7,4 V abgeben (vielleicht mehr, aber ich werde es nicht besser überprüfen). Als Backup-Netzteil wird auch der Ausgang zu einem externen Netzteil über den 2,1 x 5,5 mm-Anschluss an den Switch gelötet. Vergessen Sie natürlich nicht, die Batterien zu entfernen, bevor Sie eine externe Quelle anschließen nichts Gutes wird von parallelem Nutzen kommen. Auf jeden Fall. Trotzdem muss eine externe Stromversorgung bereitgestellt werden, da in der Kälte von Li-Ion-Akkus sehr, sehr, sehr schnell leer werden und sogar dauerhaft verbraucht werden können.

Die Arduinka kommuniziert mit der Kamera über das Relaismodul. Es ist klar, dass sie damit nur den „Knopf“ der Fernbedienung schließen kann. Und dort hängt es von der Kamera ab, welche Art von Belichtung funktioniert (genauer gesagt, welche Art von Belichtung der Fotograf eingestellt hat). Wenn sich die Kamera im Lampenmodus befindet, steuern wir natürlich die Belichtung für die Dauer der „Knopf“ -Rolle. Für nächtliche Aufnahmen gibt es nichts, was ohne dies zu tun wäre. Daher legen wir im Programm nicht nur die Freigabe der Rolle fest, sondern auch die Fähigkeit, die mitgelieferte Rolle in der Zeit zu halten, die der Fotograf benötigt. Ich habe Nikon, daher wurde ein spezieller Fernbedienungsanschluss benötigt, den ich von der chinesischen Zeitraffer-Aufnahmekonsole ausgeliehen habe. Glückliche Canon-Anhänger tun mit einfachen Klinkensteckern, ich beneide sie.

Damit der Fotograf mit dem Programm kommunizieren kann, sind Direkt- und Feedback-Organe vorgesehen - LCD 2004 I2C blau und Joystick-Modul KY-023. Das erste ist ein LCD-Display mit blauer Hintergrundbeleuchtung mit einer Matrix aus 20 Zeichen in 4 Zeilen und einem lateinischen Alphabet im Zeichengenerator. Sein I2C-Adapter ist im Preis spürbar gestiegen - dies ist ein Scharnier, mit dem Sie in nur zwei Drähten mit der Arduinka kommunizieren können. Genauer gesagt, sogar einzeln, aber die Verkabelung ist alle eins zwei und natürlich zwei weitere für die Strommasse (+ und -, ja). Da die meisten Arduino-Ports von der Abschirmung gefressen wurden - „Abschirmung“ für die Motorsteuerung (was der Vorteil der V2-Abschirmung ist - sie kommuniziert auch über I2C und lässt die Ports frei), haben wir keine andere Wahl. Drei weitere Ports (zwei analoge und ein digitaler Eingang) haben einen Joystick. Dies ist ein ziemlich einfaches Gerät, bei dem wir durch Schwenken des Joysticks entlang zweier Achsen ihren Widerstand ändern.und die Arduinka darauf kann dem Programm ziemlich genau sagen, wo und wie sehr wir es abgelehnt haben, und selbst durch Drücken des Joysticks wird der Tastenkontakt geschlossen. Insgesamt haben wir mindestens fünf Möglichkeiten, über nur drei Ports etwas zum Programm zu sagen (aber es gibt fünf Verkabelungen, Power-to-Ground, ja). Der Joystick selbst verursacht jedoch keine angenehmen Emotionen. Sehr empfindlich, unpraktisch zu installieren, aber ... es funktioniert, okay.

Schließlich ist ein Schrittmotor (Schrittmotor) 28BYJ-48 am Kameraobjektiv dieses Prototyps beteiligt. Er braucht auch einen Treiber - einen Chip, der mit einem Niedrigstrombefehl von der Arduinka einen großen Strom hinein treibt. Hier handelt es sich um ein Modulmodul mit ULN2003. Da die Bewegung der Linsenringe sehr genau und wiederholbar sein muss, ist ein herkömmlicher Gleichstrommotor nicht anwendbar. Mit dem Schrittmotor können Sie das Objektiv ein wenig mit perfekter Genauigkeit und das nächste Mal ein bisschen mehr drehen - sehr genau und ohne Ruckler, die den Zeitraffer ruinieren. Natürlich ist es nicht in das Objektiv integriert, und hier beginnt das Problem. Er dreht sich durch einen Zahnriemen der Größe GT2 mit einer Breite von 6 mm. Wie anzunehmen ist, hängt die Torsionszuverlässigkeit von der Riemenspannung und ihrer Haftung an der gummierten Oberfläche der Linsenringe ab. Aber ich habe mir nicht vorgestellt und geglaubt, dass es keine Probleme geben würde. Wird sein.

Da sich bei diesem Prototyp die Stufe links von der Kamera befindet, führt ein gut gespannter Riemen dazu, dass die Kamera aus dem Stativbolzen herausfällt, sobald sie nicht festgezogen wird. Wenn er im Gegenteil gewesen wäre, hätte er sich im Gegenteil verzögert, aber Traurigkeit ist da ... Und die Kupplung ist irgendwie instabil. Sie können es erhöhen, indem Sie eine Art Beschichtung mit besserem Griff auf den Ring kleben. Oder ordnen Sie den Motor auf der anderen Seite neu an. Bis ich mich entschied, was besser ist.

Jetzt werde ich über die Logik all dessen sprechen. In der Logik ist alles sehr primitiv - wenn Sie nicht versuchen, sich mit der Funktionsweise von allem auseinanderzusetzen. Unser „unprätentiöser“ Mikroprozessor (atmega328) verfügt also über ein Kilobyte wiederbeschreibbaren Nur-Lese-Speicher (ich meine EEPROM), in dem die Werte der Zeitraffer-Aufnahmeparameter gespeichert sind. Es gibt 32 KB nichtflüchtigen Flash-Speicher für Programmspeicher und Bootloader-Rewriter. Es gibt 2 KB RAM, die unser Programm zum Speichern von Variablen während des Betriebs verwendet. Natürlich gibt es immer noch eine Reihe von Registern, Timern und sogar ein Thermometer im Inneren, aber jetzt müssen Sie nichts mehr darüber wissen.

Wenn die Stromversorgung eingeschaltet ist, startet der Bootloader in Flash unser dort geschriebenes Programm. Zunächst werden alle darin geschriebenen Variablen und Konstanten in den RAM gestellt, die Aufnahmeparameter aus dem dortigen EEPROM gelesen und auf dem LCD die Alternativen für weitere Aktionen angezeigt, die dem Fotografen angeboten werden. Nach dem Abschluss dreht es sich in einem Wartezyklus auf eine Reaktion des Fotografen - bis die Batterien vollständig entladen sind. Folgende Aktionen stehen zur Verfügung:

- direkte Steuerung der Roboterantriebe - Überprüfung der Funktionsfähigkeit der Anschlüsse, Auswertung der Arbeitskalibrierung der Motoren und Versetzen des Fahrgestells in die Ausgangsposition.
- Programmieren des Aufnahmezeitraffers - Ändern der vom Fotografen festgelegten Aufnahmeparameter.
- Testaufnahmeleistung - Schrittweise Ausführung einer programmierten Aufnahme ohne Belichtung und Pausen zwischen den Schritten („Frames“).
- Zeitrafferfotografie starten - Schrittweise Ausführung des Aufnahmeprogramms gemäß den eingegebenen Parametern.

Der Ausführungszyklus des Aufnahmeprogramms besteht aus sich wiederholenden Schritt-Frames - ihre Anzahl entspricht der Anzahl der Frames im vom Fotografen eingestellten Video. Es wird in der folgenden Reihenfolge ausgeführt:

0) Anzeige der aktuellen Aufnahmeparameter und ihres Fortschritts auf dem LCD.
1) Exposition. Schalten Sie das Relais und warten Sie auf die in den Parametern angegebene Zeit.
2) Bewegung hin und her. Wir schalten die Motoren ein und bewegen uns zu dem in den Parametern angegebenen Abstand.
3) Kameradrehung von links nach rechts. Wir drehen die Kamera nach links oder rechts um die in den Parametern angegebenen Grade. Die Rotation kann nicht in jedem Bild erfolgen, sondern möglicherweise in jeder Sekunde, dritten, fünften, zehnten - hängt davon ab, ob der Fotograf seine Fantasien verwirklicht.
4) Drehung des Linsenrings um den durch die Parameter angegebenen Winkel. Genauer gesagt geben die Parameter die Anzahl der Schritte für den Schritt an und wie viele Schritte zum gewünschten Drehwinkel des Rings führen, den der Fotograf im Voraus berechnet - im direkten Steuermodus des Schritts.
5) Warten auf eine Pause zwischen den Frames. Wenn der Rahmen so eingestellt wurde, dass er sich bewegt, ist es sinnvoll, mindestens zwei Sekunden anzuhalten, da sich die Plattform beruhigen muss.

Und wenn der Benutzer die Ausführung nicht unterbrochen hat, gehen wir zum Anfang des nächsten Schrittrahmens.

Im Allgemeinen keine brutale Mathematik oder Algorithmen, die für einen einfachen Fotografen unverständlich sind.

Warum nenne ich dies einen Prototyp und nicht, um industrielle Produktion, Patente, Zertifizierung und internationalen Vertrieb zu etablieren?

Erstens ist es immer noch ein Spielzeug. Ich habe mich verwöhnt, meine Neugier befriedigt, indem ich den Mikrocontroller und sein Geschirr studiert habe. Ich habe noch ein paar Ideen zur Implementierung einiger Haushaltsgeräte im Kopf, aber leider habe ich nicht gelernt, wie man Geld verdient. Aber die Kosten waren ziemlich gut - bei einem Preis von bis zu hundert Dollar ist es ein ziemlich anständiges Gerät, das eine DSLR auf sich zieht.

Zweitens gibt es genug Probleme und es gibt etwas zu beenden. Ich werde kurz

auflisten : - Über den Shagovik-Gürtel und das Objektiv wurde bereits oben geschrieben.
- Die Stromversorgung des Motors über einen Kanal L293D reicht aus, damit der Roboter unbeschwert auf einer ebenen Fläche läuft, selbst wenn er in einem merklichen Winkel nach oben geneigt ist. Auf unpassierbaren Straßen reicht dies jedoch kategorisch nicht aus. Um einen Roboter durch Gras und Sand zu fahren, ist dies nicht gut. Zum Teil habe ich dies durch Hinzufügen von Motoren zu einem anderen Kanal des zweiten L293D entschieden. Er beschließt entschieden, die Motoren im Kettenantrieb durch stärkere zu ersetzen und sie mit einem Fahrer zu verwenden, der einen solchen guten Strom erzeugt.
- Mit der Drehung der Plattform ist auch kein Eis. Es ist schwierig, weniger als einen Abschluss zu machen. Benötigen Sie einen Schrittmotor. Das Getriebe hat wieder ein Spielspielzeug - vergessen Sie nicht die Herkunft und den Zweck des Fahrgestells! Da die Drehung während der Zeitrafferaufnahme in eine Richtung erfolgt - das Spiel wird schnell ausgewählt und ist nicht so kritisch, aber wenn es hin und her geht, sind unwillkürliche Plattformbewegungen möglich - innerhalb des Spiels.
- Ich habe nicht darüber nachgedacht, wie ich die Kamera auf und ab drehen kann. Obwohl das Projekt 4DoF heißt, haben wir tatsächlich nur drei Freiheitsgrade.
- Motoren und ihre Antriebe auf Schienen haben unterschiedliche Eigenschaften. Nicht genau identisch. Daher wird bei einer formal geradlinigen Bewegung des Roboters etwas zur Seite geführt. Nach meinen Schätzungen - etwa 10 cm mal fünf Meter. Ich nahm dies an und beabsichtigte, eine Kurskorrektur einzuführen, indem ich Feedback basierend auf dem in der Liste der Magnetometer erwähnten GY-273 HMC5883L-Modul anwendete.

Es wurde angenommen, dass der Roboter, nachdem er den Wert des Feldes in Bewegungsrichtung gespeichert hat, bevor er mit der Bewegung im Rahmen beginnt, nach Abschluss der vorgeschriebenen Bewegung mit einer Spur arbeitet, um den Kurs auf die Ähnlichkeit der während der Feldkorrektur gemessenen und gespeicherten Werte zu korrigieren. Es ist nicht im Voraus klar, ob die Genauigkeit des Magnetometers dafür ausreicht, oder statt einer Rückmeldung müssen Sie nur die für diesen Prototyp empirisch berechnete Korrektur für die Betriebszeit eines Motors eingeben. Nur weil sich herausstellte, dass das gekaufte Modul nicht vollständig betriebsbereit ist - anstelle der Werte vom Sensor gibt es ein Rauschen, aber ich habe noch keinen Ersatz dafür erhalten. Und auch an diesem Sensor wollte ich die Überrollerkennung beim Bewegen befestigen - um die Aufnahme zu stoppen. Obwohl es dafür nützlich ist.

- Die Schnittstelle ist sehr langweilig. Unbequemer Joystick, Trägheit der Robotersteuerung (dazu später mehr), Mangel an schönen Grafiken, Knöpfen, Locken, Gadgets und Fanfare - einige obskure und lateinische Zeichen. Im Allgemeinen ist ein gemeinnütziges Produkt sicher ...
ein allgemeiner Horror vom Knie des Produkts. Viele Drähte, ein Taschentuch, das irgendwie geschoben, repariert und hier und da herausragt. Dies ist eindeutig nicht wie ein weißes schönes Spielzeug für ein Geschäft.

Nudeln

Drittens gibt es noch mehr zu entwickeln! Neben der Lösung dieser Probleme und der Schaffung eines kommerziellen Looks. Wirklich! Zum Beispiel wurde die Trägheit der oben erwähnten Schnittstelle dem Wunsch entnommen, eine Fernsteuerung zu implementieren und Telemetrie von einem Roboter zu empfangen. Ja Ja. Der Mikrocontroller, auch wenn er so mächtig ist, arbeitet in meinen Händen nur ineffizient. Alles könnte fliegen, aber die Mängel bei der Programmierung und der Verwendung von Standardbibliotheken führen dazu, dass Sie bei der Steuerung des Joysticks eine Weile warten müssen, bis der Roboter auf die Aktion reagiert. Unterwegs ist der Roboter bereit, ihn von anderen Geräten aus zu steuern. Richtig, richtig. Bereits im Stadium eines solchen Prototyps ist es durchaus möglich, ihn von einem Smartphone oder Computer aus zu steuern. Steuern, Aufnahmeparameter anpassen, Leistung verfolgen - all dies kann jetzt von überall aus erfolgen.Überraschenderweise musste ich dafür nicht einmal ein Guru in Mikrocontrollern sein - irgendwie, aber es funktioniert bereits. Obwohl es besser ist, mich nicht genau zu fragen, wie. Ehre sei Arduino, was.

Was weiter? Ich werde schießen. Genieße den Schuss oder die Motivation für die Remake-Änderung. Dafür wurde es gemacht, nein? Ich bin es nicht gewohnt, Werkzeuge zu verwenden, die nicht so einfach zu bedienen sind. Und hier gibt es niemanden, über den man sich beschweren kann, außer sich selbst.

Ich hoffe, dass mich die Leser beeindruckt haben, dass es nicht allzu kompliziert und sogar interessant ist, in Ihrer Freizeit diese kleine Idee auszuprobieren, die sich einst in der Ecke des Gehirns des Lesers versteckt hatte. Es ist jedoch sogar nur "das ist, was für Perversionen passieren!" es wird mir reichen Danke fürs Lesen und deine Zeit.

Wenn jemand nicht zu faul ist, um noch mehr Zeit zu verbringen, können Sie sich mit dem geschriebenen Code vertraut machen. Es ist nichts Interessantes oder Gutes daran, aber es funktioniert. Ich warne Sie im Voraus, dass es 800 Zeilen gibt.

» 4DOF Timelapse Robot V1.2

Ja! Und endlich ein Sommerhaus von mir kaufen! Ich habe Angst, wie müde es ist, auf den Käufer zu warten!

Zusammenfassend sieht der Roboter so „live“ aus:

Source: https://habr.com/ru/post/de398381/


All Articles