Inhoudsopgave:

Prototype camerastabilisator (2DOF) - Ajarnpa
Prototype camerastabilisator (2DOF) - Ajarnpa

Video: Prototype camerastabilisator (2DOF) - Ajarnpa

Video: Prototype camerastabilisator (2DOF) - Ajarnpa
Video: DIY Gimbal: 2 Axis Prototype 2024, Juli-
Anonim
Prototype camerastabilisator (2DOF)
Prototype camerastabilisator (2DOF)

Auteurs:

Robert de Mello e Souza, Jacob Paxton, Moises Farias

Dankbetuigingen:

Hartelijk dank aan de California State University Maritime Academy, het Engineering Technology-programma en Dr. Chang-Siu voor het helpen slagen van ons project in zulke gecompliceerde tijden.

Invoering:

Een camerastabilisator, of camera-gimbal, is een houder die cameratrilling en andere ongerechtvaardigde bewegingen voorkomt. Een van de eerste stabilisatoren ooit uitgevonden gebruikte schokdempers/veren om plotselinge veranderingen in de beweging van de camera te dempen. Andere soorten stabilisatoren gebruiken gyroscopen of draaipunten om dezelfde taak uit te voeren. Deze apparaten stabiliseren ongewenste bewegingen in maximaal drie verschillende assen of dimensies. Deze omvatten de x-, y- en z-as. Dit betekent dat een stabilisator bewegingen in drie verschillende richtingen kan dempen: rollen, stampen en gieren. Dit wordt meestal bereikt met behulp van 3 motoren die worden bestuurd met een elektronisch regelsysteem die elk een andere as tegenwerken.

We waren om verschillende redenen buitengewoon geïnteresseerd in dit project. We genieten allemaal van verschillende buitenactiviteiten, zoals snowboarden en andere sporten. Het is moeilijk om hoogwaardige beelden van deze activiteiten te krijgen vanwege de hoeveelheid beweging die nodig is. Een paar van ons hebben een echte camerastabilisator die we in de winkel hebben gekocht, en dus wilden we onderzoeken wat er nodig is om zoiets te maken. In onze lab- en collegelessen hebben we geleerd hoe we kunnen communiceren met servomotoren met behulp van Arduino, de codering die nodig is om ze te laten werken, en de theorie achter elektronische circuits om ons te helpen de circuits te ontwerpen.

*OPMERKING: vanwege COVID-19 hebben we dit project niet in zijn geheel kunnen voltooien. Dit instructable is een gids voor het circuit en de code die nodig zijn voor het prototype van de stabilisator. We zijn van plan het project af te ronden wanneer de school weer begint en we weer toegang hebben tot 3D-printers. De voltooide versie heeft een batterijcircuit en een 3D-geprinte behuizing met stabilisatorarmen (hieronder weergegeven). Houd er ook rekening mee dat het over het algemeen een slechte gewoonte is om de servomotoren van de Arduino 5v-voeding af te sluiten. We doen dit gewoon om het prototype te kunnen testen. Een aparte voeding wordt in het uiteindelijke project meegeleverd en is weergegeven in onderstaand schakelschema.

Benodigdheden

-Arduino UNO-microcontroller

-Broodplank

-Draad Jumper Kit

-MPU6050 Inertiële meeteenheid

-MG995 servomotor (x2)

-LCD1602-module

-Joystick-module

Stap 1: Projectoverzicht

Image
Image

Hierboven is een video van ons project en toont ook een werkende demonstratie.

Stap 2: Theorie en werking

Staat/logica diagram
Staat/logica diagram

Voor de stabilisatie van onze camera hebben we twee servomotoren gebruikt om de pitch en roll-as te stabiliseren. Een Inertial Measurement Unit (IMU) detecteert versnelling, hoekversnelling en magnetische kracht die we kunnen gebruiken om de hoek van de camera te bepalen. Met een IMU die aan de assemblage is bevestigd, kunnen we de gedetecteerde gegevens gebruiken om de verandering in de beweging van de hendel met de servo's automatisch tegen te gaan. Bovendien kunnen we met een Arduino-joystick handmatig twee rotatie-assen bedienen, één motor voor elke as.

In figuur 1 zie je dat de rol wordt tegengewerkt door de rolservomotor. Als de hendel in de rolrichting wordt bewogen, zal de rolservomotor in een gelijke maar tegengestelde richting draaien.

In figuur 2 kunt u zien dat de hellingshoek wordt geregeld door een afzonderlijke servomotor die op dezelfde manier werkt als de rolservomotor.

Servomotoren zijn een goede keuze voor dit project omdat het de motor, een positiesensor, een kleine ingebouwde microcontroller en H-bridge combineert waarmee we de motorpositie handmatig en automatisch kunnen regelen via de Arduino. Het oorspronkelijke ontwerp vereiste slechts één servomotor, maar na enig wikken en wegen besloten we er twee te gebruiken. Extra componenten toegevoegd waren een Arduino LCD-scherm en Joystick. Het doel van het LCD-scherm is om weer te geven in welke staat de stabilisator zich momenteel bevindt en de huidige hoek van elke servo tijdens handmatige bediening.

Om de behuizing te maken voor alle elektrische componenten, hebben we Computer-Aided Design (CAD) gebruikt en zullen we een 3D-printer gebruiken. Om de elektrische componenten vast te houden, hebben we een behuizing ontworpen die ook als handgreep zal dienen. Dit is waar de IMU-sensor en joystick worden gemonteerd. Voor dubbelassige besturing hebben we steunen voor de motoren ontworpen.

Stap 3: Staat/logica-diagram

De code bestaat uit drie statussen, die elk op het LCD-scherm worden aangegeven. Wanneer de Arduino stroom krijgt, zal het LCD-scherm "Initialiseren …" afdrukken en I2C-communicatie wordt gestart met de MPU-6050. De initiële gegevens van de MPU-6050 worden opgenomen om het gemiddelde te vinden. Daarna gaat de Arduino naar de handmatige besturingsmodus. Hier kunnen beide servomotoren handmatig met de joystick worden afgesteld. Als de joystickknop wordt ingedrukt, gaat deze naar de status "Auto Level" en blijft het stabilisatieplatform waterpas ten opzichte van de aarde. Elke beweging in de rol- of stamprichting wordt tegengegaan door de servomotoren, waardoor het platform waterpas blijft. Met nog een druk op de joystickknop, gaat de Arduino naar een "Niets doen-status" waar de servomotoren worden vergrendeld. In die volgorde zullen de statussen blijven veranderen met elke druk op de joystickknop.

Stap 4: Schakelschema

Schakelschema
Schakelschema

De afbeelding hierboven illustreert ons projectschakelschema in de UIT-modus. De Arduino Microcontroller biedt de nodige verbindingen om de MPU-6050 IMU, Joystick en het LCD-scherm te laten werken. De LiPo-cellen zijn direct aangesloten op de wisselaar en leveren stroom aan zowel de Arduino Microcontroller als beide servomotoren. Tijdens deze bedrijfsmodus worden de batterijen parallel geschakeld met behulp van een 3-punts double-throw (3PDT) schakelaar. Met de schakelaar kunnen we de belasting loskoppelen, terwijl we tegelijkertijd de lader aansluiten en de cellen van een serie naar een parallelle configuratie schakelen. Hierdoor kan de batterij ook gelijktijdig worden opgeladen.

Wanneer de schakelaar in de AAN-modus wordt gezet, zullen twee 3.7v-cellen de Arduino en servomotoren van stroom voorzien. Tijdens deze werkingsmodus worden de batterijen in serie geschakeld met behulp van een 3-punts double-throw (3PDT) schakelaar. Hierdoor kunnen we 7.4v uit onze stroombron halen. Zowel het LCD-scherm als de IMU-sensor gebruiken I2C-communicatie. SDA wordt gebruikt om de gegevens te verzenden, terwijl SCL de kloklijn is die wordt gebruikt om gegevensoverdrachten te synchroniseren. De servomotoren hebben elk drie kabels: voeding, aarde en data. De Arduino communiceert met de servo's via pinnen 3 en 5; deze pinnen gebruiken pulsbreedtemodulatie (PWM) om de gegevens met soepelere overgangen te verzenden.

*Batterijlaadcircuit is van Adafruit.com

Stap 5: constructie

Bouw
Bouw
Bouw
Bouw
Bouw
Bouw

Het basisontwerp van een camera-gimbal is vrij eenvoudig, omdat het in wezen slechts een handvat en houder voor een camera is. De gimbal bestaat uit twee servomotoren om elke beweging in de rol- en stamprichting tegen te gaan. Het gebruik van een Arduino Uno vereist een aanzienlijke hoeveelheid ruimte, daarom hebben we ook een behuizing aan de onderkant van de handgreep toegevoegd om alle elektrische componenten te bevatten. De behuizing, handgreep en servomotorsteunen worden allemaal 3D-geprint, waardoor we de kosten en de totale grootte kunnen minimaliseren, omdat we volledige controle over het ontwerp hebben. Er zijn verschillende manieren om de cardanische ophanging te ontwerpen, maar de grootste factor om te overwegen is om te voorkomen dat de ene servomotor in de andere draait. In het prototype is de ene servomotor in wezen aan de andere bevestigd. Wanneer we weer toegang hebben tot 3D-printers, zullen we de hierboven getoonde arm en platform 3D-printen.

*De ontwerpen voor de arm en het platform zijn van

Stap 6: Algemene bevindingen en mogelijke verbeteringen

Het eerste onderzoek dat we deden naar cameragimbals was erg intimiderend. Hoewel er een overvloed aan bronnen en informatie over het onderwerp was, leek het heel erg op een project dat buiten onze klasse zou zijn. We begonnen langzaam, deden zoveel onderzoek als we konden, maar absorbeerden weinig. Elke week kwamen we bij elkaar om samen te werken. Terwijl we werkten, kregen we steeds meer vaart en werden we uiteindelijk minder angstig en enthousiaster over het project. Hoewel we een extra joystick en een LCD-scherm hebben toegevoegd, kunnen we nog veel meer aan het project toevoegen. Er zijn ook een paar verbeteringen die kunnen worden toegevoegd, zoals beperkingen aan de handmatige bediening die zouden voorkomen dat de gebruiker de ene servomotor in de andere draait. Dit is een klein probleem en kan ook worden opgelost met een ander montageontwerp. We bespraken ook de mogelijkheden van het toevoegen van een panfunctie. Hierdoor kan de gebruiker de servomotoren gebruiken om binnen een bepaalde tijd over een gebied te pannen.

Als team hebben we allemaal heel goed samengewerkt. Ondanks de omstandigheden en alleen de mogelijkheid om elkaar virtueel te ontmoeten, hebben we er het beste van gemaakt en regelmatig gecommuniceerd. Alle onderdelen en componenten werden aan één persoon gegeven en dit maakte het een beetje moeilijker voor de rest van de groep om eventuele problemen op te lossen. We konden de problemen oplossen die zich voordeden, maar als we allemaal dezelfde materialen hadden gehad, zou het een beetje gemakkelijker zijn geweest om te helpen. Over het algemeen was de grootste bijdrage aan het voltooien van ons project de mogelijkheid voor elk lid om beschikbaarheid en bereidheid te hebben om elkaar te ontmoeten en over het project te praten.

Aanbevolen: