"Arduino UNO " ile Quadcopter Yapmak Mümkün mü? -6-

Image Hosted by ImageShack.us

Merhaba arkadaşlar bu günkü yazımda hava aracımızın bağlantı kısmından bahsetmeye çalışacağım. Aşağıda çizmiş olduğum resimde "Brushless motorlar, ESC'ler, Servo motorlar, Power Distribution Board (Güç Dağıtım Kartı ) ve Li-Po Battery" bağlantı kısmı aşağıda göründüğü gibidir. Sadece ufak tefek artı olarak ekleyeceklerim var onlardan da birazdan bahsedeceğim.



Önemli Noktalar;
  • Çizimin sağ tarafında gördüğünüz gibi Brushless motorlarımızın 3 adet bağlantı kablosu ESC'lerimizin 3 bağlantı kablosu ile düz bir şekilde gelişi güzel bağlayın.
    • Şu anda motorlarımızın hepsi birbiri ile aynı yada farklı da dönebilir, bu şuan da sorun değil.
    • Motorların dönme yönünü değiştirmek için bu 3 bağlantı kablosundan herhangi ikisinin yerini değiştirmeniz yeterli. Li-Po bağlantısını sökmeyi unutmayın tabi,
  • Tüm ESC'lerin beslemesini Power Distribution Board ile yani güç dağıtım kartı üzerinden besleyeceğiz.
    • Sebebi tüm motorları tek bir noktadan beslemek.
    • Bu kartı kendinizde yapabilir, yada dışarıdan da uygun fiyatlara satın alabilirsiniz.
    • Kendiniz yapmanız durumunda tüm ESC'lerinizin çekecekleri akım değerini göz önünde bulundurun. Aksi takdirde ESC'ler ve kartınızda zarar görebilir.
  • ESC'lerinizin 3'lü pini +5V, GND ve Sinyal pinidir, burada ihtiyacımız olan sinyal pini olup bunları Arduino'nun digital pwm pinlerine bağlantısı yapıyoruz.
  • Servo motorlar daha önce bahsettiğim gibi hava aracının ayakları içindir.
    • Hava aracı kalkarken ve inerken ayaklar bu servolar aracılığı ile kalkıp inecektir.
  • Servo motorların beslemesi de harici olarak dışarıdan beslenecek olup sadece sinyal pininin Arduino'ya bağlantısı yapılacaktır. ESC'lerde olduğu gibi Arduino'nun digital pwm pinlerine bağlantısı yapılacaktır.
  • Yani hem servolar hemde ESC'lerin sinyal pinleri Arduino'nun digital pwm pinlerine bağlanacaktır ki bu durumda Arduino UNO pinlerinin yetersiz olması sebebiyle ihtiyacımızı karşılayamıyor,
    • Bu durumda Arduino MEGA 2560 kullanmamız gerekmektedir,
    • Ayakları iptal ederseniz yani servolar da iptal olursa Arduino UNO yeterli olacaktır,
  • Motor ve ESC'lerimiz için 3.5 mm Gold Connecter'lardan  kullanacağız.
    • Bağlantıların kolay olması ve acil bir durumda hemen bağlantının koparılması içindir,
  • Li-Po ve diğer bağlantılarınız için XT60 Connecter, T Connecter kullanacağız,
  • Hava aracımızın havada iken pil durumundan haberdar olmak için Battery Monitor kullanacağız,
    • Aşağıdaki örnek Battery Monitor 2-4s tir. Yani iki ve 4 hücreli Li-Po'larda kullanılabilir,
    • Her hücreyi ayrı ayrı ölçüp, hücreler 3.3 V'un altına düştüğünde kırmızı led'in yanmasıyla ve sesli olarak uyarı vermektedir.
  • İki güç dağıtım kartı'nın GND pinleri ve ESC'lerden birinin +5V, GND pinleri ile Arduino'nun +5V, GND pinleri birleştirilecektir.
  • Bahsetmiş olduğum malzemelerin aklınızda şekillenmesi için aşağıya örnek resimlerini koydum. 

  
 

Arduino & PID Programlama Uygulamaları -2-

Arduino PID kütüphanesini indirmek için buraya tıklayın;

Önceki yayınlara ulaşmak için aşağıdaki linklerin üzerine tıklayın;
Arduino & PID Programlama Uygulamaları -1- 
Uygulama -2-
Önemli Noktalar;
  • Arduino'nun analog 0. pini input olarak, analog 3. pini output olarak seçilmiştir,
  • Setpoint değeri 100 olarak atanmıştır, farklı değerlerde verebilirsiniz.
  • Arduino'nun 0. pininden okunan 0-1024 arasındaki input değeri InputValue isimli değişkenin içine atılıp daha sonra bu değer 0-255 arasına çekilmiştir,
  • Bu uygulamanın bir önceki uygulamadan çok bir farkı yok, sadece hatanın durumuna göre iki farklı  tuning parametreleri ( PID değerleri ) tanımlanmıştır.( Kp, Ki, Kd )
  • consKp, consKi, consKd olarak tanımladığımız PID değerleri hatanın az olduğu yani setpoint noktasına yakın olduğu durumlarda kullanılacaktır. 
  • aggKp, aggKi, aggKd PID değerleri ise hatanın çok olduğu yani setpoint noktasından uzakta olan durumlar için kullanılacaktır.
  • difference olarak tanımladığımız değişken error yani hatadır.
    • Error= (Setpoint- Ölçülen değer)
  • Hatayı ölçüp difference olarak tanımladığımız değişkenin içine attık ve hatanın 10'dan küçük olduğu durumda cons olarak tanımladığımız PID değerlerini kullandık, diğer durumlar için diğer PID katsayıları kullanılmıştır.
  • Buradaki amaç error yani hatayı  yok etmek, en aza indirgemek olduğu için bunu, iki farklı  PID katsayıları kullanarak yapmaya çalıştık.

SENDE BİRŞEYLER PAYLAŞ





Herhangi bir konuda paylaşmak istediğiniz bir şeyler varsa biz burdayız...Kafanızdaki düşünceleri,paylaşımlarınızı,videolarınızı,tasarımlarınız ve her türlü içeriğinizi paylaşıyoruz.
beyinjimnastigi19@gmail.com

Ödüllü Yarışma

Yarışmaya katılım koşulları

Yaşadığınız şehri en güzel şekilde tanıtan bir yazınızı yukarıdaki alanları doldurarak yolluyorsunuz.Gönderdiğiniz yazılarınızı blog sayfamızda isminiz ve soyisminiz ile paylaşılacaktır.En çok beğeni alan yazılar arasından çekeceğimiz kura ile kazananı duyuracağız.
Kitap Ödülümüz vardır.

Uyulması Gereken Kurallar

  1. Yazı hiçbir yerde yayınlanmamış olması gerekir.
  2. Kendiniz yazıyı yazmanız gerekir.
  3. Yukarıdaki bilgileri eksiksiz doldurmanız gerekir.(web sitesi hariç)


Yarışma katılım Başlama tarihi:01.05.2014

Yarışmaya katılım Bitiş tarihi:30.06.2014

Sonuçların açıklanması:01.07.2014