Cuprins:

Stabilizator de cameră prototip (2DOF): 6 pași
Stabilizator de cameră prototip (2DOF): 6 pași
Anonim
Stabilizator de cameră prototip (2DOF)
Stabilizator de cameră prototip (2DOF)

Autori:

Robert de Mello e Souza, Jacob Paxton, Moises Farias

Mulțumiri:

O mulțumire imensă Academiei maritime a Universității de Stat din California, programului său de tehnologie de inginerie și dr. Chang-Siu pentru că ne-a ajutat să reușim cu proiectul nostru în perioade atât de complicate.

Introducere:

Un dispozitiv de stabilizare a camerei sau cardanul camerei este un suport care previne mișcarea camerei și alte mișcări nejustificate. Unul dintre primii stabilizatori inventat vreodată a folosit amortizoare / arcuri pentru a atenua schimbările bruște ale mișcării camerei. Alte tipuri de stabilizatori folosesc giroscopuri sau puncte de sprijin pentru a îndeplini aceeași sarcină. Aceste dispozitive stabilizează mișcările nedorite în până la trei axe sau dimensiuni diferite. Acestea includ axa x, y și axa z. Aceasta înseamnă că un stabilizator poate amortiza mișcările în trei direcții diferite: rulare, înălțime și gălăgie. Acest lucru se realizează de obicei folosind 3 motoare controlate cu un sistem electronic de control, fiecare contracarând o axă diferită.

Am fost excepțional interesați de acest proiect din mai multe motive. Cu toții ne bucurăm de diverse activități în aer liber, precum snowboarding și alte sporturi. Obținerea de imagini de înaltă calitate a acestor activități este dificilă din cauza cantității de mișcare necesară. Câțiva dintre noi deținem un stabilizator de cameră real cumpărat din magazin și, așadar, am vrut să investigăm ce este nevoie pentru a crea așa ceva. În cadrul orelor de laborator și prelegeri, am aflat despre cum să interacționăm cu servomotorii folosind Arduino, codarea necesară pentru a le face să funcționeze și teoria din spatele circuitelor electronice care să ne ajute să proiectăm circuitele.

* NOTĂ: Din cauza COVID-19, nu am putut finaliza acest proiect în întregime. Acest instructable este un ghid pentru circuitele și codul necesare pentru prototipul stabilizatorului. Ne propunem să finalizăm proiectul ori de câte ori școala reia și avem din nou acces la imprimante 3D. Versiunea completată va avea un circuit de baterie și o carcasă imprimată 3D cu brațe stabilizatoare (prezentate mai jos). De asemenea, vă rugăm să rețineți că oprirea motoarelor servo de la sursa de alimentare Arduino 5v este, în general, o practică proastă. Pur și simplu facem acest lucru pentru a permite testarea prototipului. O sursă de alimentare separată va fi inclusă în proiectul final și este prezentată în schema de circuit de mai jos.

Provizii

-Microcontroler UNO Arduino

-Placă de pâine

-Kit jumper sârmă

-MPU6050 Unitate de măsurare inerțială

-Mg995 Servomotor (x2)

-Modul LCD1602

-Modul Joystick

Pasul 1: Prezentare generală a proiectului

Image
Image

Mai sus este un videoclip al proiectului nostru și prezintă, de asemenea, o demonstrație de lucru.

Pasul 2: Teorie și funcționare

Diagrama de stare / logică
Diagrama de stare / logică

Pentru stabilizarea camerei noastre, am folosit două servomotoare pentru stabilizarea axului de înălțime și de rulare. O unitate de măsurare inerțială (IMU) detectează accelerația, accelerația unghiulară și forța magnetică pe care o putem folosi pentru a determina unghiul camerei. Cu un IMU atașat la ansamblu, putem utiliza datele detectate pentru a contracara automat schimbarea mișcării mânerului cu servomotoarele. În plus, cu un joystick Arduino, putem controla manual două axe de rotație, câte un motor pentru fiecare axă.

În Figura 1 puteți vedea că rola este contracarată de servomotorul de rola. Pe măsură ce mânerul este deplasat în direcția de rulare, servomotorul de rolă se va roti într-o direcție egală, dar opusă.

În Figura 2 puteți vedea unghiul de pas este controlat de un servomotor separat care acționează în mod similar cu servomotorul cu role.

Servomotorele sunt o alegere bună pentru acest proiect deoarece combină motorul, un senzor de poziție, un mic microcontroler încorporat și un pod H care ne permite să controlăm manual și automat poziția motorului prin intermediul Arduino. Proiectul inițial solicita un singur servomotor, dar după o anumită deliberare, am decis să folosim două. Componente suplimentare adăugate au fost un ecran LCD Arduino și Joystick. Scopul ecranului LCD este de a afișa în ce stare se află în prezent stabilizatorul și unghiul curent al fiecărui servo în timpul controlului manual.

Pentru a crea carcasa care să conțină toate componentele electrice, am folosit Computer-Aided Design (CAD) și vom folosi o imprimantă 3D. Pentru a ține componentele electrice, am proiectat un corp care va acționa și ca un mâner. Aici vor fi montate senzorul IMU și joystick-ul. Pentru controlul pe două axe, am proiectat suporturi pentru motoare.

Pasul 3: Diagrama de stare / logică

Codul este format din trei stări, fiecare dintre acestea fiind indicată pe ecranul LCD. Când Arduino primește alimentare, ecranul LCD va imprima „Initializing…” și comunicarea I2C este pornită cu MPU-6050. Datele inițiale de la MPU-6050 sunt înregistrate pentru a găsi media. După aceea, Arduino va intra în modul de control manual. Aici, ambele servomotoare pot fi reglate manual cu joystick-ul. Dacă butonul joystick-ului este apăsat, acesta va intra în starea „Auto Level” și platforma de stabilizare va menține nivelul față de Pământ. Orice mișcare în direcția de rostogolire sau pas va fi contracarată de servo-motoare, menținând astfel nivelul platformei. Cu o altă apăsare a butonului joystick-ului, Arduino va intra într-un „Do Nothing State” în care servomotorele vor fi blocate. În această ordine, stările vor continua să se schimbe la fiecare apăsare a butonului joystick.

Pasul 4: Diagrama circuitului

Diagrama circuitului
Diagrama circuitului

Imaginea de mai sus ilustrează schema de circuit a proiectului nostru în modul OFF. Microcontrolerul Arduino oferă conexiunile necesare pentru a rula MPU-6050 IMU, Joystick și afișajul LCD. Celulele LiPo sunt conectate direct la schimbător și furnizează energie atât microcontrolerului Arduino, cât și ambelor servomotoare. În timpul acestui mod de funcționare, bateriile sunt conectate în paralel cu utilizarea unui comutator cu 3 puncte dublu-aruncare (3PDT). Comutatorul ne permite să deconectăm sarcina, conectând simultan încărcătorul și să comutăm celulele dintr-o serie în configurație paralelă. Aceasta permite, de asemenea, încărcarea bateriei simultan.

Când comutatorul este activat în modul ON, două celule de 3.7v vor furniza energie motoarelor Arduino și Servo. În timpul acestui mod de funcționare, bateriile sunt conectate în serie cu ajutorul unui comutator cu 3 puncte dublu-aruncat (3PDT). Acest lucru ne permite să obținem 7.4v de la sursa noastră de energie. Atât ecranul LCD, cât și senzorul IMU utilizează comunicația I2C. SDA este utilizat pentru a transmite datele, în timp ce SCL este linia de ceas utilizată pentru sincronizarea transferurilor de date. Servomotorele au fiecare trei cabluri: putere, masă și date. Arduino comunică cu servo-urile prin pinii 3 și 5; acești pini folosesc modularea lățimii pulsului (PWM) pentru a transmite datele cu tranziții mai fine.

* Circuitul de încărcare a bateriei este de la Adafruit.com

Pasul 5: Construcție

Constructie
Constructie
Constructie
Constructie
Constructie
Constructie

Designul de bază al cardanului camerei este destul de simplu, deoarece este în esență doar un mâner și o montură pentru o cameră. Gimbalul este format din două servomotoare pentru a contracara orice mișcare în direcțiile de rulare și pas. Utilizarea unui Arduino Uno necesită o cantitate semnificativă de spațiu, așa că am adăugat și o carcasă în partea de jos a mânerului pentru a conține toate componentele electrice. Carcasa, mânerul și servomotoarele vor fi toate tipărite 3D, permițându-ne să minimizăm costul și dimensiunea generală, deoarece putem avea control deplin asupra designului. Există mai multe moduri în care s-ar putea proiecta cardanul, dar cel mai mare factor de luat în considerare este evitarea rotirii unui servomotor în altul. În prototip, un servomotor este în esență atașat la celălalt. Când vom avea din nou acces la imprimantele 3D, vom imprima 3D brațul și platforma prezentate mai sus.

* Proiectele pentru braț și platformă sunt de pe

Pasul 6: Constatări generale și îmbunătățiri potențiale

Cercetările inițiale pe care le-am făcut pe cardanele camerei au fost foarte intimidante. Deși a existat o mulțime de surse și informații cu privire la acest subiect, mi s-a părut foarte mult un proiect care ar ieși din liga noastră. Am început încet, cercetând cât am putut, dar absorbind puțin. În fiecare săptămână ne întâlneam și colaboram. Pe măsură ce am lucrat, am căpătat din ce în ce mai mult impuls și în cele din urmă am devenit mai puțin temători și mai entuziasmați de proiect. În timp ce am adăugat un joystick suplimentar și un ecran LCD, încă mai putem adăuga mult la proiect. Există, de asemenea, câteva îmbunătățiri care ar putea fi adăugate, cum ar fi restricțiile la controlul manual care ar împiedica utilizatorul să rotească un servomotor în celălalt. Aceasta este o mică problemă și ar putea fi, de asemenea, rezolvată cu un alt design de montare. De asemenea, am discutat despre posibilitățile de a adăuga o caracteristică panoramică. Acest lucru ar permite utilizatorului să utilizeze servomotorele pentru a parcurge o zonă într-un timp specificat.

Ca echipă, am lucrat cu toții foarte bine împreună. În ciuda circumstanțelor și a abilității de a ne întâlni virtual, am făcut tot ce ne-a stat mai bine și am păstrat o comunicare frecventă. Toate piesele și componentele au fost date unei singure persoane și acest lucru a făcut un pic mai greu pentru restul grupului să ajute la depanarea oricăror probleme apărute. Am reușit să rezolvăm problemele apărute, dar dacă am fi avut cu toții aceleași materiale, ar fi făcut ceva mai ușor să ajutăm. În general, cea mai mare contribuție la finalizarea proiectului nostru a fost capacitatea fiecărui membru de a avea disponibilitate și disponibilitate de a se întâlni și a discuta despre proiect.

Recomandat: