- Step Motorlar:
- Step Motor için Devir Başına Adımların Hesaplanması:
- Neden Step motorlar için Sürücü modüllerine ihtiyacımız var?
- Potansiyometre Kullanan Dönen Step Motor için Devre Şeması:
- Arduino Kartı için Kod:
- Çalışma:
Step motorlar elektronik dünyasında giderek daha fazla yerini alıyor. Normal bir Gözetim kamerasından karmaşık CNC makinelerine / Robotuna kadar bu Step Motorlar, doğru kontrol sağladıkları için her yerde aktüatör olarak kullanılır. Bu eğitimde, en yaygın / ucuza temin edilebilen step motor 28-BYJ48'i ve bunun ULN2003 step modülü kullanarak Arduino ile nasıl arayüzleneceğini öğreneceğiz.
Son projemizde Arduino'nun Seri Monitöründe dönüş açısını girerek step motoru döndürebileceğiniz Arduino ile basitçe Arayüzlü Step Motorumuz var. İşte bu projede, Potansiyometre ve Arduino kullanarak Step Motoru Döndüreceğiz, örneğin potansiyometreyi saat yönünde çevirirseniz step saat yönünde dönecek ve potansiyometreyi saat yönünün tersine çevirirseniz saat yönünün tersine dönecektir.
Step Motorlar:
Bu 28-BYJ48 Step motora bir göz atalım.
Tamam, normal bir DC motordan farklı olarak, bu motordan çıkan tüm süslü renklerden beş kablo var ve neden böyle? Bunu anlamak için önce bir step motorun nasıl çalıştığını ve uzmanlığının ne olduğunu bilmeliyiz. Öncelikle step motorlar dönmez, adım atarlar ve bu nedenle step motorlar olarak da bilinir. Yani, her seferinde yalnızca bir adım hareket edecekler. Bu motorların içinde bir dizi bobin bulunur ve bu bobinlere motorun dönmesini sağlamak için belirli bir şekilde enerji verilmesi gerekir. Her bobine enerji verildiğinde, motor bir adım atar ve bir dizi enerji verme, motorun sürekli adımlar atmasını ve böylece dönmesini sağlar. Bu tellerin nereden geldiğini tam olarak bilmek için motorun içinde bulunan bobinlere bir göz atalım.
Gördüğünüz gibi motorda Unipolar 5 uçlu bobin düzeni var. Belirli bir sırayla enerjilendirilmesi gereken dört bobin vardır. Kırmızı kablolara + 5V verilecek ve kalan dört tel, ilgili bobini tetiklemek için toprağa çekilecektir. Arduino gibi bir mikrodenetleyici kullanıyoruz, bu bobinlere belirli bir sırayla enerji veriyor ve motorun gerekli sayıda adımı gerçekleştirmesini sağlıyoruz.
Peki şimdi, bu motora neden 28-BYJ48 deniyor ? Ciddi anlamda!!! Bilmiyorum. Bu motorun böyle adlandırılmasının teknik bir nedeni yoktur; belki de daha derinlere dalmalıyız. Aşağıdaki resimde bu motorun veri sayfasından elde edilen bazı önemli teknik verilere bakalım.
Bu bilgi dolu bir kafa, ancak ne tür bir step kullandığımızı bilmek için birkaç önemli konuya bakmamız gerekiyor, böylece onu verimli bir şekilde programlayabiliriz. Kırmızı kabloya 5V ile enerji verdiğimiz için ilk olarak bunun 5V Step motor olduğunu biliyoruz. Sonra, içinde dört bobin olduğu için dört fazlı bir step motor olduğunu da biliyoruz. Şimdi dişli oranı 1:64 olarak verilmiştir. Bu, dışarıda gördüğünüz şaftın yalnızca içindeki motor 64 kez dönerse bir tam dönüş yapacağı anlamına gelir. Bunun nedeni, motor ve çıkış mili arasına bağlanan dişliler nedeniyle, bu dişliler torku artırmaya yardımcı olur.
Dikkat edilmesi gereken bir diğer önemli veri ise Adım Açısı: 5.625 ° / 64. Bu, motorun 8 adımlı sırayla çalıştırıldığında her adım için 5.625 derece hareket edeceği ve bir tam dönüşü tamamlamak için 64 adım (5.625 * 64 = 360) alacağı anlamına gelir.
Step Motor için Devir Başına Adımların Hesaplanması:
Step motorunuz için Devir başına adımları nasıl hesaplayacağınızı bilmek önemlidir, çünkü ancak o zaman onu etkili bir şekilde programlayabilirsiniz.
Arduino'da motoru 4 adımlı sırayla çalıştıracağız, böylece adım açısı 11.25 ° olacak, çünkü 8 adımlı sekans için 5.625 ° (veri sayfasında verilmiştir) 11.25 ° (5.625 * 2 = 11.25) olacaktır.
Devir başına adım sayısı = 360 / adım açısı
Burada 360 / 11.25 = devir başına 32 adım.
Neden Step motorlar için Sürücü modüllerine ihtiyacımız var?
Çoğu step motor, yalnızca bir sürücü modülü yardımıyla çalışacaktır. Bunun nedeni, denetleyici modülünün (bizim durumumuzda Arduino) motorun çalışması için I / O pinlerinden yeterli akımı sağlayamayacak olmasıdır. Bu yüzden step motor sürücüsü olarak ULN2003 modülü gibi harici bir modül kullanacağız. Pek çok sürücü modülü türü vardır ve birinin değeri kullanılan motor türüne göre değişecektir. Tüm sürücü modülleri için temel ilke, motorun çalışması için yeterli akımı sağlamak / batırmak olacaktır.
Potansiyometre Kullanan Dönen Step Motor için Devre Şeması:
Potansiyometre ve Arduino kullanarak Step Motor Kontrolü için devre şeması yukarıda gösterilmiştir. 28BYJ-48 Step motor ve ULN2003 Sürücü modülünü kullandık. Step motorun dört bobinine enerji vermek için dijital pinler 8,9,10 ve 11'i kullanıyoruz. Sürücü modülü Arduino Board'un 5V pininden güç alıyor. A0'a, değerlerinde Step motoru döndüreceğimiz bir potansiyometre bağlanır.
Ancak, step motora bir miktar yük bağlarken sürücüye Harici Güç kaynağı ile güç verin. Motoru sadece gösteri amaçlı kullandığım için Arduino Board'un + 5V rayını kullandım. Ayrıca Arduino'nun Topraklamasını Sürücü modülünün toprağına bağlamayı da unutmayın.
Arduino Kartı için Kod:
Arduino ile programlamaya başlamadan önce, programın içinde gerçekte ne olması gerektiğini anlayalım. Daha önce de belirtildiği gibi, 4 adımlı sıralama yöntemini kullanacağız, bu nedenle bir tam dönüş yapmak için gerçekleştirecek dört adımımız olacak.
Adım |
Enerjili Pin |
Enerjili Bobinler |
Aşama 1 |
8 ve 9 |
A ve B |
Adım 2 |
9 ve 10 |
B ve C |
Aşama 3 |
10 ve 11 |
C ve D |
4. adım |
11 ve 8 |
D ve A |
Sürücü modülü, herhangi bir zamanda hangi bobine enerji verildiğini kontrol edebileceğimiz dört LED'e sahip olacaktır. Tam tanıtım videosu bu eğitimin sonunda bulunabilir.
Bu eğitimde, Arduino'yu A0 pinine bağlı potansiyometreyi çevirip Step motorun yönünü kontrol edebilecek şekilde programlayacağız. Programın tamamı öğreticinin sonunda bulunabilir, aşağıda birkaç önemli satır açıklanmıştır.
Step motorumuz için devir başına adım sayısı 32 olarak hesaplandı; dolayısıyla aşağıdaki satırda gösterildiği gibi giriyoruz
#define STEPS 32
Daha sonra, Step motorunu bağladığımız pimleri belirlediğimiz örnekler oluşturmalısınız.
Adımlayıcı adımlayıcı (STEPS, 8, 10, 9, 11);
Not: Pin sayısı kasıtlı olarak 8,10,9,11 olarak düzensizdir. Motorunuzun bağlı olduğu pinleri değiştirseniz bile aynı düzeni izlemelisiniz.
Arduino step kütüphanesini kullandığımız için aşağıdaki satırı kullanarak motorun hızını ayarlayabiliriz. Hız, 28-BYJ48 step motorlar için 0 ile 200 arasında değişebilir.
stepper.setSpeed (200);
Şimdi, motoru saat yönünde bir adım hareket ettirmek için aşağıdaki satırı kullanabiliriz.
stepper.step (1);
Motoru saat yönünün tersine bir adım hareket ettirmek için aşağıdaki satırı kullanabiliriz.
stepper.step (-1);
Programımızda Analog pin A0'ın değerini okuyup önceki değerle (Pval) karşılaştıracağız. Artmışsa saat yönünde 5 adım ilerliyoruz, azalmışsa saat yönünün tersine 5 adım ilerliyoruz.
potVal = harita (analogRead (A0), 0,1024,0,500); eğer (potVal> Pval) stepper.step (5); eğer (potVal
Çalışma:
Bağlantı kurulduktan sonra, donanım aşağıdaki resimde buna benzer şekilde görünmelidir.
Şimdi, aşağıdaki programı Arduino UNO'nuza yükleyin ve seri monitörü açın. Daha önce tartışıldığı gibi , Step motorun dönüşünü kontrol etmek için potansiyometreyi döndürmeniz gerekir. Saat yönünde döndürmek, step motoru saat yönünde ve tersi yönde döndürür.
Umarım projeyi anladınız ve inşa etmekten keyif aldınız. Projenin tam çalışması aşağıdaki videoda gösterilmektedir. Herhangi bir şüpheniz varsa, bunları aşağıdaki yorum bölümüne veya forumlarımıza gönderin.