Verdiğim mm değeri kadar step motora adım attırmak

Katılım
21 Nis 2017
Mesajlar
88
Puanları
1
Yaş
30
Arduıno ile step motora adım attırmak istiyorum
Seri porttan gönderdiğim rakam mm cinsinden olacaktır
Ve bu değer kadar step motorun adım atmasını istiyorum
Nasıl bir döngü kullanmam gerekli veya nasıl bir kod yazmam gerekli?
 
SerdarCal kardeşim bu şekilde soru sorarsan kimse sana yardımcı olamaz. Sebebi ise sorduğun soru aslında çok fazla detaylandırman gereken bir sorudur.

Öncelikle hareket sistemi için nasıl bir yapı kullanıyorsun bunu belirtmen lazım. Örneğin sistemine vidalı mil , kayışlı sistem , dişli sistem gibi hareket sistemlerinin hangisini kullanarak hareket sağlıyorsun. Kullandığın elektronik sistem ( motor sürücü , Microconroller vb. ) hakkında bilgi vermen gerekir.
Yani çok detaylı bir konuyu basit bir şekilde sormuşsun.
Ama ben yine de örnek olması için basit bir şekilde kendi bildiğim kadarıyla açıklamaya çalışayım. Umarım faydası olur.

Örneğin bu sistemi 8 mm vidalı mil ve somun kullanarak hareket ettirdiğini varsayalım.
Elektronik olarakta Arduino ve motor sürücü olarak DRV8825 kullandığını farzedelim.
DRV8825 teki mod ayarının 32 mikrostep olarak ayarlandığını düşünelim.
Step motor olarak Nema17 200 adım 1.8 derecelik motor kullandığımızı düşünelim.

Bu durumda motorumuz normal durumda tam bir tur döndüğünde 200 adım atacaktır.
Fakat motor sürücü devremiz DRV8825 32 mikrostep olarak ayarlandığı için tam turu 200 x 32 =6400 adımda atmış olacaktır.

MOTOR_ADIMSAYISI = 200;
MOTOR_MIKROSTEP = 32;
MOTOR_TAM_DONUS = MOTOR_ADIMSAYISI x MOTOR_MIKROSTEP ; // = 6400 step(adım)


Şimdi vidalı milin hareketini hesaplayalım.

8mm standart sonsuz vidalı milin tam dünüşünde 2mm hareket sağladığını düşünelim. Tabi bu değerleri elindeki ürünlere göre üretici firmanın kataloklarından sen kendin bulman gerekiyor. Ben şimdilik kafama göre değerler vererek anlatmaya çalışıyorum.

8mm_vidali_mil_tam_donus = 2; // 2 mm

Yukarıdan hatırlayalım motorumuz tam dönüşü 6400 step ( adim ) atarak tamamlıyordu.

Vidalı milde tam dönüşte 2mm hareket sağlıyordu.
Bu durumda 1 mm gitmek için 6400 step / 2 mm = 3200 step /mm adım atmamız gerekir.

1mm_step = 3200 ;

örneğin sen 100 mm gitmek istiyorsun.

o zaman motora

1mm_step x 100 = 3200 x 100 = 320.000 adım attırman gerekir.

Umarım bu bilgiler sana faydalı olur. Kolay gelsin iyi çalışmalar.
 
Aktarma organlarının detayları olmadığı için şu şekilde cevaplayalım. Step Motor sürücü 1600 pulse ayarlı ise pulse kaynagından 1600 adet pulse geldiğinde motor 1 tam tur atacaktır. Siz ardunio ile 1 saniye aralıklarla yak söndür yaptığınızda 1600 saniyede 1600 pulse almış olacak ve motor bu sürede bir tam tur atmış olacaktır. Pulse sayısını değiştirmeden bekleme aralıklarını düşürdügünüzde devri arttırmış aralıkları arttırdığınızda devri yavaşlatmış olursunuz.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…