Aralarından seçim yapabileceğiniz bir çok motor vardır ve bazen sizin uygulamanıza en uygun hangisinin olacağı belirsizdir. Bu yazımızda, bu motorlardan birini, step motoru ve alternatifler üzerine bir step motoru seçmenin en iyi yolunu tartışacağız.
Nasıl çalışır
Step motorları normal DC motorlardan ayıran özelliği sadece bir yönde dönmek yerine, çok hassas artışlarla dönebilmeleridir. RC uçakta bir motor hayal edin. Motor istediğiniz yönde çok hızlı bir şekilde dönüyor. Hızı motora verilen güç miktarıyla değiştirebilirsiniz, ancak pervanenin belirli bir konumda durmasını söyleyemezsiniz. Şimdi bir yazıcı hayal edin. Yazıcının içinde motorlar dahil olmak üzere çok sayıda hareketli parça vardır. Bu motorlardan biri kağıdın üzerine baskı yapılırken diğer bir motor kâğıt parçasını hareket ettirebilir. Bu motorun, bir sonraki metin satırını veya bir görüntünün bir sonraki satırını yazdırabilmesi için kağıdı tam bir mesafede hareket ettirebilmesi gerekir. Baskı kafasını ileri geri hareket ettiren dişli bir çubuğa bağlı başka bir motor var. Yine, bu dişli çubuğun bir harfi ardı ardına yazdırmak için bir miktar hareket ettirilmesi gerekir. Bu, step motorların kullanışlı olduğu yerdir.
Step motorlar derecesini (veya kademesini) hareket ettirebilir. Bu, motor üzerinde tam kontrol sağlamanıza, bir yere taşımanıza ve bu konumu tutmanıza izin verir. Bunu, motor içindeki bobinleri çok kısa bir süre için çalıştırarak yapar. Motoru istediğiniz konumda tutmak için her zaman güç sağlamanız gereklidir. Burada fazla ayrıntıya girmeyeceğiz, ancak ek bilgi için step motorlar hakkındaki diğer makalelerimizi inceleyebilirsiniz. Şimdilik bilmeniz gereken tek şey, bir step motoru hareket ettirmek için, motorun yönünü ve hızını belirtmeniz gerektiği.
Çok sayıda step motor çeşidi ve sürücü kartı vardır. Aşağıdaki örnekte step motorun Arduino'ya nasıl bağlandığını ve kontrolünün nasıl yapıldığını görebilirsiniz.
30762|38035|38097|38029|41463
Arduino ile Step Motor Kontrolü
A3967 Step Motor Sürücü kartı ile Arduino'ya yüklenen kod ile motorunuzu nasıl kontrol edeceğinizi, monte edeceğinizi ve bağlayacağınızı inceleyeceğiz.
Montaj
Sürücü kartını kullanmanın en basit yolu, bir breadboard'a kolayca yerleştirilmesi için header takmaktır. Alternatif olarak, headerları doğrudan karta lehimleyebilirsiniz.
İlk adım, düz erkek headerları sürücü kartına lehimlemek. Bu örnekte, sürücü kartı üzerindeki gerçek pinlerin çok azı kullanılacaktır. Bununla birlikte, breadboard'a tutturulduğunda daha fazla stabilite kazandırmak için tüm kırılmış pimlerdeki lehim başlıklarının kullanılması önerilir. Bunun için basit bir yöntem, istenen başlık sayısını kesmek, bunları breadboard'a uygun konumlara yerleştirmek, sürücü kartını en üste yerleştirmek ve ardından tüm bağlantıları lehimlemektir.
Tüm başlıkları lehimlendikten sonra, sürücü kartınızı Arduino'nuza bağlamanın zamanı geldi. Aşağıdaki resmi kullanarak gerekli tüm bağlantıları yapın.
Not: Küçük step motor, resimdekinden farklı görünüyor. Sonunda 4 pinli bir konektör bulunmalıdır. Bu, 4 pimli erkek başlığına yukarı bakacak şekilde bağlanacaktır. Bu step motorun doğası gereği, konektörü her iki yönde, yani soldaki siyah kabloya veya soldaki sarı kabloya bağlayabilirsiniz. Her iki şekilde de işe yarayacak. Farklı bir motor kullanıyorsanız, hangi kabloların nereye bağlanacağını bulmak için step motorlarla ilgili diğer yazımızı
inceleyebilirsiniz.
ÖNEMLİ: Step motorlar, Arduino tarafından sağlanabilecek olandan daha fazla güç gerektirir. Bu örnekte, Uno'ya 12V harici bir besleme ile güç vereceğiz. Sürücü kartı üzerindeki güç girişinin (M +) Arduino'daki Vin pinine bağlı olduğuna dikkat edin. Bu, Arduino'ya ve motora aynı güç kaynağıyla güç vermenizi sağlar.
Yazılım
Her şeyi doğru bağladığınızda, yazılımı Arduino'ya yükleyebilirsiniz. Aşağıdaki kod çok basit bir örnek koddur, Arduino IDE'nin içerdiği bir Stepper kütüphanesinin yanı sıra çevrimiçi olarak çok sayıda örnek bulabilirsiniz. Bu kodla oynamaya çekinmeyin, ne olduğunu görmek için değerleri değiştirin ve diğer kodları keşfetmekten çekinmeyin.
------------------------------------------------
int dirpin = 2;
int steppin = 3;
void setup()
{
pinMode(dirpin, OUTPUT);
pinMode(steppin, OUTPUT);
}
void loop()
{
int i;
digitalWrite(dirpin, LOW); // Set the direction.
delay(100);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps.
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // "Rising Edge" so the easydriver knows to when to step.
delayMicroseconds(500); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.
digitalWrite(dirpin, HIGH); // Change direction.
delay(100);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // "Rising Edge" so the easydriver knows to when to step.
delayMicroseconds(500); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.
}
------------------------------------------------
Artık step motorunuzu en basit seviyede nasıl çalıştıracağınızı çözdüğünüze göre, bir sonraki seviyeye geçme zamanı. Diğer step motor sürücü kartları ile neler yapabileceğinizi öğrenebilirsiniz.
Yardım almak istediğiniz konular ile ilgili
robotikbilgi.com sitemizden destek alabilirsiniz.
Kaynak: https://www.sparkfun.com/tutorials/400