
Kısaca: Step motor, dönüşünü eşit açılı adımlarla yapan ve geri besleme sensörüne gerek duymadan belirli bir konuma getirilebilen fırçasız bir DC motordur. Bu yazıda step motorun çalışma prensibini, adım açısı hesabını, sabit mıknatıslı, değişken relüktanslı ve hibrit step motor çeşitlerini ve 28BYJ-48 step motor ile ULN2003A sürücü kullanılan Arduino örneğini bulabilirsiniz.
1- Step Motor Nedir?
Step motor nedir?; Adım adım dönen fırçasız bir DC motordur. Bu nedenle çok kullanışlıdır. Çünkü, açık döngü kontrolörü temsil eden herhangi bir geri besleme sensörü olmadan tam olarak konumlandırılabilir. Step motor, genellikle kalıcı mıknatıs olan bir rotordan oluşur ve stator sargıları ile çevrilidir. Sargıları belirli bir sırayla adım adım harekete geçirip, içinden bir akım geçmesine izin verdiğimizde, statoru mıknatıslayacak ve sırasıyla motora itmeye neden olacak olan elektromanyetik itmeler yapacaktır. Oluşan bu her elektromanyetik itmeye step dedir ve step motorların çalışma prensibini oluşturur. Step motorlar tam bir tur dönmesi için belirli adım sayısına ulaşmalıdır. Her step motor aynı adım sayısına sahip değildir. Örneğin 200 adım yapısına sahip olan step motor 360 dereceyi yani tam bir turu dönmek için 200 adım atmalıdır. 360/200=1,8 derece. Yani her adımda motor 1,8 derecelik açı yaparak tam turda 360 dereceyi tamamlar. 500 adım sayısına sahip olan bir motor ise 360/500=0,72 derece ile 500 adım attığında 360 dereceyi yani bir turu tamamlamış olur.

2- Step Motor Çeşitleri Nelerdir?
Yapısal olarak 3 farklı tipte step motor vardır: sabit mıknatıslı step, değişken relüktans step ve hibrid senkron step motor.
2.1- Sabit Mıknatıs Step
Statorları sargılar tarafından tahrik edilen bir sabit mıknatıs rotor vardır. Rotoru iten rotorun kutuplarıyla karşılaştırıldığında zıt kutupları oluştururlar.
2.2- Değişken Relüktant Step Motoru
Mıknatıslanmayan yumuşak bir demir rotoru kullanır. Rotor, statordan ayrılan dişlere sahiptir ve sarımları belirli bir sırayla aktif hale getirdiğimizde, rotor sırasıyla rotor ve rotorun dişleri arasında minimum boşluk olacak şekilde hareket eder.
2.3- Hibrit Step Motor
Önceki iki step motor kombinasyonlarını içinde barındırır. Sabit mıknatıs dişli rotor ve ayrıca dişli stator vardır. Rotor, kutuplarının zıttı olan iki kesite sahiptir ve dişlere, bu nedenle dengeli bir yapıya sahiptir.

3- Step Motor Nasıl Çalışır?
Step motorlar içerilerinde bulunan mıknatıslar ve sarımlarla hareketi sağlar. Bu hareketin her bir adımına step denmektedir. Step motordaki sargılara sırasıyla pals (darbe) uygulanır; her pals motoru bir adım ilerletir ve 4 fazlık sıra tamamlandığında bir elektriksel döngü tamamlanmış olur. Daha önce bahsedildiği gibi 200 adımlı bir step motorun 360 dereceyi tamamlaması için 200 adım atması gerekir. 360/200=1,8 derecelik açı ile bu durum sağlanmaktadır. Step motorlar verdiğimiz adım sayısına göre hareket etmektedir. İstersek 360 derece istersek 10 yada sonsuz bir şekilde döndürebiliriz. Step motora elektrik akımı geldiğin motor elektrik akımından dolayı tork oluşturmakta. Bu durum ise motorun tutma kuvvetini arttırmaktadır. İşlem bitse bile tork sağlanmış olur fakat elektrik akımı kesilirse tork’ta ortadan kalkar.
4- Arduino ile Step Motor Kullanımı
Gerekli malzemeler
1x Arduino Uno
1x Step Motor (28BYJ-48) ve ULN2003A sürücü
6x Dişi-Erkek jumper kablo

#include <Stepper.h>
const int adimsasyisi = 2048; // 28BYJ-48 redüktörlü olduğu için tam adımda bir tur yaklaşık 2048 adımdır
// ULN2003A kartının IN1, IN2, IN3, IN4 girişlerini sırasıyla 8, 9, 10, 11 pinlerine bağlayınız
// (28BYJ-48 için Stepper kütüphanesinde pin sırası 8, 10, 9, 11 olarak yazılır)
Stepper stepmotor(adimsasyisi, 8, 10, 9, 11);
void setup() {
// step motor hızını setSpeed ie belirliyoruz
stepmotor.setSpeed(10); // 28BYJ-48 için devir/dakika (yaklaşık 15'in üzerinde adım kaçırabilir)
// serial port bağlantımızı başlatıyoruz
Serial.begin(9600);
}
void loop() {
// step motorun ileriye bir tur dönmesi
Serial.println("ileri");
stepmotor.step(adimsasyisi);
delay(500);
// step motorun geriye bir tur dönmesi
Serial.println("geri");
stepmotor.step(-adimsasyisi);
delay(500);
}İlgili Ürünler
- 28BYJ-48 Step Motor ve ULN2003A Sürücü Kartı
- Arduino UNO R3
- Dişi-Erkek Jumper Kablo
- Step Motorlar
- Step Motor Sürücüleri
Sıkça Sorulan Sorular
Step motor ile DC motor arasındaki fark nedir?
DC motor gerilim uygulandığı sürece sürekli döner ve hangi konumda olduğu kendiliğinden bilinmez. Step motor ise sargıları sırayla enerjilendirildikçe sabit açılı adımlarla döner; verilen adım sayısı kadar hareket ettiği için geri besleme sensörü olmadan istenen konuma getirilebilir.
Step motorun adım açısı nasıl hesaplanır?
Adım açısı, 360 derecenin motorun bir turdaki adım sayısına bölünmesiyle bulunur. Bir turda 200 adım atan motorun adım açısı 360/200 = 1,8°, 500 adım atan motorunki ise 360/500 = 0,72°'dir.
Step motor çeşitleri nelerdir?
Yapısal olarak üç tip step motor vardır: sabit mıknatıslı, değişken relüktanslı ve hibrit step motor. Hibrit step motor, sabit mıknatıslı dişli rotoru ve dişli statoruyla ilk iki tipin özelliklerini bir arada kullanır.
Step motor durduğunda konumunu korur mu?
Sargılardan akım geçtiği sürece step motor durduğu yerde tutma torku üretir ve dış kuvvete karşı konumunu korur. Akım kesildiğinde bu tutma torku büyük ölçüde ortadan kalkar ve mil dışarıdan döndürülebilir.
Step motor Arduino'ya nasıl bağlanır?
Step motor doğrudan Arduino pinlerine değil, ULN2003A gibi bir sürücü kart üzerinden bağlanır. Yazıdaki örnekte 28BYJ-48 motor Stepper.h kütüphanesiyle sürülür; redüktörlü bu motor tam adımda bir turu yaklaşık 2048 adımda tamamlar. Ayrıntılar için Arduino ile step motor kontrolü yazısına bakabilirsiniz.