Arduino'da Step Motorun ilk kontrollerini yapmak için bir kod yapmıştım...
Nema 17 Step Motorlar 300 RPM'de rahat hareket ediyor...
Dün de Arduino'ya arayüz şeklinde bir kod yazıp, PC'de Delphi ile o arayüz aracılığı ile Step Motor'u sürme denemeleri yaptım...
Arayüz mantığı şöyle:
Arduino üzerindeki kodda Seri Port'tan gelen değerler ile Port çıkışları ve girişleri yapıyorum. PC'den Delphi ile Seri Port çıkışından değerler göndererek Arduino Port çıkışı ve girişi yapıyorum (Yani Arduino sadece port IO transferi yapıyor diyebiliriz)... Bunların süreleri ancak 450-500 RPM'e kadar max sürüşü yapabiliyor...
Tabi ilk denemelerde input için Request yapıp arkasından da Response şeklinde yapınca Port input yapması baya bir yavaş oluyordu. Ben de sadece sürekli Input'dan gelen değeri PC'ye göndererek hızlandırdım sanırım...
Bir de PC'deki kesilmeler Step Motora etki ediyor olabilir. Ama bunlar çok karmaşık konular... 2 eksen birlikte hareket etmesi işleri karıştırıyor...
Belki de Request-Response şeklinde yavaş olması PC ile Seri iletişimin yavaş olması yüzünden olabilir. Yani transfer için buffer'e alıyordur ve o yüzden bir gecikme oluyor olabilir... Windows sürücüsü arada baya bir gecikmeye sebep oluyor olmalı... İstek-cevap şeklinde yavaş olması bu yüzdendir...
Gerçi sadece Arduino üzerinde de 400 RPM'e ancak çıkıyordu. Delphi ile de öyle...
Ayrıca Arduino kodu yazmak da o kadar zor değil Line kodu ve G-Code yazacak olursak... Eskiden PIC ile Circle kodu, Sin,Cos,ATan yapmak baya bir zor olmuştu...
Hiç yorum yok:
Yorum Gönder