İçindekiler:
- Adım 1: Gerekli Donanım
- Adım 2: Robotun Montajı
- 3. Adım: Bağlantılar
- Adım 4: Dengeleme Nasıl Çalışır?
- Adım 5: Kaynak Kodu ve Kitaplıklar
- Adım 6: Destek İçin
Video: Arduino - Denge - Dengeleme Robotu - Nasıl Yapılır?: 6 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu dersimizde kendi kendini dengeleyen Arduino dengeleme (denge) robotu yapmayı öğreneceğiz. İlk önce yukarıdaki video eğitimine bakabilirsiniz.
Adım 1: Gerekli Donanım
Arduino Kartı (Uno) --
MPU-6050 GY521 Acc+Gyro --
DC 6V 210RPM Enkoder Dişli Motor Seti --
L298N Motor Sürücüsü --
Anahtar Düğmesi --
M3 Altıgen Dişli Ara Parça Vida Somun Seti --
Akrilik Perspex Levha --
3.7v 18650 Şarj Edilebilir Li-ion+Şarj Cihazı --
9V Pil --
Atlama Kabloları --
Sıcak Tutkal Tabancası --
Arduino Başlangıç Kiti ve Malzemeleri(Opsiyonel):Arduino Board & SCM Malzemeleri #01 --
Arduino Kartı ve SCM Malzemeleri #02 --
Arduino Temel Öğrenme Başlangıç Seti #01 --
Arduino Temel Öğrenme Başlangıç Seti #02 --
Arduino Temel Öğrenme Başlangıç Seti #03 --
Eğitimli Mega 2560 Başlangıç Seti --
Arduino #01 için Sensör Modül Kiti --
Arduino #02 için Sensör Modül Kiti --
Adım 2: Robotun Montajı
- 3 Akrilik Levhanın dört köşesini delin. (Resim 1 ve 2)
- Her akrilik levha arasında yaklaşık 8 kantimetre / 3.15 inç olacaktır. (Resim 3)
- Robot Boyutları (yaklaşık) 15cm x 10cm x 20cm. (Resim 4)
- DC motor ve tekerlekler robotun ortasına (orta hat) yerleştirilecektir. (Resim 5)
- L298N Motor Sürücüsü, robotun birinci kat merkezine (orta hat) yerleştirilecektir. (Resim 6)
- Arduino kartı robotun ikinci katına yerleştirilecektir.
- MPU6050 modülü robotun en üst katına yerleştirilecektir. (Resim 7)
3. Adım: Bağlantılar
MPU6050'yi test edin ve çalıştığından emin olun! Önce MPU6050'yi Arduino'ya bağlayın ve aşağıdaki öğreticideki kodları kullanarak bağlantıyı test edin. Daha seri monitörde görüntülenmelidir
Instructables Eğitimi - MPU6050 GY521 6 Eksen İvmeölçer+Gyro
YouTube Eğitimi - MPU6050 GY521 6 Eksen İvmeölçer + Gyro
L298N modülü, giriş voltajı +7 V veya daha fazla olduğu sürece Arduino'nun ihtiyaç duyduğu +5V'u sağlayabilir. Ancak, motor için ayrı bir güç kaynağına sahip olmayı seçtim
Adım 4: Dengeleme Nasıl Çalışır?
- Robotu dengeli tutmak için motorların robotun düşmesine karşı koyması gerekir.
- Bu eylem bir geri bildirim ve bir düzeltme öğesi gerektirir.
- Geri besleme elemanı, Arduino tarafından robotun mevcut yönünü bilmek için kullanılan üç eksende hem hızlanma hem de dönüş sağlayan MPU6050'dir.
- Düzeltme elemanı motor ve tekerlek kombinasyonudur.
- Kendi kendini dengeleyen robot aslında ters çevrilmiş bir sarkaçtır.
- Kütle merkezinin tekerlek akslarına göre daha yüksek olması daha iyi dengelenebilir.
- Bu yüzden pil takımını en üste yerleştirdim.
- Ancak robotun yüksekliği, malzemelerin mevcudiyetine göre seçildi.
Adım 5: Kaynak Kodu ve Kitaplıklar
Denge robotu için geliştirilen kod çok karmaşık. Ama endişelenmene gerek yok. Sadece bazı verileri değiştireceğiz.
Kendi kendini dengeleyen robotun çalışması için dört harici kütüphaneye ihtiyacımız var
- PID kütüphanesi, P, I ve D değerlerinin hesaplanmasını kolaylaştırır.
- LMotorController kitaplığı, iki motoru L298N modülüyle sürmek için kullanılır.
- I2Cdev kitaplığı ve MPU6050_6_Axis_MotionApps20 kitaplığı, MPU6050'den veri okumak içindir.
Kitaplıkları İndir
PID --
LMotorController --
I2Cdev --
MPU6050 --
Kaynak Kodunu Alın -
PID nedir?
- Kontrol teorisinde, bazı değişkenleri (bu durumda robotun konumunu) sabit tutmak, PID adı verilen özel bir kontrolöre ihtiyaç duyar.
- Orantılı için P, integral için I ve türev için D. Bu parametrelerin her birinin normalde Kp, Ki ve Kd olarak adlandırılan “kazançları” vardır.
- PID, istenen değer (veya giriş) ile gerçek değer (veya çıkış) arasında düzeltme sağlar. Girdi ve çıktı arasındaki farka “hata” denir.
- PID kontrolörü, çıkışı sürekli olarak ayarlayarak hatayı mümkün olan en küçük değere düşürür.
- Arduino kendi kendini dengeleyen robotumuzda, giriş (istenen eğim, derece cinsinden) yazılım tarafından ayarlanır.
- MPU6050, robotun mevcut eğimini okur ve onu motoru kontrol etmek ve robotu dik konumda tutmak için hesaplamalar yapan PID algoritmasına besler.
PID, kazanç Kp, Ki ve Kd değerlerinin optimal değerlere "ayarlanmasını" gerektirir
Bunun yerine PID değerlerini manuel olarak ayarlayacağız
- Kp, Ki ve Kd'yi sıfıra eşitleyin.
- Kp'yi ayarlayın. Çok az Kp, robotun düşmesine neden olur (yeterli düzeltme yok). Çok fazla Kp, robotun çılgınca ileri geri gitmesine neden olur. Yeterince iyi bir Kp, robotun hafifçe ileri geri gitmesini (veya biraz salınmasını) sağlayacaktır.
- Kp ayarlandıktan sonra Kd'yi ayarlayın. İyi bir Kd değeri, robot neredeyse sabit olana kadar salınımları azaltacaktır. Ayrıca, doğru miktarda Kd, itilse bile robotu ayakta tutacaktır.
- Son olarak, Ki'yi ayarlayın. Kp ve Kd ayarlanmış olsa bile robot açıldığında salınım yapacak ancak zamanla stabilize olacaktır. Doğru Ki değeri, robotun stabilize olması için geçen süreyi kısaltacaktır.
Daha iyi sonuçlar için öneri
Balance Robot'un kaynak kodunun stabil ve verimli çalışmasını sağlamak için bu projede kullanılan malzemeleri kullanarak benzer bir robot çerçevesi oluşturmanızı tavsiye ederim.
Adım 6: Destek İçin
- Daha fazla eğitim ve proje için YouTube kanalıma abone olabilirsiniz.
- Ayrıca destek için abone olabilirsiniz. Teşekkürler.
YouTube Kanalımı ziyaret edin -
Önerilen:
Arduino - Labirent Çözen Robot (MicroMouse) Duvar Takip Robotu: 6 Adım (Resimli)
Arduino | Labirent Çözen Robot (MicroMouse) Duvar Takipçi Robot: Hoş Geldiniz Ben Isaac ve bu benim ilk robotum "Striker v1.0". Bu Robot basit bir Labirenti çözmek için tasarlandı. Yarışmada iki labirentimiz vardı ve robot onları tanımlayabildi. Labirentteki diğer herhangi bir değişiklik, labirentte bir değişiklik gerektirebilir
Arduino Powered Boyama Robotu: 11 Adım (Resimli)
Arduino Powered Painting Robot: Bir robotun büyüleyici tablolar ve sanat yapabileceğini hiç merak ettiniz mi? Bu projede Arduino ile Güçlendirilmiş Boyama Robotu ile bunu gerçeğe dönüştürmeye çalışıyorum. Amaç, robotun kendi başına resim yapabilmesi ve bir referans
Tereyağı Robotu: Varoluşsal Krizi Olan Arduino Robotu: 6 Adım (Resimlerle)
Tereyağı Robotu: Varoluşsal Krizli Arduino Robotu: Bu proje, "Rick and Morty" animasyon dizisine dayanmaktadır. Bölümlerden birinde Rick, tek amacı tereyağı getirmek olan bir robot yapar. Bruface'den (Brüksel Mühendislik Fakültesi) öğrenciler olarak, mecha için bir görevimiz var
Xbox Controller ile Yüz Takip ve Kontrollü Dilenci Robotu - Arduino: 9 Adım (Resimli)
Xbox Controller'dan Yüz Takip ve Kontrollü Dilenci Robotu - Arduino: Bir dilenci robotu yapacağız. Bu robot geçen insanları rahatsız etmeye veya dikkatini çekmeye çalışacaktır. Yüzlerini algılayacak ve onlara lazerler atmaya çalışacak. Robota bir jeton verirseniz, bir şarkı söyler ve dans eder. Robotun bir
Arduino Tabanlı Otomatik Yönlendirme Robotu: 8 Adım (Resimli)
Arduino Base Otomatik Yönlendirme Robotu: Engellerden kaçınarak hareket eden robottur. nesneyi algılar ve çevreyi görüntüler ve boş alanın bulunduğu yere devam eder