28BYJ-48 Step Motor ve ULN2003 Sürücü Modülü Arduino ile Nasıl Kullanılır?

Step motorlar küçük adımlar halinde istenildiği kadar döndürülebilen ve güç devam ettiği sürece durduğu zamanlarda bile pozisyonunu sıkıca koruyabilen motor tipleridir. Tam bir dönüş turunu hassas bir şekilde eşit adımlar ile kat ederler ve bu yüzden yazıcılar gibi hassas pozisyonlama isteyen her alanda kullanılırlar.

Arduino ile step motor deneyimlemenin en ucuz yolu 28BYJ-48 kodlu motorlardan edinmektir. Bu motorlar 5 Volt ve 12 Volt olarak iki farklı türdedir ve çoğu ULN2003 çipini kullanan bir sürücü modülü ile birlikte gelir. Arduino ile basit projeler yapmak için 5 Volt’luk modeli seçmek mantıklıdır.

28BYJ-48 motoru tam bir turunu 32 adımda tamamlar. Motor ayrıca 1/64 devir düşürücüye bağlıdır ve çıkışın tam bir tur dönmesi için 32 x 64 = 2048 adım atması gerekir.

ULN2003 temelli modül varken motorun 5 pinlik çıkışı üzerinde kafa yormamıza gerek yok. Beyaz renkli soketi modüle bağlıyoruz ve geriye 6 pinlik Arduino bağlantısı kalıyor.

Step motorların çoğu Arduino pinlerinden güç alamayacak kadar yüksek akım çekerler. Ancak 28BYJ-48 motorun 5 Volt’luk modeli kısa bir USB kablosu kullanmamız halinde Arduino üzerinden ucu ucuna beslenebiliyor. Daha güçlü modeller için ayrı bir güç kaynağı kullanmak gerekir.

Aşağıdaki devre kurulumunda Arduino ve step motor sürücüyü harici bir 5 Volt güç kaynağı ile beslemeyi gösterdik. USB üzerinden beslemeyi denemek için Arduino’nun 5V çıkışını modül üzerindeki + girişine ve GND çıkışını modül üzerindeki – girişine bağlamalıyız.

Step motorlar içlerindeki bobin yapıları sayesinde bağlantılarına belirli bir sırayla 1 veya 0 gönderilerek döndürülürler. Bunu daha iyi anlamak için aşağıdaki sketch içindeki sol fonksiyonunu inceleyelim.

Sola dönüşte gönderilen değerleri alt alta yazalım;
1,0,0,0
1,1,0,0
0,1,0,0
0,1,1,0
0,0,1,0
0,0,1,1
0,0,0,1
1,0,0,1

Görüldüğü gibi 1’ler adım adım sürekli sağa kayıyor ve sonda da en başa dönmeye çalışıyor. Bu sıralama motorun bir yöne dönmesi için. Bu değerleri motora tersten, yani alttan üste doğru gönderirsek diğer yöne döner.

Aşağıdaki sketch step motoru önce bir yöne, sonra diğer yöne döndürüyor ve bu dönmelerin hızlarını ayarlıyor.

Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!

Sketch kodunu kopyalamak için pencerenin sağ üst köşesindeki butona tıklayabilir veya buraya tıklayarak ZIP dosyası olarak indirebilirsiniz.

Arduino IDE içinde step motorları kullanmak için hazırlanmış bir kütüphane bulunuyor. Stepper adındaki bu kütüphane bizi yukarıdaki kod karmaşasından kurtaracak.

Kütüphane oldukça basit bir kullanıma sahip. Hızı ayarlıyor ve kaç adım atacağını söylüyoruz. Motorun hangi yöne döneceğini ise adım sayısını pozitif veya negatif değerler ile ayarlıyoruz. Yani bir yön için 2048 yazarken, diğer yön için ise -2048 ayarlıyoruz.