Bir önceki yazımda LM35 ile Sıcaklığı LCD Ekranda Gösterme uygulaması yapmıştık. Bu yazımda Servo Motor Kontrolü işlemi gerçekleştireceğiz.
Servo, herhangi bir mekanizmanın işleyişini hatayı algılayarak yan bir geri besleme düzeneğinin yardımıyla denetleyen ve hatayı gideren otomatik aygıttır. Robot teknolojisinde en çok kullanılan motor çeşididir. Bu sistemler mekanik olabileceği gibi elektronik, hidrolik-pnömatik veya başka alanlarda da kullanılabilmektedir. Servo Motor servo sürücüler tarafından; mekaniksel konum, hız veya ivme gibi parametrelerin kontrol edildiği bir düzenektir. Servo motor içerisinde herhangi bir motor AC, DC veya step motor bulunmaktadır. Ayrıca sürücü ve kontrol devresini de içerisinde barındırmaktadır.
DC servo motorlar, genel olarak bir DC motoru olup, motora gerekli DC aşağıdaki metotlardan elde edilir:
- Bir elektrik yükselteçten.
- AC akımın doyumlu reaktörden geçirilmesinden.
- AC akımın tristörden geçirilmesinden.
- Amplidin, retotrol, regüleks gibi dönel yükselteçlerden.
Sanayide kullanılan çeşitli doğru akım motorları vardır. Servo sistemlerde kullanılan doğru akım motorlarına ise DC servo motorlar adı verilir. DC servo motorlarda rotor eylemsizlik momenti çok küçüktür. Bu sebepten piyasada çıkış momentinin eylemsizlik momentine oranı çok büyük olan motorlar bulunur.
Gerekli Malzemeler
- Arduino
- Servo Motor
- 10K Potansiyemetre
- Jumper
- 9V pil ya da güç kaynağı (Arduino’yu harici beslemek isterseniz)
Gerekli bilgiyi verdikten sonra kodları yazarak ve Arduino’yu bilgisayara takarak kodumuzu yazalım.
#include <Servo.h> // Servo kütüphanesi eklendi Servo myservo; //Servo Motor nesnesi oluşturuldu. int pot=A1; //Potansiyemtrenin Analog bağlantı pini int potdeger; //Potansiymetrenin değeri void setup() { myservo.attach(8); // Servo bağlantısı } void loop() { potdeger=analogRead(pot); // Potansiyemetrepnin değerini okuyor (0-179 arasında) potdeger=map(potdeger, 0, 1023,0, 179); // potdeğerini 0-179 aralığına göre oranlıyor myservo.write(potdeger); // Yeni potdegeri'ne göre servoyu hareket ettiriyor delay(10); // Servo motorun verilen konuma gelme süresi(ms) }
Kodumuzu yazdıktan sonra Arduino’ya yükleyelim. Aşağıdaki gibi bağlantıyı gerçekleştirelim.
Bir sonraki yazımda Step Motor Kontrolü uygulaması gerçekleştireceğiz.