GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ 8.HAFTA Yrd. Doç. Dr. Fecir DURAN Arş. Gör. Esra SÖĞÜT
İÇİNDEKİLER SERVO MOTOR SERVO MOTOR FONKSİYONLARI SERVO MOTOR UYGULAMASI DC MOTOR
Servo Motor Servo motorlar, RC (radio controlled, uzaktan kumandalı) araba, helikopter ve uçak gibi araçlarda kullanılır. Bu motorlar, DC motorlardan farklı olmak üzere istediğimiz pozisyonda sabit kalacak şekilde tasarlanmıştır. Çoğunlukla 0-180 derece arası açılarda çalışırlar. RC arabamızın direksiyonunda, helikopterlerin pervanelerine açı vermede ve uçakların kontrol yüzeylerini hareket ettirmede kullanılırlar. PWM sinyal ile çalışırlar.
Servo Motor Servo motorlarda 20 ms’lik sinyalin açık kaldığı periyodu 1 ms ile 2 ms arasında değiştirerek, servo motorun 0 dereceden 180 derece arasında istediğimiz konuma ayarlayabiliriz
Servo Motor Standart servo motorlarda 3 adet bağlantı kablosu vardı. * Kırmızı Kablo (+) 4-6V * Kahverengi Kablo(-) 0V * Turuncu Kablo Sinyal.
Servo Motor Fonksiyonları Arduino’nun servo.h kütüphanesini kullanarak servo motorları kontrol edebiliriz. servomotor.attach(pin); fonksiyonunda servo motorun hangi pinden sinyal alacağını belirleriz. servomotor.write(pos); fonksiyonu servo motorun açısını ayarlamak için kullanılır.
Servo Motor Uygulaması 0 ile 180 derece arasında dönen ve aradaki her dereceyi 10 milisaniyede bitiren Servo motor uygulaması yapınız. Gerekli Donanımlar: Servo Motor Ardunio Board
Servo Motor Uygulaması SERVO MOTOR UYGULAMA GÖSTERİMİ
HER 1 DERECE AÇI İÇİN 10 MİLİSANİYE SAAT YÖNÜNDE DÖNDÜR DERCEYİ 1 ARTTIR GEREKLİ AYARLARI YAP BAŞLA HER 1 DERECE AÇI İÇİN 10 MİLİSANİYE SAAT YÖNÜNDE DÖNDÜR EVET DERECE 0 İLE 180 ARASINDA MI? HAYIR DERECE 180 VE ÜZERİNDE MI? DERCEYİ 1 AZALT
KODLAR Arduino Kodları: #include <Servo.h> Servo myservomotor; // sınıfın bir örneğini aldık void setup() { myservomotor.attach(8); // arduinonun 8. pinini çıkış yaptık. myservomotor.write(0); // motora ilk 0.derecesinden başlaması komutunu verdik } void loop() { for(int derece = 0; derece < 180; derece++){ // 180 derecelik açı yap myservomotor.write(derece); delay(10); // her 1 derece açıyı 10 milisaniyede yapacak } for(int derece = 180; derece > 1; derece–){ // tam tersi yönünde açı yap myservomotor.write(derece); delay(10); } }
DC Motor 6V DC Motor PN2222 Transistor
DC Motor Arduino’muzun dijital pinlerinden alacağımız çıkış geriliminin 5V olduğunu biliyoruz. 9V DC motorumuz 5V gerilimle çalışabilir fakat motorun çekeceği akım, Arduino pinlerinden çekebileceğimiz en yüksek akım değeri olan 40 mA’in oldukça üzerinde olacaktır. Burada transistör devreye giriyor. Motorun güç kaynağının pozitif kısmına bağlanan tarafı, motorun hangi yönde döndüğünü belirleyecektir.