Mikrostep mikrostep midir?

Internette gezinirken çoktandır yapmayı istediğim deney düzeneğini ve bu düzenekle A4988, DRV8825 gibi popüler mikrostep sürücülerin sonuçlarını gördüm ve tasarımı devam eden sürücümün durumunu merak ettim.

https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/

Yukarıdaki linktekinden farklı olarak düzeneğim aşağıdaki gibi.

laser1

 

 

 

 

 

 

 

 

 

Şekil 1 

Laserden yaklaşık 5m ötedeki duvara yapıştırdığım A4 kağıt üzerine düşen beneği kalemle işaratleyerek her bir mikrostepte beneğin yaptığı yer değişimlerini belirledim.

laser2

 

 

 

 

 

 

 Şekil 2

Video 1
Video 2
laser3Şekil 3

tan(\theta{1})=\frac{L_1}{y}
tan(\theta{2})=\frac{L_2}{y}
....
tan(\theta{8})=\frac{L_8}{y}

Şekil 2'de benek yukarı çıkarken yapılan ölçüm sonuçları aşağıdadır.

L_1=10.5 mm
L_2=27.0 mm
L_3=49.5 mm
L_4=75.0 mm
L_5=102 mm
L_6=129 mm
L_7=151 mm
L_8=164 mm

Laser kaynağı ile duvar arasındaki mesafeyi ölçmeye üşendim. Zaten ne kadar doğru ölçebilirim ki?

y mesafesini ölçmek yerine 8 mikrostepin yani tam bir adımın 1.8 derece olduğunu biliyorum. Elbette bu motora ve sürücünün başarısına bağlı bir açı, fakat izleyeceğim yolda bu açının tamı tamına 1.8 derece olup olmadığı çok önemli değil.

tan(\theta{_8})=\frac{L_8}{y}=tan(1.8)=0.031426=\frac{164}{y}
buradan y=5218.56mm buluruz.

\theta{_n}=atan(\frac{L_n}{y})=atan(\frac{L_n}{5218.56})
aşağıda, olması gereken açı hesaplanan açının yanına parantez içinde yazılmıştır. Yapılan %hata ise en sağdadır.

\theta{_1}=atan(\frac{10.5}{5218.56})=0.115 (0.225) (%49)
\theta{_2}=atan(\frac{27.0}{5218.56})=0.296 (0.450) (%34)
\theta{_3}=atan(\frac{49.5}{5218.56})=0.543 (0.675) (%19)
\theta{_4}=atan(\frac{75.0}{5218.56})=0.823 (0.900) (%9)
\theta{_5}=atan(\frac{102}{5218.56})=1.119 (1.125) (%0)
\theta{_6}=atan(\frac{129}{5218.56})=1.416 (1.350) (%-5)
\theta{_7}=atan(\frac{151}{5218.56})=1.657 (1.575) (%-5)
\theta{_8}=atan(\frac{164}{5218.56})=1.800 (1.800) (%0)

Motorun 1.8 dereceden 0 dereceye doğru hareketinde laserle işaretlenmiş noktaların yukarıdan aşağıya doğru mesafeleri 10, 30, 54, 82, 108, 132, 152, 164 mm dir.

Yukarıda yapılan hesaplamalar bu değerler için de yapıldığında mikrostep açıları sırasıyla 0.109, 0.329, 0.592, 0.900, 1.185, 1.448, 1.668, 1.800 hesaplanmıştır. Bu açılar ve bir önceki açılar bir grafikte gösterilirse motor sürücümün mikrostep hatası ortaya çıkmış olur.

Sonuç olarak mikrostep sürücülerle sürülen step motorlar tam adımı yeteri doğrulukta bölememekte daha doğrusu step motorlar akım ile konumlamada çok da lineer davranmamaktadır.  İşte sürücümün+motorumun hatası, işte A4988,  DRV8825 ve TB6560 ın hatası.

laser5

a4988

drv8825

tb6560ahq

Laser beneğin konumlarını kağıda işaretleyip benek mesafelerini ölçüp aşağıda linkini verdiğim programa mesafe verilerini girerseniz program gerekli hesaplamaları yapmakta ve grafiği çizmektedir.

https://github.com/Bunalmis/ENC28J60-STM32F103C8/blob/master/LaseruStep.zip

Not: Program sadece win10 da denenmiştir.

laser6

Bu yazı 2- Arm ve Asm kategorisine gönderilmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.