Innholdsfortegnelse:

Prototype kamerastabilisator (2DOF): 6 trinn
Prototype kamerastabilisator (2DOF): 6 trinn

Video: Prototype kamerastabilisator (2DOF): 6 trinn

Video: Prototype kamerastabilisator (2DOF): 6 trinn
Video: DIY 6 DoF Linear Hexapod Motion Simulator | Early Prototype 2024, November
Anonim
Prototype kamerastabilisator (2DOF)
Prototype kamerastabilisator (2DOF)

Forfattere:

Robert de Mello e Souza, Jacob Paxton, Moises Farias

Bekreftelser:

En stor takk til California State University Maritime Academy, Engineering Engineering-programmet og Dr. Chang-Siu for at du hjalp oss med å lykkes med prosjektet vårt i så kompliserte tider.

Introduksjon:

En kamerastabilisator, eller kameragimbal, er et feste som forhindrer kamerarystelser og andre uberettigede bevegelser. En av de første stabilisatorene som noen gang ble oppfunnet brukte støtdempere/fjærer for å dempe plutselige endringer i kameraets bevegelse. Andre typer stabilisatorer bruker gyroskoper eller støttepunkter for å utføre den samme oppgaven. Disse enhetene stabiliserer uønskede bevegelser i opptil tre forskjellige akser eller dimensjoner. Disse inkluderer x-, y- og z-aksen. Dette betyr at en stabilisator kan dempe bevegelser i tre forskjellige retninger: rulle, pitch og yaw. Dette oppnås vanligvis ved å bruke 3 motorer styrt med et elektronisk kontrollsystem som hver motvirker en annen akse.

Vi var eksepsjonelt interessert i dette prosjektet av flere grunner. Vi liker alle forskjellige utendørsaktiviteter som snowboard og andre sporter. Å få opptak av høy kvalitet fra disse aktivitetene er vanskelig på grunn av mengden bevegelse som kreves. Et par av oss eier en ekte kamerastabilisator kjøpt fra butikken, og derfor ønsket vi å undersøke hva som skal til for å lage noe slikt. I våre laboratorie- og forelesningsklasser har vi lært om hvordan vi skal samhandle med servomotorer ved hjelp av Arduino, kodingen som kreves for å få dem til å fungere, og teorien bak elektroniske kretser for å hjelpe oss med å designe kretsene.

*MERK: På grunn av COVID-19 klarte vi ikke å fullføre dette prosjektet i sin helhet. Denne instruksen er en veiledning for kretsene og koden som kreves for prototypen til stabilisatoren. Vi har tenkt å fullføre prosjektet når skolen begynner igjen og vi har tilgang til 3D -skrivere igjen. Den ferdige versjonen vil ha en batterikrets og et 3D-trykt hus med stabilisatorarmer (vist nedenfor). Vær også oppmerksom på at det vanligvis er dårlig praksis å slå av servomotorene fra Arduino 5v -strømforsyningen. Vi gjør dette ganske enkelt for å gjøre det mulig å teste prototypen. En separat strømforsyning vil bli inkludert i det siste prosjektet og er vist i kretsdiagrammet nedenfor.

Rekvisita

-Arduino UNO mikrokontroller

-Brødbrett

-Wire Jumper Kit

-MPU6050 Inertial måleenhet

-MG995 Servomotor (x2)

-LCD1602 -modul

-Joystick -modul

Trinn 1: Prosjektoversikt

Image
Image

Ovenfor er en video av prosjektet vårt og viser også en fungerende demonstrasjon.

Trinn 2: Teori og operasjon

Stat/logisk diagram
Stat/logisk diagram

For stabilisering av kameraet vårt brukte vi to servomotorer for å stabilisere tonehøyde og rulleaksen. En treghetsmåleenhet (IMU) registrerer akselerasjon, vinkelakselerasjon og magnetisk kraft som vi kan bruke til å bestemme kameraets vinkel. Med en IMU festet til enheten, kan vi bruke de registrerte dataene til automatisk å motvirke endringen i håndtakets bevegelse med servoene. Videre, med en Arduino joystick, kan vi manuelt styre to rotasjonsakser, en motor for hver akse.

På figur 1 kan du se at rullen motvirkes av rulleservomotoren. Når håndtaket beveges i valsretningen, vil rulleservomotoren rotere i lik men motsatt retning.

I figur 2 kan du se stigningsvinkelen styres av en separat servomotor som fungerer på lignende måte som rulleservomotoren.

Servomotorer er et godt valg for dette prosjektet fordi det kombinerer motoren, en posisjonssensor, en liten innebygd mikrokontroller og H-bro som lar oss manuelt og automatisk kontrollere motorposisjon gjennom Arduino. Den opprinnelige designen krevde bare en servomotor, men etter en del overveielser bestemte vi oss for å bruke to. Ytterligere komponenter som ble lagt til var en Arduino LCD -skjerm og joystick. Formålet med LCD -skjermen er å vise hvilken tilstand stabilisatoren er i og den nåværende vinkelen til hver servo mens den er i manuell kontroll.

For å lage et hus for alle elektriske komponenter, har vi brukt Computer-Aided Design (CAD) og vil bruke en 3D-skriver. For å holde de elektriske komponentene har vi designet et karosseri som også vil fungere som et håndtak. Det er her IMU -sensoren og joysticken skal monteres. For dobbelakset kontroll, designet vi fester for motorene.

Trinn 3: Stat/logisk diagram

Koden består av tre tilstander, som hver vil bli angitt på LCD -skjermen. Når Arduino mottar strøm, vil LCD-skjermen skrive ut "Initialiserer …" og I2C-kommunikasjon startes med MPU-6050. De første dataene fra MPU-6050 blir registrert for å finne gjennomsnittet. Etterpå går Arduino inn i manuell kontrollmodus. Her kan begge servomotorer justeres manuelt med joysticken. Hvis du trykker på styrespaken, vil den gå inn i "Auto Level" -status og stabiliseringsplattformen vil holde nivået i forhold til jorden. Enhver bevegelse i rull- eller stigningsretningen vil bli motvirket av servomotorene, og dermed holde plattformen plan. Med et nytt trykk på joystick -knappen, vil Arduino gå inn i en "Gjør ingenting -tilstand" hvor servomotorene blir låst. I den rekkefølgen vil statene fortsette å endre seg for hvert trykk på joystick -knappen.

Trinn 4: Kretsdiagram

Kretsdiagram
Kretsdiagram

Bildet ovenfor illustrerer vårt prosjektkretsdiagram i AV -modus. Arduino mikrokontroller gir de nødvendige tilkoblingene for å kjøre MPU-6050 IMU, joystick og LCD-skjermen. LiPo -cellene er direkte koblet til veksleren og leverer strøm til både Arduino mikrokontroller og begge servomotorer. Under denne driftsmåten kobles batteriene parallelt med bruk av en 3-punkts dobbeltkast (3PDT) -bryter. Bryteren lar oss koble fra lasten, samtidig som vi kobler laderen og bytter cellene fra en serie til en parallell konfigurasjon. Dette lar også batteriet lades samtidig.

Når bryteren er slått til PÅ -modus, vil to 3,7v celler gi strøm til Arduino og Servo Motors. Under denne driftsmåten koblet batteriene i serie ved bruk av en 3-punkts dobbeltkast (3PDT) -bryter. Dette lar oss få 7,4v fra strømkilden vår. Både LCD -skjermen og IMU -sensoren bruker I2C -kommunikasjon. SDA brukes til å overføre dataene, mens SCL er klokkelinjen som brukes til å synkronisere dataoverføringer. Servomotorene har tre ledninger hver: strøm, bakke og data. Arduino kommuniserer med servoene gjennom pinnene 3 og 5; disse pinnene bruker Pulse Width Modulation (PWM) for å overføre dataene med jevnere overganger.

*Batteriladningskretsen er fra Adafruit.com

Trinn 5: Konstruksjon

Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon

Den grunnleggende utformingen av et kamera gimbal er ganske enkelt, da det egentlig bare er et håndtak og et feste for et kamera. Gimbalen består av to servomotorer for å motvirke enhver bevegelse i rull- og stigningsretningen. Å bruke en Arduino Uno krever betydelig plass, så vi har også lagt til et hus i bunnen av håndtaket for å inneholde alle de elektriske komponentene. Hus, håndtak og servomotorfester vil alle være 3D -trykte, slik at vi kan minimere kostnadene og den totale størrelsen, ettersom vi kan ha full kontroll over designet. Det er flere måter man kan designe gimbalen på, men den største faktoren å vurdere er å unngå at en servomotor roterer til en annen. I prototypen er den ene servomotoren i hovedsak festet til den andre. Når vi har tilgang til 3D -skrivere igjen, vil vi 3D -skrive ut armen og plattformen vist ovenfor.

*Designene for armen og plattformen er fra

Trinn 6: Generelle funn og potensielle forbedringer

Den første undersøkelsen vi gjorde på kameraklokker var veldig skremmende. Selv om det var en mengde kilder og informasjon om emnet, virket det veldig mye som et prosjekt som ville være utenfor vår liga. Vi begynte sakte, gjorde så mye forskning som vi kunne, men absorberte lite. Hver uke møttes vi og samarbeidet. Etter hvert som vi jobbet, fikk vi mer og mer fart og ble til slutt mindre redde og mer begeistret for prosjektet. Selv om vi la til en ekstra joystick og LCD -skjerm, er det fortsatt mye mer vi kan legge til i prosjektet. Det er også noen få forbedringer som kan legges til, for eksempel restriksjoner på den manuelle kontrollen som forhindrer brukeren i å rotere den ene servomotoren til den andre. Dette er et lite problem og kan også løses med en annen monteringsdesign. Vi diskuterte også mulighetene for å legge til en panne -funksjon. Dette vil tillate brukeren å bruke servomotorene til å panorere over et område på en bestemt tid.

Som et team jobbet vi alle veldig bra sammen. Til tross for omstendighetene og bare muligheten til å møtes praktisk talt, gjorde vi det beste ut av det og fortsatte å kommunisere ofte. Alle delene og komponentene ble gitt til én person, og dette gjorde det litt vanskeligere for resten av gruppen å hjelpe til med å feilsøke eventuelle problemer som dukket opp. Vi klarte å jobbe gjennom problemene som oppsto, men hadde vi alle hatt de samme materialene, ville det ha gjort det litt lettere å hjelpe. Totalt sett var det største bidraget til å fullføre prosjektet vårt evnen for hvert medlem til å ha tilgjengelighet og vilje til å møtes og chatte om prosjektet.

Anbefalt: