C18 Diliyle Robot Programlama – Servo Motor Kullanma

Bu projede amaç bir servo motorunu çalıştıracak şekilde mikrodenetleyiciyi programlamak. Aslında yapacağımız çalışmada toplamda 7 servo motoru sürebilecek kapasitede bir program yazmış olacağız.

Servonun ne olduğundan biraz bahsedelim. Servo bir mil etrafında dönebilen motorlu bir yapıdır. Bu yapı kameralarda, robotik aksamların hareket ettirilmesinde (kol, bacak, kafa) kullanılır. Temelde aldığı sinyale göre döner, böylece servoya bağlı cihazın yönü değişir.

Aşağıda örnek bir servo motoru ve bu motora bağlı parça görünmektedir;

Bir tane servoyu sürmek için yapılması gereken işlem timer 0’ı yaklaşık her 20 milisaniyede bir belli bir duty(gecikme – lojik 1’de kalma süresi) zamanı kadar lojik1’de tutmak. Servo aldığı lojik1 sinyalinin süresine göre dönme işlemi gerçekleştirecek. Bu sinyal çok uzun verilirse servo tamamen bir yöne döner ve zorlanır, eğer bu sinyal lojik sıfır olarak kalırsa bu sefer servo tamamen ters yöne döner ve yine zorlanır. Bu zamanlamayı öyle bir ayarlamalıyız ki ne çok fazla, ne de çok az voltaj vermeliyiz. Benim hesaplarıma göre yaklaşık 20 milisaniyede bir 3 milisaniyeden küçük bir duty değeriyle işlem yaptığımızda servo normale yakın çalışıyor. Bu değerlerle kendi işlemlerinizi yapmak için oynayabilirsiniz.

Okumaya devam et

C18 Diliyle Robot Programlama

Önümüzdeki bir kaç hafta boyunca bir keşif  robotunun sahip olduğu modülleri Linux (Ubuntu 10.04) işletim sistemi üzerinde MplabX IDE‘sini kullanarak C18 diliyle programlamayı anlatacağım.

Sıfırdan her şeyi anlatma tarzı bir şey olmayacak. Belli bir birikime sahip olmanız gerekmekte. Genel hatlarıyla Ubuntu 10.04 üzerine MplabX IDE kurulumuyla başlayıp teker teker bir keşif robotunun çalışabilir hale gelmesi için gereken modülleri C18 diliyle programaktan bahsedeceğim. Ana işlem birimiyle alakalı bilgileri içeren  bir yazı dizisi de olmayacak, yani keşif robotu nasıl olur/olmalıdır, keşif algoritmaları nelerdir gibi konular bu yazıların içeriğine dahil değil. Sadece bütün bağlantıları tamamlanmış bir robotun modüllerinin çalışmasını, haberleşmesini sağlamak için gerekenlerden bahsedeceğim ve tabi ki bu modüllerin çalışması için C18 dilinde ne gibi şeyler bilmek gerekmekte, nelere ihtiyaç duyulur, hangi fonksiyonlar kullanılır gibi sorulara cevap vermek adına C18 dilini ayrıntılarıyla inceleyeceğim ve uygulamalar yapmak için de yardımcı kartlar, mikrodenetleyiciler kullanacağım.

İçerik genel hatlarıyla böyle olacak, ilgilenenler takip edebilirler.