Oğuzhan Üstadım, Samet Bey kardeşim, iyi dilekleriniz için teşekkürler. Deniyorum bakalım sonuca ulaşacak mı.
Eksik malzemeleri beklerken motorları ve elektroniği kabaca bir test etmek istedim.
a4988 motor sürücülerini cnc shield üstünde x ve y yuvalarına yerleştirdim. Yanındaki soketlere step motorlarımı bağladım, voltaj girişine telsiz güç kaynağından 12V besledim.
Cnc shield'i arduino uno r3 klonuna taktım.
Arduino'yu bilgisayara bağladığımda sürücü yüklenmedi. Ch340 chipsetli klon olduğundan bu driver'ı kurmak gerekiyor önce bunlarda daha önce başıma geldiğinden biliyordum.
https://maker.robotistan.com/arduino-uno-suruculeri-nasil-yuklenir-ch340-cipli-klon/adresinde detaylı olarak nasıl yükleneceği anlatışmış ve driver da indirilebiliyor.
Driver'ı yükledikten sonra birkaç örnek kod inceleyip birini aşağıdaki gibi iki ekseni de test etmek için modifiye ettim:
///////////////////////////////////////////////////////////
//Arduino CNC Shield X-Y axis stepper Test Code
// Stepper Motor X
const int stepPinX = 2; //X.STEP
const int dirPinX = 5; // X.DIR
// Stepper Motor Y
const int stepPinY = 3; //Y.STEP
const int dirPinY = 6; // Y.DIR
void setup() {
// Sets the two pins as Outputs
pinMode(stepPinX,OUTPUT);
pinMode(dirPinX,OUTPUT);
pinMode(stepPinY,OUTPUT);
pinMode(dirPinY,OUTPUT);
}
void loop() {
digitalWrite(dirPinX,HIGH); // Enables the motor to move in a particular direction
digitalWrite(dirPinY,HIGH);
// Makes 200 pulses for making one full cycle rotation
for(int x = 0; x < 200; x++) {
digitalWrite(stepPinX,HIGH);
digitalWrite(stepPinY,HIGH);
delayMicroseconds(500);
digitalWrite(stepPinX,LOW);
digitalWrite(stepPinY,LOW);
delayMicroseconds(500);
}
delay(1000); // One second delay
digitalWrite(dirPinX,LOW);
digitalWrite(dirPinY,LOW);//
// Makes 400 pulses for making two full cycle rotation
for(int x = 0; x < 400; x++) {
digitalWrite(stepPinX,HIGH);
digitalWrite(stepPinY,HIGH);
delayMicroseconds(500);
digitalWrite(stepPinX,LOW);
digitalWrite(stepPinY,LOW);
delayMicroseconds(500);
}
delay(1000);
}
///////////////////////////
CNC shield'in çalışması için EN/GND olarak kart üstünde belirtilmiş headerların kısa devre edilmesi gerekiyor. Elimde uygun jumper olmadığından küçük bir tel parçası ile de o işi hallettim.
Sonuç olarak aşağıdaki videoda her iki motorun ilgili koda uygun şekilde gibi bir yöne bir tur diğer yöne 2 tur olacak şekilde döndüğünü görebilirsiniz.
https://youtu.be/8LXNxJPn8KACNC shield ile Satngos rotator yapmak için bu az önce bahsettiğim shield'in enable pini için bir adet ve motor sürücü başına da ikişer adet microstep ayarlama pinleri için olmak üzere toplam 5 adet jumper gerekiyor. Cnc shield seti içinden jumper çıkmadı, elimde de uygun boyutta yoktu. Başka bazı ihtiyaçlar ile birlikte bir miktar uygun boyutta olduğunu düşündüğüm jumper da sipariş ettim.
Bu deneme videosunda microstep ayarlama için olan jumperlar kısa devre değil. Onların projedeki amacı tüm microstep ayarlama pinleri boşta iken tam bir adım olan step motor adımlama çözünürlüğünü 1/8 adıma indirmek. Ki böylece anten için daha kesin/hassas bir pozisyonlama mümkün olsun. Şu adreste cnc shield hk. başka genel bilgiler ile birlikte bu microstep çözünürlüğü ayarlaması ile ilgili detay "Configuring microstepping for each axis" başlığında güzel şekilde anlatılmış.
http://www.zyltech.com/arduino-cnc-shield-instructions/En azından daha karışık işlere girip yanılmadan önce bir referans nokta olarak elektroniğin ve motorların çalışırlığının testi için projeyi yapacak herkese bu gibi bir test yapmasını tavsiye ederim.