İçeriğe geç

Ardino İle Step Motor Kullanmı

Bu blog yazısında büyük ölçekli Step Motorları arduino kullanarak microstepping dürücü ile kullanmayı anlatacağım. Sürücü olarak TB6600 microstepping sürücü ve motor olarak Nema 23 2.2Nm  kullanacağım. Bir sonraki yazıda ise ARM tabanlı STM32 serisi bir işlemci ile motor sürmeyi anlatacağım. Neredeyse tamamen aynı işlemleri yapacağız.

  Kütüphane olarak yazmış olduğum MWC_STEPPER Arduino step motor sürücü kütüphanesi kullancağız. Github linkine aşağıdan ulaşabilirsiniz.

https://github.com/mertwhocodes/mwc_stepper

Kütüphanenin nasıl çalıştığını size detaylı olarak açıklayacağım siz daha sonrasında kendi ihtiyaçlarınız doğrultusunda bu kütüphaneyi rahatlıkla kullanabileceksiniz.

Kullanılan Donanımlar


  • Arduino Uno
  • TB6600 Step Motor Sürücü
  • Nema23 Step Motor

Bağlantı Şeması 


 

Step Motor Kablo Bağlantısı


Bu yazıda kullandığım Nema23,  57Hs22 etiket numarasına sahip bir step motor. Dökümantasyonunda iki çeşit bağlantı olduğunu ve kabro reklerini görebilirsiniz.

Basitçe paralel ve seri bağlantı arasındaki temel fark. Paralel bağlantı  daha fazla hız sağlarken, seri bağlantı daha fazla torksağlamaktadır.

Motor sürücü üzerinde 2 ayrı tablo bilgisinin olduğunu görebilirsiniz bu tablolar sürücünün üzerinde bulunan SW1 den SW6 ya kodar olan switchlerin ne amaçla kullanılıdığını bize anlatıyor.Birinci tabloda  microstep ayarı için gerekli ayarlamaları vermiş. Bu örnekte kullandığım step motor Nema 23 her adımında 1.8 derece hareket etmektedir buda demek oluyor ki bir tam turu 200 adımda gerçekleştirmekte.Bu adım acısı ile özellikle yavaş hızlarda motorun akıcı bir hareket yapmadığını göreceksiniz. Tamda burada sürücü üzerinde bulunan microstepping ayarı, adım açısında değişiklik yapmamızda imkan sağlamakta. 

Ben tur başına 1600 adım ayarlamak istiyorum ve bunu için SW1 den SW3 e kadar olan switchleri sırası ile Off-ON-Off durumlaruna getirmem yeterli olacaktır. Diğer tabloda ise motor akım limit ayarı için vardır. Akımı sınırlayarak herhangi bir kısa devre ya da aşırı zorlanma durumunda motor bobinlerinin hasar görmesinin önüne geçilmiş olunur.Kullandığım motor 3A değerine sahip sırasıyla 3A için SW4 ten SW5 e kadar olan switchleri OFF-ONN-OFF pozisyonlarına getirmem yeterli olacaktır.

Arduino codes


MWC_stepper kütüphanesi ve içerdiği fonksiyonlarla ilgili detaylı bilgiyi github hesabımdan bulabilirsiniz.

https://github.com/mertwhocodes/mwc_stepper

 

Example Code for  MWC_stepper Library


/*
Name :step_drive.ino
Author:mertwhocodes
*/
#include<mwc_stepper.h>
 
#define EN_PIN 3
#define DIR_PIN 2
#define STEP_PIN 5
 
#define RPM 50
#define RPM1 100
 
#define PULSE 1600
 
#define ClOCKWISE 1
#define OTHERWISE 0
 
MWCSTEPPER nema23(EN_PIN, DIR_PIN, STEP_PIN);
 
void setup() {
nema23.init();
}
 
void loop() {
nema23.set(ClOCKWISE, RPM, PULSE);
 
for (size_t i = 0; i < 1600; i++)
{
nema23.run();
}
 
delay(1000);
 
nema23.set(OTHERWISE, RPM1, PULSE);
 
for (size_t i = 0; i < 1600; i++)
{
nema23.run();
}
}

First of all let’s check the mwc_stepper library have which functions .

Tarih:Arduino ile uygulamalar

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir