Sadržaj:
- Korak 1: Komponente
- Korak 2: Implementacija 3 servo motora + MPU6050 žiroskopa + HC-05
- Korak 3: 3D dizajn i funkcionalnost
- Korak 4: Mehanizam upravljanja
Video: Gimbal osovine s nagibom i nagibom za GoPro pomoću Arduina - servo i žiroskop MPU6050: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Ovo uputstvo nastalo je u skladu sa zahtjevima projekta Makecourse na Univerzitetu Južne Floride (www.makecourse.com)
Cilj ovog projekta bio je izgraditi troosni Gimbal za GoPro upotrebom Arduino nano + 3 servo motora + žiroskop/akcelerometar MPU6050. U ovom projektu kontrolirao sam 2-osi (Roll and yaw) pomoću žiroskopa/akcelerometra MPU6050, trećom osi (yaw) upravlja se daljinski i ručno uz pomoć HC-05 i Arduino BlueControl aplikacije koja se nalazi u Android App Store-u.
Ovaj rad također uključuje sve datoteke 3D dizajna mehaničkih komponenti Gimbala. Podelio sam.stl datoteke za jednostavno 3D štampanje i datoteke za 3D dizajn na dnu.
Na početku mog projekta, moj plan je bio izgraditi troosni gimbal sa 3 motora bez četkica, jer su motori bez četkica glatki i osjetljiviji u usporedbi sa servo motorima. Motori bez četkica koriste se u aplikacijama velike brzine, tako da možemo prilagoditi brzinu motora kupujući ESC (kontroler). Ali da bih mogao koristiti motor bez četkica u projektu Gimbal, shvatio sam da moram voziti motor bez četkica kao servo. U servo motorima položaj motora je poznat. Ali u motoru bez četkica ne znamo položaj motora, pa je to nedostatak motora bez četkica za koji nisam mogao shvatiti kako ga voziti. Na kraju sam odlučio koristiti 3 servo motora MG995 za Gimbal projekt potreban za veliki okretni moment. Kontrolirao sam 2 servo motora za osovinu valjanja i nagiba pomoću žiroskopa MPU6050, a servo motor osi zakretanja upravljao sam pomoću HC-05 bluetooth i Android aplikacije.
Korak 1: Komponente
Komponente koje sam koristio u ovom projektu;
1- Arduino Nano (1 jedinica) (mikro usb)
2- MG995 Servo motori (3 jedinice)
3- GY-521 MPU6050 troosni akcelerometar/žiroskop (1 jedinica)
4- Bluetooth modul HC-05 (Za daljinsko upravljanje osi zakretanja (Servo3))
Prijenosni punjač 4- 5V micro usb
Korak 2: Implementacija 3 servo motora + MPU6050 žiroskopa + HC-05
Servo ožičenje
Servo1 (Roll), Servo2 (Pitch), Servo3 (Yaw)
Servo motori imaju 3 žice: VCC (crvena), GND (smeđa ili crna), PWM (žuta).
D3 => Servo1 PWM (žuta žica)
D4 => Servo2 PWM (žuta žica)
D5 => Servo3 PWM (žuta žica)
5V PIN za Arduino => VCC (crveni) od 3 servo motora.
GND PIN za Arduino => GND (smeđi ili crni) od 3 servo motora
Ožičenje žiroskopa MPU6050
A4 => SDA
A5 => SCL
3.3 V PIN za Arduino => VCC za MPU6050
GND PIN za Arduino => GND za MPU6050
HC-05 Bluetooth ožičenje
D9 => TX
D10 => RX
3.3 V PIN za Arduino => VCC za HC-05 Bluetooth
GND PIN za Arduino => GND za HC-05 Bluetooth
Korak 3: 3D dizajn i funkcionalnost
Završio sam 3D dizajn Gimbala uzimajući u obzir ostale Gimbale koji se prodaju na tržištu. Tri su glavne komponente koje se okreću sa servo motorima. Dizajnirao sam GoPro nosač koji odgovara njegovoj veličini.
Datoteka.step svih 3D dizajna dijeli se na dnu radi lakšeg uređivanja.
Korak 4: Mehanizam upravljanja
Glavni algoritam mog projekta Gimbal koristi kvaternionsku rotaciju koja je alternativa Eulerovim kutovima. Koristio sam biblioteku helper_3dmath.h kao referencu kako bih omogućio glatko kretanje koristeći Quaternion algoritam. Iako je odziv na pomak osi gladak, os kotrljanja zaostaje kako bi odgovorila na kretanje štapa. Korištenjem Quaternion algoritma uspio sam kontrolirati Roll i Pitch servo motore. Ako želite koristiti os zakretanja, možda ćete morati upotrijebiti drugi MPU6050 samo za kontrolu osi zakretanja. Kao alternativno rješenje, konfigurirao sam HC-05 i daljinski upravljao osi zakretanja pomoću android aplikacije pomoću gumba. Svakim pritiskom na dugme servo servo ose se okreće za 10 stepeni.
U ovom projektu biblioteke koje sam morao vanjski uvoziti su sljedeće;
1- I2Cdev.h // Koristi se sa wire.h za omogućavanje komunikacije s MPU6050
2- "MPU6050_6Axis_MotionApps20.h" // Biblioteka žiroskopa
3- // Omogućava pretvaranje digitalnih pinova u RX i TX pinove (potrebno je za HC-05 bluetooth modul)
4-
5- // Omogućuje komunikaciju s I2C uređajima koji koriste dva podatkovna pina (SDA i SCL) => MPU6050
Glavni kôd kreira Jeff Rowberg, a ja sam ga izmijenio u skladu sa svojim projektnim funkcionalnostima i komentirao sve funkcije u ino datoteci.
Preporučuje se:
Programiranje Arduina pomoću drugog Arduina za prikaz teksta koji se pomiče bez biblioteke: 5 koraka
Programiranje Arduina pomoću drugog Arduina za prikaz pomicanja teksta bez biblioteke: Sony Spresense ili Arduino Uno nisu toliko skupi i ne zahtijevaju puno energije. Međutim, ako vaš projekt ima ograničenje snage, prostora ili čak proračuna, razmislite o upotrebi Arduino Pro Mini. Za razliku od Arduino Pro Micro, Arduino Pro Mi
2 žice 2 osovine Upravljanje elektromotorom: 6 koraka
2 žice 2 osi upravljanja elektromotorom: Ovaj projekt predlaže metodu za pogon dvije osi motora 'pomoću broja impulsa za svaki kanal i metodu zaključavanja "uključeno-isključeno" prebacivanje pomoću brojača 4017. Ova metoda je prikladna za bilo koju funkciju ulaznog impulsa (tipkalo, okretni prekidač o
Tragač s dvije osovine V2.0: 15 koraka (sa slikama)
Dvoosni alat za praćenje V2.0: Još 2015. godine osmislili smo Jednostavni dvostruki os pratitelj za upotrebu kao zabavni studentski ili hobi projekt. Bio je mali, bučan, pomalo kompliciran i izazvao je mnogo zaista čudnih komentara zajednice. Rečeno je, tri i po godine kasnije
GY-521 MPU6050 troosni žiroskop ubrzanja 6DOF modul Vodič: 4 koraka
GY-521 MPU6050 3-osi za ubrzanje žiroskop 6DOF modul Tutorial: OpisOvaj jednostavan modul sadrži sve potrebno za povezivanje s Arduinom i drugim kontrolerima putem I2C (koristite žičanu Arduino biblioteku) i davanje informacija o kretanju za 3 osi-X, Y i Z .SpecifikacijeAcelerometar rasponi: ± 2, ±
Automobil za upravljanje pokretima pomoću Mpu6050 i Arduina: 7 koraka (sa slikama)
Automobil za upravljanje pokretima pomoću Mpu6050 i Arduina: ovdje je automobil za upravljanje pokretima ručnim kontrolerom, napravljen pomoću mpu6050 i arduina. Za bežično povezivanje koristim RF modul