• merhabalar, ramps 1.4 aldım, arduino megaya bağladım, istediğim tek şey 2 adet step motoru kontrol etmek, yani motor 1 5 step ileri, motor 2 5 step geri, motor 1 3 step geri, motor 2 5 step ileri.. bir türlü yapamadım, aşağıdaki örnek kodu buldum, onun da mantığını anlayamadım. motor dönüyor ama neye göre dönüyor.. bana bu konuda yardım edebilecek birisi var mıdır

    #define X_STEP_PIN 54
    #define X_DIR_PIN 55
    #define X_ENABLE_PIN 38
    #define X_MIN_PIN 3
    #define X_MAX_PIN 2

    #define Y_STEP_PIN 60
    #define Y_DIR_PIN 61
    #define Y_ENABLE_PIN 56
    #define Y_MIN_PIN 14
    #define Y_MAX_PIN 15

    #define Z_STEP_PIN 46
    #define Z_DIR_PIN 48
    #define Z_ENABLE_PIN 62
    #define Z_MIN_PIN 18
    #define Z_MAX_PIN 19

    #define E_STEP_PIN 26
    #define E_DIR_PIN 28
    #define E_ENABLE_PIN 24

    #define Q_STEP_PIN 36
    #define Q_DIR_PIN 34
    #define Q_ENABLE_PIN 30

    #define SDPOWER -1
    #define SDSS 53
    #define LED_PIN 13

    #define FAN_PIN 9

    #define PS_ON_PIN 12
    #define KILL_PIN -1

    #define HEATER_0_PIN 10
    #define HEATER_1_PIN 8
    #define TEMP_0_PIN 13 // ANALOG NUMBERING
    #define TEMP_1_PIN 14 // ANALOG NUMBERING

    void setup() {
    pinMode(FAN_PIN , OUTPUT);
    pinMode(HEATER_0_PIN , OUTPUT);
    pinMode(HEATER_1_PIN , OUTPUT);
    pinMode(LED_PIN , OUTPUT);

    pinMode(X_STEP_PIN , OUTPUT);
    pinMode(X_DIR_PIN , OUTPUT);
    pinMode(X_ENABLE_PIN , OUTPUT);

    pinMode(Y_STEP_PIN , OUTPUT);
    pinMode(Y_DIR_PIN , OUTPUT);
    pinMode(Y_ENABLE_PIN , OUTPUT);

    pinMode(Z_STEP_PIN , OUTPUT);
    pinMode(Z_DIR_PIN , OUTPUT);
    pinMode(Z_ENABLE_PIN , OUTPUT);

    pinMode(E_STEP_PIN , OUTPUT);
    pinMode(E_DIR_PIN , OUTPUT);
    pinMode(E_ENABLE_PIN , OUTPUT);

    pinMode(Q_STEP_PIN , OUTPUT);
    pinMode(Q_DIR_PIN , OUTPUT);
    pinMode(Q_ENABLE_PIN , OUTPUT);

    digitalWrite(X_ENABLE_PIN , LOW);
    digitalWrite(Y_ENABLE_PIN , LOW);
    digitalWrite(Z_ENABLE_PIN , LOW);
    digitalWrite(E_ENABLE_PIN , LOW);
    digitalWrite(Q_ENABLE_PIN , LOW);
    }

    void loop () {

    if (millis() %1000 <500) <br /> digitalWrite(LED_PIN, HIGH);
    else
    digitalWrite(LED_PIN, LOW);

    if (millis() %1000 <300) {<br /> digitalWrite(HEATER_0_PIN, HIGH);
    digitalWrite(HEATER_1_PIN, LOW);
    digitalWrite(FAN_PIN, LOW);
    } else if (millis() %1000 <600) {<br /> digitalWrite(HEATER_0_PIN, LOW);
    digitalWrite(HEATER_1_PIN, HIGH);
    digitalWrite(FAN_PIN, LOW);
    } else {
    digitalWrite(HEATER_0_PIN, LOW);
    digitalWrite(HEATER_1_PIN, LOW);
    digitalWrite(FAN_PIN, HIGH);
    }

    if (millis() %10000 <5000) {<br /> digitalWrite(X_DIR_PIN , HIGH);
    digitalWrite(Y_DIR_PIN , HIGH);
    digitalWrite(Z_DIR_PIN , HIGH);
    digitalWrite(E_DIR_PIN , HIGH);
    digitalWrite(Q_DIR_PIN , HIGH);
    }
    else {
    digitalWrite(X_DIR_PIN , LOW);
    digitalWrite(Y_DIR_PIN , LOW);
    digitalWrite(Z_DIR_PIN , LOW);
    digitalWrite(E_DIR_PIN , LOW);
    digitalWrite(Q_DIR_PIN , LOW);
    }

    digitalWrite(X_STEP_PIN , HIGH);
    digitalWrite(Y_STEP_PIN , HIGH);
    digitalWrite(Z_STEP_PIN , HIGH);
    digitalWrite(E_STEP_PIN , HIGH);
    digitalWrite(Q_STEP_PIN , HIGH);
    delay(1);

    digitalWrite(X_STEP_PIN , LOW);
    digitalWrite(Y_STEP_PIN , LOW);
    digitalWrite(Z_STEP_PIN , LOW);
    digitalWrite(E_STEP_PIN , LOW);
    digitalWrite(Q_STEP_PIN , LOW);
    }
  • shielde gerek yok ablacım a4988lerden 2sini sök breadboarda tak enabledi vcc gnd yi bagla step ve dir baglantisinida yap dir motor beslemesinide bagla dira +5v stepede pulse verince ileri 1 adim atar, dira 0v verirsen geri 1 adim atar.

    devren kuculur 6pinle isi bitirirsin
  • ya o degilde 3 gundur dusunuyorum 4 tane ssr 30 amper role alsam 4 kablo step motoru bunla sursem role acip kapatma hizlari sikinti cikartirmi? adim atlarmiyiz?
  • hmm teşekkür ederim nsaryc, peki bunu ramps ta bu şekilde yapmaya çalışırsam kodda nasıl bir revizyon yapmam gerekir, yardımcı olur musun yukarıdaki kod örneğinden yola çıkarak. Bu arada ben rgb ledlerle kendime bu philips in ambilight teknolojisini yapmaya çalıştım, gayet de başarılı oldum, orada basit 4 lü 5v röle kullandım, röleleli 300 milisaniyede kullanıyordum. 300 milisaniye işini görmez mi ?
  • nsaryc kardeşim Phoenix marka mikro switchler var PLC ve otomasyonlarda kullanıyoruz, tepkime süreleri inanılmaz kısa, işini fazlasıyla görür, hatta biz sakız kaplama/kesim makinesinde kullandık, milisaniye sürede tepki veriyor. AR-GE için mesaj atarsanız yardımcı olurum,

    saygılar.
  • tabii ki kaç amper gereksinimin var bilmiyorum ama MOC serisi fotocoupler ile de röle veya triyak sürebilirsin, ama Phoenix işini görür sanırım. :D

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.