merhaba. atmega328 gibi mikrodenetleyiciler bizim drone yapımında kullandığımız kontrol kartlarında bulunan stm32 f3, f4 mikrodenetleyicilerinden çok çok daha güçsüzdür. bu yüzden tam teşekküllü bir drone yapacaksanız atmega2560 çipli arduinoları kullanmanız gerekir. ama sadece alıcıdan gelen sinyalleri almak ve motorları döndürmek istiyorsanız atmega328 de işinizi görür.
arduino ile drone yapmak aslında gayet basittir. ama tabi bilmeyen için yazı yazmak bile çok zordur.
kumanda olarak ne kullandığınızın bir önemi yok. önemli olan alıcıdır. kullanmayı düşündüğünüz kumandanın alıcısı var mı? varsa bu alıcıda hangi çıkışlar var?
alıcıdaki çıkışlar şu açıdan önemlidir: eğer alıcınızda pwm çıkış varsa işiniz basit. sinyali geldiği gibi kullanabilirsiniz. ama alıcınız sbus/ppm gibi bir protokol kullanıyorsa ilk olarak bu protokol ile gelen sinyali dekode etmeniz gerekir. dekode işleminin hızlı yapılabilmesi lazım. yoksa gecikme olur ve siz kumandadan bir sinyal verdiğinizde drone bu sinyali anında algılamayacağı için kaza yaşanır.
motorlar için ise iki seçeneğiniz var: fırçalı ve fırçasız. fırçasız motor kullanacaksanız 3 fazlı bldc (brushless dc) motor sürücüsü geliştirmeniz lazım. 3 fazlı bldc sürücüsü (esc) yapmak ise zordur. zordur az kelime
çok zordur. bu yüzden fırçasız motor kullanacaksanız kendi esc'nizi geliştirmek yerine satın almanızı öneririm.
fırçalı motor için ise işiniz çok basittir. her bir motor için bir tane n-channel mosfet kullanmanız yeterli. mosfetleri doğrudan pwm sinyalle kullanabileceğiniz için mosfetlerin gate ayağını arduinodaki pwm çıkışlarına doğrudan bağlamanız yeterli. ama kalibre etmeniz lazım. birbirinin aynı olan 4 mosfet kullansanız dahi mosfetlerin iç dirençleri farklı olabiliyor. bu yüzden her mosfetin aynı pwm sinyali seviyesinde aynı miktarda güç verdiğinden emin olmanız gerekiyor. yoksa drone havada yalpalar.
yukarıda
alıcıdan sinyal alan ve
motorları süren bir arduinodan bahsettim. bu iki işlemin yapılabilmesi için araya bir kontrolcü yazılımı girmesi gerekiyor. bu kontrolcü yazılımı, alıcıdan gelen sinyalleri yorumladıktan sonra mosfetlere ne kadar pwm aktaracağını belirleyecektir. bunun için ise ilk olarak bir dronun havada nasıl uçtuğunu, motorların hangi yöne dönmesi gerektiğini bilmeniz gerekiyor. örneğin bir dronun sola yaw hareketi yapması için hangi motorların diğerlerine göre daha hızlı dönmesi gerektiğini bilmeniz lazım.
motor sıralamasını bildiğinizi var sayıyorum.
1 - bir yöne yaw hareketi yapmak için 1 ve 4. motorların daha hızlı dönmesi lazım. diğer yöne yaw hareketi için 2 ve 3. motorların daha hızlı dönmesi lazım.
2 - bir yöne roll hareketi (yana yatma) için 1 ve 2. motorların daha hızlı dönmesi lazım. diğer yöne roll hareketi için ise 3 ve 4. motorların daha hızlı dönmesi lazım.
3 - bir yöne pitch hareketi (öne-arkaya yatma) için 1 ve 3. motorların daha hızlı dönmesi lazım. diğer yöne pitch hareketi için ise 2 ve 4. motorların daha hızlı dönmesi lazım.
4 - throttle (yükselme) hareketi için ise 4 motorun da güç alması lazım.
mode 2 kumanda kullandığınızı var sayarak bu maddelerde belirttiğim işlemler için:
1. maddedeki işlem için alıcıdan alınan 4. kanaldaki pwm seviyesine bakmanız gerekir.
2. maddedeki işlem için alıcıdan alınan 1. kanaldaki pwm seviyesine bakmanız gerekir.
3. maddedeki işlem için alıcıdan alınan 2. kanaldaki pwm seviyesine bakmanız gerekir.
4. maddedeki işlem için alıcıdan alınan 3. kanaldaki pwm seviyesine bakmanız gerekir.
kanallardan alınan bu bilgilerin harmanlanması lazım. çünkü kumandadan aynı anda hem pitch hem de roll hareketi için komut gelebilir. hatta 4 kanalın 4'ü de aynı anda değişken pwm sinyalleri gönderebilir. bu yüzden harmanlama işlemi yapılması lazım. harmanlama işleminin yapılabilmesi için ise PID bilgisinin olması lazım.
yukarıdaki işlemler ile acro modlu bir quadcopter yapabilirsiniz. self leveling için ise ek 2 komponent kullanmanız lazım: jiroskop ve ivmeölçer. jiroskop, dronun sağa-sola-öne-arkaya ne kadar yattığı hakkında bilgi verir. ivmeölçer ise tüm yönlere doğru ne kadar bir hızlanma yaptığı bilgisini verir.
yukarıda drone için temel şeyleri yazdım. yazdığım işlemleri adım adım yapmanız durumunda gerçekten kendi dronunuzu yapmış olursunuz. tabi bunlar dışında da yapılacak işler var. bir arduinoyu 5v ile beslersiniz. ama 5v batarya yok. bu yüzden bağlanacak bataryanın bir smps (switch mode power supply) ile 5v'a çevirilmesi lazım. alıcıyı da aynı şekilde beslemeniz lazım.