İçindekiler:

Arduino - Denge - Dengeleme Robotu - Nasıl Yapılır?: 6 Adım (Resimli)
Arduino - Denge - Dengeleme Robotu - Nasıl Yapılır?: 6 Adım (Resimli)

Video: Arduino - Denge - Dengeleme Robotu - Nasıl Yapılır?: 6 Adım (Resimli)

Video: Arduino - Denge - Dengeleme Robotu - Nasıl Yapılır?: 6 Adım (Resimli)
Video: Bölüm 6 - Arduino PID Kontrol 2024, Kasım
Anonim
Image
Image

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

Robotun Montajı
Robotun Montajı

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ı

Robotun Montajı
Robotun Montajı
Robotun Montajı
Robotun Montajı
Robotun Montajı
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

Bağlantılar
Bağlantılar
Bağlantılar
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?

Dengeleme Nasıl Çalışır?
Dengeleme Nasıl Çalışır?
Dengeleme Nasıl Çalışır?
Dengeleme Nasıl Çalışır?
Dengeleme Nasıl Çalışır?
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

Kaynak Kodu ve Kitaplıklar
Kaynak Kodu ve Kitaplıklar
Kaynak Kodu ve Kitaplıklar
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

  1. Kp, Ki ve Kd'yi sıfıra eşitleyin.
  2. 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.
  3. 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.
  4. 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

Destek için
Destek iç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: