Arduino ile Step Motor Kontrolü

Step(Adım ) Motorlar, adından da anlaşılacağı üzere adım adım hareket eden, motorun sargılarından birinin enerjilendirilmesi ile  sadece 1 adım hareket eden motorlardır.  Adımlarınızın kaç derecelik olacağı motorunuzun tasarımına bağlıdır. Örneğin;  400 adımlık bir step motor 360 derecelik bir tam dönüşünde 400 adım yol alır. Bu durumda motorunuzun bir adım açısı 360/400= 0.9 derece olur.  Bu aynı zamanda sizin çözünürlük değerinizdir. Arduino ile Step Motor kontrolü oldukça kolaydır.

step-motor1

Step Motorlarla ilgili ayrıntılı bilgiyi buradan bulabilirsiniz. Ayrıca Arduino IDE’ niz için ilgili kütüphanelere buradan ulaÅŸabilirsiniz.

Step Motorları kullanmak için genelde sürücü devreleri kullanılmaktadır. Step Motorların istenilen yönde ve hızda çalıştırmak istendiğinde sargılarına belli bir sırada darbeler uygulanmalıdır. Bu darbelere göre step motorunuz istenilen sayıda adım atabilir. Günümüzde bu işlemi yapan hazır devreler (kontrolor, sürücü devreler) bulunmaktadır.  Sürücü devreleri ile aynı zamanda tork değerinizi de belirlemiş olursunuz.

Aşağıdaki örnekte basit bir step motor sürme örneği verilmiştir. Bu örnekte sürücü devresi olarak ULN2003AN kullanılmıştır.

Sistemin devre şeması

Sistemin devre şeması

Step motorun 4 tane çıkış pinini sürücü devremiz ile baÄŸlantıladık ve sürücü devremizden de Arduino’ muzun 8, 9, 10, 11  nolu pinlerine baÄŸlantı kurduk. Dolayısıyla step motorun uçlarını sırasıyla HIGH konumuna çekerek motorumuzu hareket ettirebiliriz. Uçlardan sadece birini HIGH(Lojik 1) edebiliriz, bu esnada diÄŸer uçların LOW(Lojik 0) olması gerekir.

Kodlarımız aşağıdaki gibi olmalıdır.

int motorPin1 = 8;          
int motorPin2 = 9;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 500;

void setup() {
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(motorPin3, OUTPUT);
  pinMode(motorPin4, OUTPUT);
}

void loop() {
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, HIGH);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, HIGH);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, HIGH);
  delay(delayTime);
}

Bu çalışmada step motorun sırasıyla motorPin1, motorPin2, motorPin3, motorPin4 şeklinde tanımladığımız uçlarını HIGH yapıyoruz. Eğer bu sıralamayı motorPin4, motorPin3, motorPin2, motorPin1 şeklinde değiştirirsek motorumuz ters yönde dönmüş olacaktır.

Volkan Kanat

Embedded Software Engineer @MakelSirketler. BSc. Mechatronics Engineer. Technical Author @dikeyeksen.

249 comments

  1. Ömer Koman dedi ki:

    çok temiz öğretici güzel yazı olmuş.

    • dursun dedi ki:

      iyi çalışmalr
      arduino ile proje tasarlamak istiyorum
      bunun için tabiki de malzemelere ve araçlara ihityacım var
      bunları temin edebileceğim bir adrres önerebilirr misiniz
      arduino yu kendim devresii tasarlayabilir miyim
      yardımlarınız için şimdiden teşekkürler

    • Aziz dedi ki:

      Merhabalar! ben uln2003 motor sürücü olmadan step motorumu kontrol edebilirmiyim? çünki uln2003 in çalışma prensibi giriş sinyalini tersliyor sanırım ve ben kodda

      HIGH
      LOW
      LOW
      LOW
      ÅžEKLÄ°NDE DEVAM EDERSEM OLURMU ACABA?

  2. Bilal dedi ki:

    Ömer beye katılıyorum Volkan. Karanlık bir nokta kalmamış eline sağlık :))

  3. Murat Akkemik dedi ki:

    Ellerinize saÄŸlık gerçekten çok merak ediyordum bu sistemi sayenizde öyle güzel anladım ki bu kadar olur. Ben Aslında 43 yaşında iÅŸletme mezunu bir finansçıyım ve Hobby olarak pic programlayarak birÅŸeyler yapmaya baÅŸladımdı. Ama Arduino yeni ufuklar açtı bende… Åžimdi Sorularıma geleyim;
    1- DelayTime azaldığında motor daha hızlımı döner? en hızlı ile en yavaş noktasını nasıl buluruz?
    2- yollanan sinyalin voltajı önemli midir?
    tÅŸk.

    • Volkan Kanat dedi ki:

      Merhaba Murat Bey,
      Motorun derece/adım oranı sabittir. DelayTime’ ı deÄŸiÅŸtirerek motorun ne kadar beklemeyle adım atması gerektiÄŸini söylemiÅŸ oluyorsunuz. Dolayısıyla DelayTime azaldığında motor daha hızlı dönecektir. Kullandığınız motorun datashettini incelediÄŸinizde motorunuzun hız aralığını ve yollamanız gereken sinyalin gerilim aralıklarını görmüş olursunuz.

  4. Murat Akkemik dedi ki:

    Birde RC uçaklarla uğraşanlar bilir. Brushless motor olarak bilinen 3 kablolu motorlar var. Bunlarada benzer mantıkla voltaj uygulanarak hız ayarı veriliyor (ESC tabir edilen bir devre ile) bunun çalışma mantığınıda anlatarak mümkünse bu konuda bir uygulama yapılabilir mi?
    tÅŸk.

    • Volkan Kanat dedi ki:

      Brushless(BLDC) dediÄŸiniz fırçasız motorlardır. Aslında step motorların içerisinde de fırçasız motor bulunur ve içerdikleri diÅŸliler sayesinde 360 dereceyi kısımlara ayırırlar. Fırçasız motor kontrolünü de benzer ÅŸekilde yapabilirsiniz. ESC ile Arduino’ nuzu baÄŸlantılayacaksınız ayrıca ESC’ yi güç kaynağınızın çıkışına baÄŸlayacaksınız. Ä°leriki günlerde bu konuyla ilgili yazı yazmaya çalışacağım…

  5. elinize sağlık güzel bir yazı.4 bacaklı(yada kablolu tam olarak ismini bilmiyorum) step motorların sürülmesi hakkında bilgi verebilir misiniz?

    • Ömer Koman dedi ki:

      ben yazıdaki step motorda 4 bacak görüyorum zaten. siz kaç bacak saydınız arkadaşım?

    • Mustafa dedi ki:

      Arkadaşım haklısın devre tasarımında kablo görünürken kodda 4 pin var, 12v yada 24v (arduino output geriliminden yüksek motorlar için 5v büyük olanlar yani) step motor sürülürken motoru harici bir gerilim kaynağı ile beslemen gerekiyor, 5 yada 6 kablolu step motorlarda harici besleme için bir uç var fakat 4 kablolu bipolar motorlarda böyle bir uç yok her uca motorun üzerinde yazan gerilimi vermen gerekiyor, bunu direk arduinonun çıkış pinlerinden yapamazsın.

  6. Sezer dedi ki:

    Merhaba,
    Robot kol mekanizması çizdim, ÅŸuan prototip iÅŸlemesini yapıyorum. Elimde arduino uno var, step motor – servolar ile elektroniÄŸe fazla girmeden(arduino temek ÅŸeylerini öğrendim, mantığa hakimim. C zaten biliyorum.) kontrol ettirmek istiyorum. 3 ya da 4 adet servo kontrol edebileceÄŸim hazır bi shield ve motor kombinesi önerebilir misiniz?
    not: foruma üye oldum fakat hotmail ve yahoo için ikisinede aktivasyon maili gelmediği için burdan yazmak zorunda kaldım.

  7. Ömer Koman dedi ki:

    kullanacağınız motor özellikleri; voltaj, akım, güç ve toplam motor veya eksen sayısınz göre bir shield seçmeniz gerekir yada kendiniz tasarlamalısınız. robotistan.com daki motor shieldlere bir bakın…

  8. mehmed dedi ki:

    iyi günler yazı için teşekkürler. bir arduino ile 3 adet step motor sürebilir miyiz. 3 eksenli bir cnc yapmak istiyorum.

    • croulias dedi ki:

      Bende hobby icin cnc yapmak istiyorum.Arduino yu o amacla kullanilmasi cok onemli . Mail adresimi eklerseniz fikir alisverisi yapabiliriz. :))

  9. […] int motorPin1 = 8; int motorPin2 = 9; int motorPin3 = 10; int motorPin4 = 11; int delayTime = 500; void setup() { pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(motorPin3, OUTPUT); pinMode(motorPin4, OUTPUT); } void loop() { digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); delay(delayTime); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); delay(delayTime); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); delay(delayTime); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); delay(delayTime); } Bu çalışmada step motorun sırasıyla motorPin1, motorPin2, motorPin3, motorPin4 ÅŸeklinde tanımladığımız uçlarını HIGH yapıyoruz. EÄŸer bu sıralamayı motorPin4, motorPin3, motorPin2, motorPin1 ÅŸeklinde deÄŸiÅŸtirirsek motorumuz ters yönde dönmüş olacaktır. Alıntıdır:http://arduinoturkiye.com/arduino-ile-step-motor-kontrolu/ […]

  10. semra dedi ki:

    ben bir soru sormak istiyorum. cevaplarsanız memnun olurum. bizim laboratuarda bir nanoindentation cihazı var. cihazın bir parçası, kızak üzerinde hareket eden bir kafadan oluşmaktadır.bu kafayı hareket ettiren bir adım motoru var. söz konusu bu kafanın sağ yönde hareketinde sorun yok. ancak sola hareketinde zorlanıyor ve hatta sıcaklık 30 dereceye ulaştığında ( cihaz kabin içinde ve sıcaklık kabin içi sıcaklık) sola hareket etmiyor. zorlanıyor ve ses gelmeye başlıyor. bu sorun neden kaynaklanıyor olabilir. kızak dediğim yani kafanın hareket ettiği yatağı yakladık ancak sorun düzelmedi. acaba kafanın sola hareketini sağlayan nedir. adım motorunda sorun olabilirmi. sağ yönde harekette sorun yok sola hareket etmiyor.adım motorunda kontrollur da sorun olabilir mi. yardımcı olursanız çok sevinirim.

  11. Ömer Koman dedi ki:

    adım motorda sağa da dönse sola da dönse aynı sargılar devrededir sadece sargıdaki kutuplara gelen voltajlar yer değiştirir. 1- mekanik bir sorun olabilir görünmeyen bir yerde sıkışma yapıyordur yada milde yamulma varsa çevirirken zorlanıyordur. 2- elektronik sorun varsa sola hareket sırasında akım veren devredeki köprülerden biri dengesiz çalışıyor olabilir fazla akım çeker, sürücüsü entegre ise onu bulup değiştirmeyi denemek bir çözüm olabilir bazı entegrelerin hem sürücü hem kod çözücü birlikte değişmesi gerekebilir. sorun büyümeden servisi ile görüşseniz faydası olur.

    • emre ÅŸahin dedi ki:

      hocam arduino ile sensör 1 olduğunda 2 saniye ileri 0 olduğunda ile 2 saniye geri çalıştırmam için yapmam gerekeni bana sunma şansınız olursa buyuk iyilik yapmış olursunuz akıllı perde tasarımında kullanmam gerekiyor

      • Ömer Koman dedi ki:

        yukarıdaki programda şu sıralama motoru bir tur çevirir

        void loop() {
        digitalWrite(motorPin1, HIGH);
        digitalWrite(motorPin2, LOW);
        digitalWrite(motorPin3, LOW);
        digitalWrite(motorPin4, LOW);
        delay(delayTime);
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, HIGH);
        digitalWrite(motorPin3, LOW);
        digitalWrite(motorPin4, LOW);
        delay(delayTime);
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, LOW);
        digitalWrite(motorPin3, HIGH);
        digitalWrite(motorPin4, LOW);
        delay(delayTime);
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, LOW);
        digitalWrite(motorPin3, LOW);
        digitalWrite(motorPin4, HIGH);
        delay(delayTime);
        }

        yukarıdaki rutini ayrı bir yerde alttan yukarı doğru yazarsanızda ters yöne hareket elde edersiniz.

        yapmanız gereken ileri ve geri için kaç kere tekrarlanacaksa rutinleri o kadar çağırın, sonra da tersini yapın. en fazla 5dk içinde yazarsınız. kolay gelsin

  12. uzeyr ozcan dedi ki:

    Merhaba bu örneği denemek için kodu falan yazdım ancak
    ULN2003AN şu devreden bulamadım bunun başka bir adı varmı acaba
    dx de buldum aldım gelmesini bekledim falan,ama ürün daha küçük çıktı,
    makaledeki gibi yerleÅŸtiremedim.

    http://dx.com/p/uln2003a-ic-sop16-drive-ic-5-pcs-153341

  13. Ömer Koman dedi ki:

    direnc.net te çoğu malzemeyi bulabilirsin oradan da sorabilirsin fiyatları uygundur.

  14. Kerem dedi ki:

    Volkan bey anlatım için teşekkürler, ben step motor ile analog gösterge yapmak istiyorum, (örneğin araçlardaki takometre gibi) nasıl bir yol izlemem gerekir? Fan devrini gösterecek yapacağım analog gösterge. Kasa modlamada kullanacağım.

  15. özKan ÇELİK dedi ki:

    Mehabalar
    void loop() kod bloğunu şu şekşlde yazdığımızda motor yinede normal bir şekilde çalışmaya devam eder mi?

    void loop() {
    digitalWrite(motorPin4, LOW);
    digitalWrite(motorPin1, HIGH);

    delay(delayTime);

    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, HIGH);

    delay(delayTime);

    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, HIGH);

    delay(delayTime);

    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, HIGH);

    delay(delayTime);
    }

    • Ömer Koman dedi ki:

      bunu denedinizde bilgi sınamak için mi yapıyorsunuz acaba ? motor sargısında gücü düzenli olarak belli bir yönde sargılardan sırasıyla akıtmak asıl amaç, sizin yönteminizde diğer sargılar boşta kaldığı veya kutuplanmadığı anlaşılıyor bu da motorda ters akımlar oluşacak ve belkide hafifde olsa motora ters yonde dönüş akımları oluşturacak. çalışsa bile verimsiz olacaktır. yazının başındaki sargı şemasını anlammışsınız.

      • özKan ÇELIK dedi ki:

        Teşekkür ederim Ömer Bey. Henüz step motorum olmadığı için deneyememiştim. Bu kod bloğu çalıştırılmadan önce motorun bütün pinleri lojik bire çekilip ondan sonra bu kod bloğu çalıştırılırsa motor normal bir şekilde çalışır o zaman . Çünkü böylece hiç bir pin boşta kalmış olmuyor.

        • Ömer Koman dedi ki:

          bu örnekte 4 pin var bütün pinleri kullanmanız gerekiyor kullanmadıklarınızı eksiye artıya çekmek işleminizi doğrulamaz.

          • özKan ÇELIK dedi ki:

            Şöyle demek istemiştim.

            int motorPin1 = 8;
            int motorPin2 = 9;
            int motorPin3 = 10;
            int motorPin4 = 11;
            int delayTime = 500;
            void setup() {
            pinMode(motorPin1, OUTPUT);
            pinMode(motorPin2, OUTPUT);
            pinMode(motorPin3, OUTPUT);
            pinMode(motorPin4, OUTPUT);

            digitalWrite(motorPin1, LOW);
            digitalWrite(motorPin2, LOW);
            digitalWrite(motorPin3, LOW);
            digitalWrite(motorPin4, LOW);

            }

            void loop() {
            digitalWrite(motorPin4, LOW);
            digitalWrite(motorPin1, HIGH);
            delay(delayTime);
            digitalWrite(motorPin1, LOW);
            digitalWrite(motorPin2, HIGH);
            delay(delayTime);
            digitalWrite(motorPin2, LOW);
            digitalWrite(motorPin3, HIGH);
            delay(delayTime);
            digitalWrite(motorPin3, LOW);
            digitalWrite(motorPin4, HIGH);
            delay(delayTime);
            }

        • kaanceyhan dedi ki:

          @Özkan son yazdığnız dizilim step motorsun standart çalışması için gereken uygulama zaten.
          önemli olan aynı anda iki tane pinin HIGH olmaması. böyle olduğunda motor bir yere dönemez gır gır ses çıkarır sadece 🙂
          bende bunun videosu vardı sanırım.

  16. Ömer Koman dedi ki:

    özkan çelik o kodun sonucu ne olur bilmiyorum deneyin buraya yazın haber verin. deneme yapacak vaktim ve motor yok ÅŸu anda elimde. iyi çalışmalar… çalışır diye iddianız varsa bir arduino ve motor alıp deneyin yapınca helal olsun derim en fazla…

  17. mustafa çağatay satım dedi ki:

    çok ama çok teşekkür ediyorum, saygılar

  18. mehmet baki dedi ki:

    ULN2003AN elimde yoktur onun yerine ne tür sürücü kullana bilirim acaba?

    • Ömer Koman dedi ki:

      motorun amperine uygun transistor kullan. transistor her evde bulunur zaten.

  19. Furkan dedi ki:

    Selamlar arkadaşlar bu proje elinde hazır olan ya da parayla yapmak isteyen varsa bana ulaşabilir mi ? email: furkans33@hotmail.com

    • Ömer Koman dedi ki:

      işçilik kaç para önerdiÄŸinizi de yazsaydınız belki heveslisi çıkardı hemen…

  20. Burak Akyıldız dedi ki:

    herkese kolay gelsin ben ardunıo uno ile encoderli dc motor sürme işlemi için yazılım gerekıyor matlab sayesınde bu yazılımla motoru ıstedıgım devırde ve ıstedıgım sekılde calıstırabılecegım fakat ardunio için kod yazma kısmında takıldım baya yardım ederseniz teşekkur ederım çok..

  21. Ömer Koman dedi ki:

    sitede matlab ve simulink için yazı var, oradan arduinoya kod yazmaya gerek kalmadan kendisi tüm kodu yazıp arduino içine atıyordu oraya bir bak…

  22. Burak Akyıldız dedi ki:

    teşekkur ederım ömer bey pekı bu encoder okumayı nasıl yapabılırım encoder 3 cıkısım var bunları motor shıeld da nereye baglıyacagım proje verdıler fakat ben makına muhendıslıgı okuyorum fakat bu makına muhendıslıgınden cok mekatronıke kacıyor zannedersem o yuzden pek bılgım yok yardım edersenız sevınırım

  23. Ömer Koman dedi ki:

    arduino kullanacaksanız google dan “arduino motor encoder” diye bir aratın hangisi sizin motorunuz ve nasıl bir çıktısı var bilmeden bir ÅŸey yapamayız. bazıları sadece puls verir motor devrini okursunuz bazıları motor baÅŸlangıç pozisyonunda deÄŸiÅŸik bir pals verir bazıları hepsini birden yapar hatta yön bilgiside palsin uzunluÄŸu ile ifade edilebilir. her motor uretıcısının veya motorun kullanım yerıne gore dızayn edilir veya alınır bu özellikler. motorunuzun datasheetını bulun enkoder cıkışlarının ne olduÄŸunu öğrenip google dan arduino ve hatta motorunuzun kodunu yazıp bir aratın. biz de öyle yapıyoruz çoÄŸu zaman…

  24. hasan dedi ki:

    merhaba size bir sorum olacak benim elime 8 uçlu bir step motor geçti de onu nasıl 6 uçlu olarak kullanabilirim.Yardım edebilirmisiniz?

  25. Hakan ARAS dedi ki:

    Hep microchip mcu larla uğraşmış biri olarak arduino ile yeni tanıştım. Arduino Nano ile başlangıç yaptım. DSLR tip bir kameram var ve bununla düzgün videolar çekmek için bir slider yapmak istiyorum. Mekanik kısmını tamamladım fakat kamera ilerlemesini elimle iterek sabit hızla yapamadığım için motor eklemek istedim.
    Daha önce hiç step motorla uğraşmadım. Elime eski bir yazıcıdan sökülmüş 23lm-c355-p6v bir step motor geçti. 4 uçlu olduğu için bipolar step motor olduğunu öğrendim. Bilip bilmeden ULN2803 ile sürmeye çalıştım gram hiç bir hareket oluşmadı.. Ertesi gün L293 buldum onunla sürdüm bir hareketlenme oldu fakat bir tur döndükten sonra motor sapıtıyor titreme yapıyor. Kullandığım program şudur:

    //Birinci bobinin birinci ucu motorPin1
    //Birinci bobinin ikinci ucu motorPin2
    //Ä°kinci bobinin birinci ucu motorPin3
    //Ä°kinci bobinin ikinci ucu motorPin4

    int motorPin1 = 9;
    int motorPin2 = 10;
    int motorPin3 = 11;
    int motorPin4 = 12;
    int delayTime = 50;

    void setup() {
    pinMode(motorPin1, OUTPUT);
    pinMode(motorPin2, OUTPUT);
    pinMode(motorPin3, OUTPUT);
    pinMode(motorPin4, OUTPUT);
    }

    void loop() {
    digitalWrite(motorPin1, HIGH);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay(delayTime);
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, HIGH);
    digitalWrite(motorPin4, LOW);
    delay(delayTime);
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, HIGH);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay(delayTime);
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, HIGH);
    delay(delayTime);
    }

    Bobinleri ölçtüm dirençleri 1.8 ohm.. NEMA23 tipi motor. L293 MOTOR beslemesi olarak 12 volt veriyorum oradamı hata yapıyorum. İşin içinden çıkamadım. Bir çözüm bulalım hep beraber slider yapalım 🙂

    • Ömer Koman dedi ki:

      şuradaki şema kutuphane ve koda bir baksan belkı olur, sonra kendi ozgun kodunu yazarsın. senın kod duzgun gorunuyor ama belkı sıralamada bır sorun vardır bilemedım

    • MEHMET dedi ki:

      pın 2 ile pın 3 ün sırasını deqistir çaLısacaktır

  26. Enes UÄŸuroÄŸlu dedi ki:

    Merhabalar,

    Bilgiler için çok teşekkürler,
    Benim bir sorum olacak, projem için arduino mega ile 6 adet stepper motoru kontrol etmek istiyorum. Ancak ÅŸu anda en fazla bulabildiÄŸim RepRap’ın RAMPS isimli bir shieldi var ve 5 adet sürücü içeriyor. Elimde 6 adet Polulu A4988 Step motor sürücüsü var bunları Arduino mega ile kullanıp nema17 step motorlarımı sürmem mümkün mü?

  27. BURAK dedi ki:

    benim 4 kablolu step motorum var bu şemada 5 kablolu motor var ve benim motorum 30 volt luk motor bu yüzden çalımıyo proje ödevi için acil lazım yardımcı olursanız sevinirim .

    • Ömer Koman dedi ki:

      ben olsam robotistandan bir step motor alır geçerim 7tl 9tl ve 12 tl ye var… sonra vaktin olunca düzeltirsin

  28. Yusuf dedi ki:

    Şematik çizimleri hangi programla yapıyorsunuz

  29. Abdullah dedi ki:

    İyi günler benim elimde leadshine m415b step sürücü ve nema 17 motor var.Arduino uno ile sürmek istiyorum ama internette bağlantıları ve örnek kodunu bulamıyorum yardımcı olursanız sevinirim
    teşekkürler

    • Ömer Koman dedi ki:

      http://www.kucukmucit.com/nasil-calisir/step-motor-suruculeri/ şurada bağlantı şemesı var sanırım. pull+, dir+, ena+ pinlerini vcc bağlıyorsun arduino 5v yani.
      diğer pull- bacağını 1-0 yapınca bir adım ileri gider. dir- bacağını 1 yapınca bir yöne 0 yapınca ters yöne adım atar. ena-pinini 1 yapınca butun bu komutlarınız geçerli olur.

  30. barış dedi ki:

    Merhaba ben aynı anda iki tane step motoru zıt yönlerde çevirmek istiyorum bunun için kodlarda ve bağlantılarda ne gibi değişiklikler yapmam gerekiyor?

    • Ömer Koman dedi ki:

      yazıdaki manyetik hareket ve şekilleri anlamamışınız demekki yapılan maotor sargılarına sırası ile elektrik vermek aslında. kopyala yapıştırdan ziyade neden nasıl yapılırı da merak etmek lazım. arduino kültürü bunu gerektirir.
      yazıdaki loop kısmında yazılanlar bir yöne dönüşü sağlar yukarıdan aşağı yazılanlar bir yöne dönüş akımlarını düzenenler aşağıdan yukarı yazarsan ters yönde hareket sağlarsın.

  31. Semih Akbas dedi ki:

    Merhaba,

    Volkan Bey öncelikle faydalı makaleniz için çok teşekkürler.
    Arduino ve stepper motor konusunda yeni olduÄŸum için sorum basit gelebilir. Bu örnekte stepper motorun her delay öncesinde 1 adım (yani 400 adımlı motor için 0.9 derece) ilerlediÄŸini söyleyebiliriz deÄŸil mi? Bu durumda kafamı karıştıran konu ÅŸu; motor sadece 2 yöne hareket edebildiÄŸine göre neden 4 adet input pin’i bulunuyor 2 adet pin yeterli deÄŸil midir, 4 pin olması nasıl bir özellik saÄŸlıyor motora?

    Teşekkürler,

    • Ömer Koman dedi ki:

      ilkokullarda eskiden bi deney yapardık bir çivinin etrafını telle sarar bobin yapardık sonra bu bobine pille voltaj verinde demir çivi mıknatıslanır ve masadaki küçük çivi ve toplu iğneleri toplardık şimdi o deneyler pek yapılmıyor okullarda sanırım. motorda kullanılan ve yukarıdaki resimden de anlaşıldığı gibi en az 4 bobin motorun çevresinde sarılıdır, her bobin seri olarak bir birine bağlıdır ve her bobinin kesişim noktalarından da ek çıkış verilmiştir. bu sargılara elektrik verilerek oluşturulan akımla motor dairesel olarak hareket ettirilir.

  32. eren dedi ki:

    28 BYJ-48 redüktörlü step motor ve ULN2003A step motor sürücü kartı kullanıyorum.
    motoru çalıştırdım sorun yok ama gücü kesip bağladığımda kaldığı yerden tam tur atıyor. Benim istediğim 360 derece dönerken 300 derecede gücü açıp kapattığımda tekrar 60 derecesini tamamlaması ve sisteme devam etmesi. Bunu nasıl yapabilirim

    • Ömer Koman dedi ki:

      yazılım her başladığında motoru başlangıç noktasına getirmeye çalışıyordur. kodun başındaki resetleme başa döndürmeyi iptal edersen olur. ileride karışıklık olmaması için epromada o andaki adım sayısını kaydedersen iyi olur istemediğin bir yerde elektrik kesilirse ne kadar gideceğini bilemezsizn senkronizasayon kaybolur. diyelim kalan 60 adımdan 20. adımda elektrik gitse tekrar açtığında 60 adım atmaya kalkarsan bu sefer 20 adım dazla fazla gelecek filan.

  33. aydın dedi ki:

    4,5 veya 6 ayaklı step motorlar arasındaki fark nedir hangisi daha hassastır hangisini neye göre tercih etmeliyiz bununla ilgili bilgi verebilirseniz sevinirim

  34. Huseyin dedi ki:

    Herkese merhabalar. 10 ila 50 step motoru tek bir surucu ile surmek istiyorum. buton a 1 sefer basinca hepsi tam tur dönüp duracak. Butonu biraktigimda degil bastigimda calismasi lazim. Ve tekrar buton dan bilgi girisini en az 10dk sonra kabul etmesi lazim. Kullanmam gereken tum malzemeler i ve kodunu yazabilirseniz cok dua ederim..

  35. jacksparrowia dedi ki:

    arkadaşlar bizim oğlana sallanan beşik yapacağım ve aşağıdaki kodları kullanmayı düşünüyorum malzemeler elimde sadece kontrolü için yardım istiyorum

    int motorPin1 = 8;
    int motorPin2 = 9;
    int motorPin3 = 10;
    int motorPin4 = 11;
    int delayTime = 500;

    void setup() {
    pinMode(motorPin1, OUTPUT);
    pinMode(motorPin2, OUTPUT);
    pinMode(motorPin3, OUTPUT);
    pinMode(motorPin4, OUTPUT);
    }

    void loop() {
    digitalWrite(motorPin1, HIGH);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay(delayTime);
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, HIGH);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay(delayTime);

    }

    sürekli 90 derecede ileri geri gitmesini istiyorum fakat dc motor ile yapmadım bu işi hızını kontrol etmek için bir potansiyometre bağlanabilirmi bağlanırsa kodlar nasıl olacak ya da sadece kodlarla beşiğin sallanma hızı ile oynayabilirmiyim. ya da girişe anahtar eklesem anahtara her bastığımda farklı hız aralılarına geçse böyle bir sistemi nasıl kurarım (kodları nasıl yaparım) yardımcı olursanız sevinirim. sabaha kadar beşik sallamaktan canım çıktı :))

    • Ömer Koman dedi ki:

      forumdan sorarsanız daha çabuk sonuca gidebilirsiniz. bence önce bir motoru çalıştırın hızını da ayarlarsınız

  36. ayse dedi ki:

    merabalar, bu projeyi yapmak istiyorum .projenin orjinal kodunu paylaÅŸabilir misiniz

    • Ömer Koman dedi ki:

      yazıda belirtilen kodu arduino IDE ye kopyalaıp çalıştırabilirsiniz. yeteri kadar orjinaldir. volkan arkaaşımız arduino konusunda uzmandır yazdığı kodda sorun yoktur.

  37. Deniz dedi ki:

    Çok değerli bilgiler için teşekkürler. Benim bir sorum olacak . Bir proje için bir step motoru her 10 saniyede bir diğer yöne çalıştıracak ve torkunu ayarlayabileceğimiz bir sürücü yapılabilir mi? Basit bir çırpıcı şeklinde bir kimyasal karıştırıcı olarak kullanılacak. Tek isteğimiz bu sürücünün bunu otomatik yapabilmesi. Yurtdışı sitelerde LCD panelli olanları var ancak ülkemizde maalesef son kullanıcıya hitap edecek şekilde tasarlayabilen bir firma ya da site yok maalesef. Ya Elektronik Mühendisi ya da yazılımcı olmak şart. Teşekkür ederim. Bir link örneği : http://www.robotshop.com/en/stepduino-arduino-stepper-motor-controller.html

    • Ömer Koman dedi ki:

      tr de proje ve iş yaptıranlar da yeteri kadar mühendisin emeğine değer biçemediği için yapılan işler hep kısa süreli ve kalitesiz oluyor yada bitmiyor ve bıkkınlık oluşuyor işler ölüyor. motor sürücüye gelince karıştırma işleminde kullanılacak motoru önce bilmek gerekiyor. kullanılacak mootorun tipine göre sürücü seçmek veya tasarlamak lazım. verdiğiniz linkteki step motor sürücü 1.9A akım sürebiliyor seçtiğiniz motorun özellikleri buna uygun olması lazım

      • Deniz dedi ki:

        Ömer bey teşekkür ederim. Emeğin sömürülmesi konusunda haklısınız. Ancak emekçi emekçiye durumu benzer yaşatınca duygusal olarak bozuluyoruz. Son soru olarak kullanacağımız motor Nema 23 bipolar. 1.9A dediğiniz için çalıştıracağını düşünmüyorum , Peki, Arduino UNO R3 (Yeni Versiyon) ve Arduino Motor Shield Rev3 ile birlikte bu motora istediğimiz hakimiyeti sağlayabilir miyiz aşağıdaki program ile?
        #include

        const int stepsPerRevolution = 40; // change this to fit the number of steps per revolution
        // for your motor

        // initialize the stepper library on the motor shield
        Stepper myStepper(stepsPerRevolution,12,13);

        // give the motor control pins names:
        const int pwmA = 3;
        const int pwmB = 11;
        const int brakeA = 9;
        const int brakeB = 8;

        int previous = 0;

        void setup() {
        Serial.begin(9600);
        // set the PWM and brake pins so that the direction pins // can be used to control the motor:
        pinMode(pwmA, OUTPUT);
        pinMode(pwmB, OUTPUT);
        pinMode(brakeA, OUTPUT);
        pinMode(brakeB, OUTPUT);
        digitalWrite(pwmA, HIGH);
        digitalWrite(pwmB, HIGH);
        digitalWrite(brakeA, LOW);
        digitalWrite(brakeB, LOW);
        // initialize the serial port:
        Serial.begin(9600);
        // set the motor speed (for multiple steps only):
        //myStepper.setSpeed(500);
        }

        void loop() {

        //Get Motor up to 500 speed and turn 500 times / Total turns 2030
        myStepper.setSpeed(400);
        myStepper.step(30);
        myStepper.setSpeed(500);
        myStepper.step(2000);
        //Slow Motor down and stop
        myStepper.setSpeed(300);
        myStepper.step(10);
        myStepper.setSpeed(200);
        myStepper.step(10);
        myStepper.setSpeed(100);
        myStepper.step(10);
        delay(1000);

        //Get Motor up to 500 speed and turn 500 times / Total turns 2030
        myStepper.setSpeed(400);
        myStepper.step(-30);
        myStepper.setSpeed(500);
        myStepper.step(-2000);
        //Slow Motor down and stop
        myStepper.setSpeed(300);
        myStepper.step(-10);
        myStepper.setSpeed(200);
        myStepper.step(-10);
        myStepper.setSpeed(100);
        myStepper.step(-10);
        delay(1000);

        }

        • Deniz dedi ki:

          Diğer husus ise, sizin gibi yardımsever insanları daha fazla cahilliğimizle yormamak için aşağıdaki linke benzer Türkçe anlatımlı sitelerimiz mevcut mudur? Daha doğrusu programlama kısmı haricinde bir nebze plug&play tarzı güzel anlatımı olan.

        • Ömer Koman dedi ki:

          nema23 motorun 1A den baÅŸlayp 3A kadar modeli var 2A lik modeli ise yukarıda verdiÄŸiniz linkteki driver ile çalışması lazım motorların beslemesini ayrı kaynaktan beslemek lazım. tam anlatımlı siteler turkçe olarak bulmak zor. tek tuk bazı projeler için detaylı fotoÄŸraflı sitelere denk geliyor ama kaydını tutmuyorum. siz en iyisi googledan arduino+”aradığınız özellik” ÅŸeklinde aratın iÅŸe yarar ÅŸeyler mutlaka gelir. bizde öyle yapıyoruz çoÄŸu zaman

  38. onur dedi ki:

    Abi ben step motoru mm olarak dondurmek istiyorum gerekli kod ve semayi verir misiniz pic le olursa da sevinirim…

    • Ömer Koman dedi ki:

      yardım etmeye çalıştığımız projelerde insanlarda bir çaba görmek isteriz sıfırdan bir proje başlatamayız buna vaktimiz yok burada gerekli konuları paylaşıyoruz fazlasıysla, buradan faydalanıp ilerletip takılan olursa bildiklerimiz anlatıyoruz. şu videoyu bir izleyin https://www.youtube.com/watch?v=QHe_KwMH_SU

  39. Burak Güneş dedi ki:

    merhaba ömer bey ben ankaradan yazıyorum yazıyla alakalı degil ama sizin bilginize ihtiyacım var benim bir maket projem var. arduino yeni tanıştım kendim elektronik mezunuyum ancak yazılımla simdiye kadar hiç uğraşmadım. benim sizden istegim şu ben arduino mega ile 50 adet ledin bilgisaya ile ayrı ayrı konturol etmek istiyorum. 1 tanesini yaptım ama 50 cıkışıda kullanmam gerekiyor ama ne kadar uğraştıysam bir türlü yapamadım. bana yardımcı olurmusunuz.

    • Ömer Koman dedi ki:

      foruma gelin yapmış denemiş olan vardır. birileri cevap verir merak etmeyin ama siz en azında 5-10 tanesini bağlamaya çalışın. öyle gelin. örnekler zaten basit.

  40. kadir dedi ki:

    merhaba step motor kutuphanesindeki orneği yukleyip çalıştırdığımda motor saat yonunde donuyor fakat saat yonunun tersine donmuyor yine aynı yonde donuyor.Bunun nedeni motordan veya surucudenmi olabilir yardımcı olursanız sevinirim..

    • Ömer Koman dedi ki:

      sıralamayı değiştirin tersten döner
      ben yukarıdaki kodu aşağıya koydum adımları 1-2-3-4 diye not olarak yazdım.
      tersten donmesi için aşağıdaki adım kodlarını tekrar 4-3-2-1 şeklinde sıralayın çalışır.

      void loop() {
      //adım1
      digitalWrite(motorPin1, HIGH);
      digitalWrite(motorPin2, LOW);
      digitalWrite(motorPin3, LOW);
      digitalWrite(motorPin4, LOW);
      delay(delayTime);
      //adim2
      digitalWrite(motorPin1, LOW);
      digitalWrite(motorPin2, HIGH);
      digitalWrite(motorPin3, LOW);
      digitalWrite(motorPin4, LOW);
      delay(delayTime);
      //adim3
      digitalWrite(motorPin1, LOW);
      digitalWrite(motorPin2, LOW);
      digitalWrite(motorPin3, HIGH);
      digitalWrite(motorPin4, LOW);
      delay(delayTime);
      //adim4
      digitalWrite(motorPin1, LOW);
      digitalWrite(motorPin2, LOW);
      digitalWrite(motorPin3, LOW);
      digitalWrite(motorPin4, HIGH);
      delay(delayTime);
      }

  41. Gürkan dedi ki:

    Ömer bey merhabalar ben devreyi kurdum çalıştırdımbutona basınca 1.butona basınca saat yönüne 2. butona basınca saat yönünün tersine çalıştırıyorum sıkıntı yok Sorum şu; BEN BUTONA BİRKERE BASTIĞIMDA MOTOR Örng; 8 tur atsın dursun böylelikle 6 buton bağlayacağım ve her butona ayrı bir tur sayısı vereceğim hangi butona basarsam motor ookadar adım gidecek bununla ilgili denemeler yaptım lakın olmadı birkere bastığımda gidece tur kadar gidip durmasını nasıl yaparım (PLC Yazılımcısıyım normalde ama arduino yazılımı farklı) yardımcı olursanız seviniirm

  42. Ömer Koman dedi ki:

    bir kere motorun bir başlangıç noktası olacaksa oraya bir switch koyup o switch tetiklendiğinde durup beklemesi lazım onu sağlayın daha sonra başlangıçtan itibaren motorun kaç adaımda tur attığını bir sayın yukarıdaki kodda he adımda sayan bir sayaç koyun. daha sonrası kolay 8 tur atacaksa 8 x (turda sayılan adım kadar gideceksin)

    • Gürkan dedi ki:

      Ömer Bey tekrar merhaba sayaç kullanıyla ilgili bir örnek verebilirmiisniz rica etsem

      • Ömer Koman dedi ki:

        //bu değişkenleri en başta tanımla
        int adimsay=0;
        int tursay=0;
        int tursonu=8;

        en yukarıdaki rutinde her adımda aşağıdakileri yazın her adımda kontrol yapman lazım . aşağıdakileri altporgram olarak yazıp her adımda bir kez de çağırabilirsin de ben sizin sayac tanımlayamamanızı anlayamadım program yazmayı biliyormusunuz?

        adimsay=adimsay+1;
        if( adimsay>= 48 )// 48 i salladım siz bunu sayıp belirleyeceksiniz
        {
        tursay=tursay+1;
        if(tursay>=tursonu){
        adimsay=0; tursay=0;
        //burada rutinden çık veya bekle veya bişe yap
        }
        }

  43. Gürkan dedi ki:

    Ömer bey Program dilini daha önce kullanmadım PLC programlama dili farklı ve bununla ilgili bir anlatım yok sayaç kullanımı ile ilgili hiçbir bilgi yok doğru dürüst

  44. Gürkan dedi ki:

    tanımlamayı biliyorum temel olan devrelerin hepsini yaptım (led ,buton,potans ,dc motor,lcd ekran,ama temel bilgilerde tur ve pulse ile ilgili örnekleme hiç yok

  45. Gürkan dedi ki:

    int button_1 = 2;
    int button_2 = 3;
    int motorPin1 = 8;
    int motorPin2 = 9;
    int motorPin3 = 10;
    int motorPin4 = 11;

    int motor_Speed = 78;
    int motor_Step = 50 ;
    int val1 = 0;
    int val2 = 0;
    int adimsay=0;
    int tursay=0;
    int tursonu=100;

    void setup() {
    pinMode(button_1, INPUT);
    pinMode(button_2, INPUT);
    pinMode(motorPin1, OUTPUT);
    pinMode(motorPin2, OUTPUT);
    pinMode(motorPin3, OUTPUT);
    pinMode(motorPin4, OUTPUT);

    }

    void loop() {

    val1 = digitalRead(button_1);
    if (val1 == HIGH)
    {
    adimsay=adimsay+1;
    if( adimsay>= 100 )// 48 i salladım siz bunu sayıp belirleyeceksiniz
    {
    tursay=tursay+1;
    if(tursay>=tursonu){
    adimsay=0; tursay=0;
    if (val1== LOW){
    }
    }
    digitalWrite(13, HIGH);
    digitalWrite(motorPin1, HIGH);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay(motor_Step);
    delay(motor_Speed);
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, HIGH);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay(motor_Step);
    delay(motor_Speed);
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, HIGH);
    digitalWrite(motorPin4, LOW);
    delay(motor_Step);
    delay(motor_Speed);
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, HIGH);
    delay(motor_Step);
    delay(motor_Speed);
    }

    }

    val2 = digitalRead(button_2);
    if (val2 == HIGH)

    {
    digitalWrite(13, HIGH);
    digitalWrite(motorPin4, HIGH);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin1, LOW);
    delay(motor_Speed);
    digitalWrite(motorPin4, LOW);
    digitalWrite(motorPin3, HIGH);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin1, LOW);
    delay(motor_Speed);
    digitalWrite(motorPin4, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin2, HIGH);
    digitalWrite(motorPin1, LOW);
    delay(motor_Speed);
    digitalWrite(motorPin4, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin1, HIGH);
    delay(motor_Speed);
    }
    }

    Yukarda uygualadığ yazılımda tur sayısına göre motorun durması gerek ama birtürlü motor butona birkere bastığımda o tura gelene kadar devam etmiyor butondan parmağımı çekince motorda duruyor nasıl olur bu iş yardımcı olacak bir arkadaş varmı

    • Ömer Koman dedi ki:

      yazdığınız kod sadece butona bastığı zaman çalışacak şekilde yazmışsınız. şöyle düşünün butona bastınız hareket yonunu ve turunu bir değişkene koyun ve hareket başlasın benim verdiğim rutin her adım için yazılacak siz sadece bir step için yazmışsınız bir step bir tur olmaz. foruma da yazın kodu geliştirecek biri çıkar.

    • ahmet dedi ki:

      Hocam aynı projeyi bende yapacağım bittikten sonra paylaşırmısınız.

  46. Zeynal Abidin dedi ki:

    Selam Hocam, öncellikle paylaştığınız kod için çok teşekkür ederim, bu kodu 28BYJ-48
    5v Dc stepper motor için kulladığımda motor sürekli dönüyor, sadece bir tur dönmesini nasıl sağlayabilirim?

  47. yusuf dedi ki:

    slm ömer bey ben bir prpje yapmak istiyorum arduino uno step motoru ve yağmur sensörü kullanmak istiyorum. yağmur yağdığında çamaşırı toplayan bir sistem yapmayı planlıyorum. elamanları sipariş verdim bu gün yarın elime ulaşır fakat ben ardiuno hakkında bir haftadadır araştırma yapıyorum. araştırdığım kadar bilgiye sahibim hiç bir deneyimim yok bana yardımcı olursanız sevinirim.

    • Ömer Koman dedi ki:

      sitede tepede arduinoya giriÅŸ yazılarını bir gözden geçir yol haritası yazımı ve temel baÄŸlantılar yazısını gözden bir geçir incele. piyasadaki türkçe kitaplardan birini almanı tavsiye ederim coÅŸkun taÅŸdemir in kitapları iyidir. ilerledikçe takılıldıkça foruma gel sor bakarız icabına…

  48. Semih dedi ki:

    Sürücü kartsız 5v bir stepper motor u arduino uno ile çalıştıramaz mıyız ? eğer ki çalıştıramıyor isek ULN2003AN entegresi sadece bu iş için tasarlanmış bir entegre mi yani dükkandan ULN2003AN aldığımda ona hiçbir işlem yapmadan direk bağlayacağım öyle mi ?

    • Ömer Koman dedi ki:

      arduino çıkışı en fazla 20ma akım verebilir step motor sargıları ise gücüne göre 200ma-500ma-1A gibi akımlar çeker. bu akımları sürmek için arada bir sürücü transistöre gerek duyulur uln2003 aslında içinde bir çok transistör olan bir sürücü entegre sadece motor değil akıtılacak akıma göre selenoid veya motor veya power led gibi yukleri surmeye de yarar. uln2003 aldıktan sonra bunların bağlanma şekillerini şemalarını dikkate almalısın.
      ama istersen cep telefonlarındaki titreşim motorlarını(nohut kadar bişeydir) direk ardino ile sürebilirsin onlar fazla akım çekmez bir arduino pinine bağlar kullanırsın. elektronikte kurallar vardır hiç birşey hiç bir malzeme luzumsuz yere kullanılmaz mutlaka gereklidir. sırf masraf olsun diye malzeme veya shield veya sürücü kullanılmaz.

      • Semih dedi ki:

        Bir makine mühendisi adayı olarak elektronikten pek fazla anlamam. Harika açıkladınız. Teşekkürlerimi sunuyorum..

  49. sultan dedi ki:

    Merhaba benim mesajı okumak için grup ve program montaj Ãœzgünüm, “Ben Türkiye’de gurbetçi ikamet, ben teÅŸekkür ederim Alardino satın açısından size yardımcı olmak gerekiyor, mesaj metni smelters yazılı olarak bazı hatalar olabilir bana Alatram kabul
    Muhammed Sultan

  50. Semih dedi ki:

    Hocam haftalardır uğraşıyorum L298, ULN2003, ULN2803 entegrelerini denedim elimdeki bipolar(bipolar mı değil mi pek anlamam ama öyle olduğunu tahmin ediyorum. 5 kablolu ancak kablolardan bir tanesi yüzeyden geliyor sargıların arasından değil. o yüzden gnd a bağlamam gerektiğini düşündüm.) 5v motoru çalıştıramadım. Ancak herhangi bir entegre kullanmadan arduinoya direk bağladığımda çalışıyor. Böyle kullanmaya devam etmem arduino ya zarar verir mi?

  51. ahmet dedi ki:

    Ömer KOMAN hocam bu en baştaki kodlar ile step motor 1 tur atıyo ve sürekli devam ediyo mu?

  52. Ömer Koman dedi ki:

    loop içine yazılan herşey tekrar edilir kodun içindeki sıralama bir tur atmayı sağlar sonra loop başa döner tekrar tekrar tur atmaya devam eder.

  53. AHMET dedi ki:

    Hocam peki bu kodları herhangi bir sürücüye denesek örneğin TB6560-v2.0 bir sıkıntı ?

    • Ömer Koman dedi ki:

      aslında burada anlatılan step motor nasıl hareketlendirilirin anlatımı temel devereyi kurarsan sargıları nasıl elektrıklendıreceğini bilirsen çalışır. bahsettiğiniz motor sürücünün özel bir yöntemi olabilir böyle durumlarda satın almadan önce malzemeyi ve orneklerını ınceleyın genel bır kural özele uymayabilir. şu örneğe bir bakın http://www.instructables.com/id/ARDUINO-UNO-TB6560-Stepper-motor-driver/?ALLSTEPS

  54. samed dedi ki:

    Step motorun beslemesini nerden yapıyoruz. 4 bacağını resimdeki gibi bağladım arkadaki kırmızı kabloyu anlamadım . Teşekkürler

  55. Ömer Koman dedi ki:

    genel kural olarak kırmızı kablo +v dır veya besleme kablosudur. burada kırmızı kablo +5v a baÄŸlanmıştır. breadboard ustunda kırmızıyı takıp etsenız 5v a gıttığı anlaşılıyor…

  56. mecnun dedi ki:

    hocam peki ben bir projemde step motorun kontrolü ile bir plakayı yaklaşık olarak 5 derece 10 derece döndürmek istiyorum kendi kontrolümde olacak şekilde bunu adım sayısı ile yapmam gerekiyor bunu sadece kod kısmını biraz değiştirerek yapabilir miyim yoksa başka yöntemi var mı ya da tavsiyeniz teşekkürler şimdiden.

    • Ömer Koman dedi ki:

      yukarda her adımı bir kere say kaç adım lazımsa hafızada tut yada programda koda işle. en başta da x=0 ve y=0 noktasına kadar motorları geri çek. eskiden yazıcılar ilk açtığında bir kafa sallardı yada ploterler hala oyle başlangıç noktasına kafayı getirir yoksa referansın kayarsa saçma yerlere döner motorlar, başlangıç noktalarına da 2 tane switch koyup oku işi sağlama al derim.

      • ferit dedi ki:

        hocam ben 3 tane aynı step motoru ayrı sürücüleriyle birlikte arduino ile sürdüm fakat 3 motora da aynı işlemleri uygulamama aynı konumda başlatıyorum fakat durduğunda 3 ü aynı konumda olmuyor az bi konum farkları ortaya çıkıyor bunun sebebi ne olabilir ve çözüm için ne önerirsiniz.

        • Ömer Koman dedi ki:

          her motoru ayrı ayrı başlatın biri bitince diğerine gecin. aynı anda başlatınca aynı anda durduramayabilirsiniz.

  57. Merhaba Ömer Koman,

    Yukarıdaki belittiğiniz uygulamayı proje ödevi olarak düşüyorum.
    Projemde yukarıdaki gibi yapmam için hangi model arduino ve motor kullanmam gerekiyor.
    ULN2003AN bunu nerden temin etmem gerekiyor ve diğer elemanları ?
    Yardım ederseniz sevinirim.

  58. Taha dedi ki:

    neden yeni yazı gelmiyor ???

    • Ömer Koman dedi ki:

      yazarlarımız yaşlandı işe güce çoluk çocuğa karıştılar ben de merak ediyorum (kendim dahil) neden yazmıyorlar. Ben temel konularda yazdım onlarda bayağı azaldı proje yazmmak için o projeyi yapıp özgün şekilde yazmayı seviyorduk buna da sanırım bütçe ve donanım tedariki engel oluyor. Biraz tercume ve hazır projeleri gundeme getırelibiliriz önümdeki aydan itibaren, bir de eskisi gibi seminer yapmayı planladık bu yıl dolmadan. görüşürüz..

  59. Serhat dedi ki:

    Merhaba Ömer bey forum kapalı olduğu için buradan soruyorum kusura bakmayın
    arduino seri haberleşme kesmesi kodlarını biliyormusunuz.

  60. Taha dedi ki:

    bi kaç yazar alın o zaman

  61. yusuf dedi ki:

    hocam arduinoyu nasıl türkçe yapabilirim?

    • Ömer Koman dedi ki:

      hangi dili kurdun zaten menude 4 tane laf turkçe olsa ne olacak? bu teknoleojileri biz geliştirmiyoruz en azından ingilizceyi öğrenmeye gayret edelim teknoloji dili ingilizce oldu artık. çözümün şu; file menusune girip preferences kısmında editor language kısmında hangi dille çalışacaksan onu seçeceksin daha sonra arduinoyu yenıden başlattığında menudeki 4 tane laf seçtiğin dilde gelir.

  62. Taha dedi ki:

    arduino ya yazılım yüklediğim yer var ya sayfa orası Türkçe yani file falan yazmıyor direkt Türkçe ayarlar falan yazıyo sorun olur mu?

    • Ömer Koman dedi ki:

      nereyi kastettiÄŸinizi anlamadım foruma gelip yazın resim paylaşın. bazı menuler iÅŸletim sisteminden gelir dosya açma gibi mesela o formlarda iÅŸletim sistminizin dili neyse o ÅŸekilde gelir. siz bence arduino kodlamaya odakanın daha başınıza neler gelecek bunlar sıradan gelecek ileride size…

  63. ömer can dedi ki:

    bir ardunio uno ile kaç tane motor kontol edebilirim ve nasıl ?

    • Ömer Koman dedi ki:

      foruma gel yapan çok var. servo olarak 6 tane surersin ama normal dc motorsa 14 tane filan suren var sanırım, ama bu çok izafidir bu. sana kaç motor lazım ne tip motorlar sureceksin servo harici motorlar ıcın genelde motor surucu eklentısı takılır o zaman neredeyse 30-40 tane bağlanır işe ve projeye gore cok seçenek var.

  64. Serkan YILDIRIM dedi ki:

    Merhaba, ne zaman step motor kontrolü ile ilgili araştırma yapsam yerli ve yabancı kaynakların genelinde step motoru 1 sn sağa 1 sn sola döndürme projeleri var. Adamlar plotter,cnc,printer yapıyor. Ben mesela her bir step motoru bir pompa gibi kullanmak istiyorum. Genel işleyiş mantığı kokteyl hazırlama robotu gibi. buton 1 e basayım, bir kaç motor aynı anda ya da sırayla belirli işlemleri yapsın. Ama olmuyor. Bilgiler ya bahsettiğim gibi sağa sola dön ya da belirli bir şekle göre gcode üretimi halinde. İstediğim gibi, (hız,step,ayrı motorlar,lcd) kontrol edebilmek istiyorum. Ne önerirsiniz kaynak olarak ?

  65. hocam bn step motorla ultra sonic mesafe sönsörü ile kontrol etmek istiyorum ama bir türlü yapamadım diyelimki motor donuyor sensöre elimi 5 cm yaklastırdımda durup geriye dönmesini istiyorum ama birtürlü başaramadım

    • Ömer Koman dedi ki:

      önce sensor mesafesini ölç sonra motor hareketini yap. sensorde mesafe kritik kalınca motoru durdur sonra yön tayini yap. foruma gel gerekirse programı oraya koy yardım eden olacaktır.

  66. utku dedi ki:

    çizgi izleyen robot için arduino kodlarını yazamadım robot için kod atarmisinız.

    • Ömer Koman dedi ki:

      bizde atacak kod yok ama foruma gelin sorun belki daha onceden yazmış olan vardır.

  67. Hanifi dedi ki:

    Step motoru arduino’nun 5v çıkışı ile beslediÄŸim de saÄŸlıklı bir dönüş alamadım. Bu yüzden step motor için harici bir güç kaynağı kullandım. Sizde de öyle oldu mu acaba?

  68. orhan dedi ki:

    Merhaba cnc shield e drv885 ters takılı halde enerji verilrse drv8825 ve cnc shield yanarmı acaba
    teşekkürler

    • Ömer Koman dedi ki:

      yandı mı da soruyorsun yoksa yakmaya mı niyetin var? yanması birazda nasıl ters bağladığına bağlı komple bilgisayarın usb si dahil herşeyin yanması da mümkün hiç bir şeyin yanmaması da mumkun. çalışmıyorsa entegresini bir telefon tamircisine soktur yenisini tak yada yeni sürücü ile değiştir.

  69. baha dedi ki:

    Abi öncelikle merhaba ben 3 adet cny70 ( devre kurmadan direkt kullanarak) ve L293D motor shield kullanarak çizgi izleyen robot yapmak istiyorum ama bir turlu yazilim konusunu basaramiyorum shield kutuphaneaini kurdum ama karisik geldi bana bir turlu kodlari yazamiyorum bilen arkadaslardan yardim istiyorum nasil yazabilirim yada yazan olursa verebilirmi fakat cny70 leri kuloanirkan bir entegrw falan kullanmada direkt ucunu analog cikislardan vererek bir de unutmusum ARDUİNO ile lutfennn yardim eder misiniz!!!! Abi

    • Ömer Koman dedi ki:

      özelden proje alamıyorum. siz forumdan konuyu açın oldugu kadar yardım gelirse olur, forumda mevcut konuların altına girmeyın ana konu açarak sorun. bu işlerde aciliyet oldumu işler hep karmaşaya suruklenıyor bu durumlarda panik yapmadan işi kucuk bloklara ayrın ve bunları çalıştırarak ilerleyin. çalışmayan kod parçacıklarını sorun programınızdak ibloklar bittikçe proje çok daha sağlıklı olacaktır. hep derim arduino basittir ama kolay değildir.

      • baha dedi ki:

        Değerli yorumunuz için çok teşekkur ederim dediğiniz gibi denemeye başladım baya yararı oldu çok tesekkur ederim.

  70. eyüp dedi ki:

    biz ardino kontrollü c# ile kodlayarak step kontrollü motor yapmak istiyoruz.bilgisayara baÄŸlayarak kontrolünü ordan yapmamız lazım yardımcı olabilirmisiniz.yada satın alabilirmiyiz yardım edin…

    • Ömer Koman dedi ki:

      sitemiz ticari aracılık yapmamaktadır. kodunuzu foruma koyun yapamadıgınız yeri sorun daha kolay sizin için.

  71. Ceyda Özel dedi ki:

    İyi günler.Hava basıncını ölcen bir sensör tasarlıyorum ama eksiklerim var kodlarda.Yardımcı olabilirseniz cok memnun olurum.İşlemci aduc842 sensör bmp180 i2c fonksiyonlu.Kodlar aşagıdakı gibi ama okunan değerin lcd de görülmesi gereken yerler eksik.Şimdiden teşekkür ederim.
    ORG 0000H
    SJMP MAIN
    ORG 0003H
    LJMP EX0ISR

    MAIN:

    MOV IE,#81H
    ;—————LCD 8-BÄ°T———-
    ;LCD’NÄ°N MÄ°KROÄ°ÅžLEMCÄ° BAÄžLANTILARI

    E EQU P3.7 ; PIN 6 ENABLE
    RW EQU P3.6 ;
    RS EQU P3.5 ;/REGÄ°STER SELECT
    DATA EQU P2 ; DATA LÄ°NES

    ;———————————————————-

    ;———————————————————-

    GO:
    GO2: LCALL ADC_AL
    LCALL LCD_RESET
    LCALL LCD_YAZ2
    SJMP GO2

    ;———————LÄ°MÄ°TLERÄ°_AL————————–
    ;KULLANILANLAR=R0,R5,R2,P1

    UPDOWNLIMIT: MOV R0,#50H
    MOV R5,#00H
    MOV P2,#00H

    SCAN:
    SATIR1:MOV P1,#11111110B
    JNB P1.5, BIR
    JNB P1.6, IKI
    JNB P1.7, UC

    SATIR2:MOV P1,#11111101B
    JNB P1.5, DORT
    JNB P1.6, BES
    JNB P1.7, ALTI

    SATIR3:MOV P1,#11111011B
    JNB P1.5, YEDI
    JNB P1.6, ARASEKIZ
    JNB P1.7, ARADOKUZ

    SATIR4:MOV P1,#11110111B
    JNB P1.6,SIFIR
    SJMP SCAN

    ARADOKUZ:LJMP DOKUZ
    ARASEKIZ:LJMP SEKIZ

    SIFIR:
    MOV P2,#03FH;—-0—-
    MOV R2,#0
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE
    LJMP GIRISKONTROL

    BIR:
    MOV P2,#006H
    MOV R2,#1
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE
    LJMP GIRISKONTROL
    IKI:
    MOV P2,#05BH
    MOV R2,#2
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE
    SJMP GIRISKONTROL
    UC:
    MOV P2,#04FH
    MOV R2,#3
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE
    SJMP GIRISKONTROL
    DORT:
    MOV P2,#066H
    MOV R2,#4
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE
    SJMP GIRISKONTROL

    BES:
    MOV P2,#06DH
    MOV R2,#5
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE
    SJMP GIRISKONTROL
    ALTI:
    MOV P2,#07DH
    MOV R2,#6
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE
    SJMP GIRISKONTROL
    YEDI:
    MOV P2,#007H
    MOV R2,#7
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE
    SJMP GIRISKONTROL

    SEKIZ:
    MOV P2,#07FH
    MOV R2,#8
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE
    SJMP GIRISKONTROL

    DOKUZ:
    MOV P2,#06FH
    MOV R2,#9
    INC R5
    CALL YAZ
    CALL BÄ°RSANÄ°YE

    SJMP GIRISKONTROL

    GIRISKONTROL2:LJMP SCAN
    GIRISKONTROL:
    CJNE R5,#04H,GIRISKONTROL2
    MOV R0,#50H
    RET

    ;————-OKU——————
    ;Buraya sensör okuma kodları gelecek ???

    ;———-LCD_YAZ————–
    ;KULLANILANLAR=50H,51H,52H,53H,54H,55H,56H

    LCD_YAZ1:

    LCALL BÄ°RÄ°NCÄ°SATÄ°R

    LCD_YAZ2:
    LCALL Ä°KÄ°NCÄ°SATÄ°R

    MOV A,#’B’
    LCALL DATAGONDER
    MOV A,#’A’
    LCALL DATAGONDER
    MOV A,#’S’
    LCALL DATAGONDER
    MOV A,#’I’
    LCALL DATAGONDER
    MOV A,#’N’
    LCALL DATAGONDER
    MOV A,#’C’
    LCALL DATAGONDER
    MOV A,#’=’
    LCALL DATAGONDER

    MOV A,54H
    ADD A,#48
    LCALL DATAGONDER
    MOV A,55H
    ADD A,#48
    LCALL DATAGONDER
    MOV A,56H
    ADD A,#48
    LCALL DATAGONDER
    RET
    ;————YAZ———————–
    ;KULLANILANLAR=50H,51H,52H,53H,60H,61H

    YAZ: MOV A,R2
    MOV @R0,A
    INC R0
    CJNE R0,#54H,YAZ1

    MOV A,50H
    MOV B,#10
    MUL AB
    ADD A,51H
    MOV 60H,A

    MOV A,52H
    MOV B,#10
    MUL AB
    ADD A,53H
    MOV 61H,A

    YAZ1: RET

    ;———–BÄ°RSANÄ°YE—————-
    ;KULLANILANLAR=R3,T0

    BÄ°RSANÄ°YE:MOV TMOD,#01H
    MOV R3,#100
    LOOP:MOV TH0,#(-10000)
    MOV TL0,#(-10000)
    SETB TR0
    JNB TF0,$
    CLR TF0
    CLR TR0
    DJNZ R3,LOOP
    RET

    ;———–LCD FONKÄ°SYONLARI———–
    ;KULLANILANLAR=DATA(P2),RS,RW,E,R6,R4

    LCD_RESET:

    MOV DATA,#38H
    CLR RS
    LCALL CLOCK
    LCALL DELAY
    MOV DATA,#38H

    CLR RS
    LCALL CLOCK
    LCALL DELAY
    MOV DATA,#38H
    CLR RS
    LCALL CLOCK
    LCALL DELAY
    MOV DATA,#3CH ;LCD FONKSİYONU SEÇME

    CLR RS
    LCALL CLOCK
    LCALL DELAY
    MOV DATA,#0CH

    CLR RS
    LCALL CLOCK
    LCALL DELAY

    MOV DATA,#06H
    CLR RS
    LCALL DELAY
    LCALL CLOCK
    RET

    LCD_RESET2:MOV DATA,#01H
    CLR RS
    LCALL CLOCK
    LCALL DELAY
    RET

    DATAGONDER:MOV DATA,A
    SETB RS
    LCALL CLOCK
    LCALL DELAY
    RET

    BÄ°RÄ°NCÄ°SATÄ°R:MOV DATA,#128
    CLR RS
    LCALL CLOCK
    RET

    Ä°KÄ°NCÄ°SATÄ°R:MOV DATA,#192
    CLR RS
    LCALL CLOCK
    RET

    CLOCK: CLR RW
    CLR E
    LCALL CLOCK2
    SETB E
    LCALL CLOCK2
    CLR E
    LCALL CLOCK2
    RET

    CLOCK2: MOV R6,#10
    DON: NOP
    NOP
    NOP
    NOP
    NOP
    DJNZ R6,DON
    RET

    DELAY: MOV R4,#5
    MOV TMOD,#01H
    DONG2: MOV TH0,#HIGH(-10000)
    MOV TL0,#LOW(-10000)
    SETB TR0
    JNB TF0,$
    CLR TF0
    CLR TR0
    DJNZ R4,DONG2
    RET

    EX0ISR:
    ACALL LCD_RESET2
    LCALL UPDOWNLIMIT
    LCALL ADC_AL
    LCALL KARSÄ°LASTÄ°R
    LCALL LCD_RESET
    LCALL LCD_YAZ1
    RETI

    • Ömer Koman dedi ki:

      size oncelikle yazının konusu ile alakasız bir kodu buraya koyarak bizi nasıl bahtiyar ettiniz anlatamam. buraya step motor için gelenleri de ayrıca ÅŸaşırttığınız içinde teÅŸekkürü borç biliriz. kızım senın bu yazdığın kodun arduino ile ne alakası var yarısı assemler yarısı picbasic gibi bir ÅŸey sen nereden geldin böyle ÅŸaÅŸkın ÅŸey. foruma gel sor. hey alllahım yaa seçip seçip yolluyorsun bunları siteye sabrımı mı deniyorsun anlamadım…

  72. ceyda dedi ki:

    Yanlış yere yazdığım için öncelikle özür dilerim.foruma yazmasını ben de biliyorum ama yanlıslık olmus herkes hata yapabilir ama bu sekilde konuşmanız da gerekmez.Neyse rahatsızlık için kusura bakmayın.

    • Ömer Koman dedi ki:

      hayat boyle ilerlerken herşeye dıkkat etmek zorundayız. verdiğiniz kodu arduinoya nasıl yukluyorsunuz? hiç arduino kodu gordunuz mu?

  73. Hüseyin Ozan ERDOĞAN dedi ki:

    Merhaba,
    Arduino mega 2560 kullanarak Nema 23 stepper motor sürmem gerekmekte.Elimde olan motor sürücüleri ise A4988 ve ULN2003.Ancak bağlantı şeması bulamadığım için bağlantı kısmında zorlanmaktayım.Bu konua yardımcı olur musunuz?

    • Ömer Koman dedi ki:

      verdiÄŸiniz malzemeler oldukça yaygın kullanılıyor baÄŸlantı ve kod bulmanız mumkun biraz daha google araÅŸtırın. foruma gelin sorun yapanlar var…

  74. mehmet murat demir dedi ki:

    temel olarak burada standart bir sürme yani 1 adım için kodlar yazılmış c den pek anlamasamda vb.net ten vasatın biraz üstünde anlamamla kodları çözebiliyorum. mega yı yeni sipariş verdim daha önce pic programlayarak ve transiztörlerle sürmüşlüğüm var ardiuno biraz daha basitleştirilmiş gibi pic kodları aha karışıktı sanki :).
    bakalım ilerlemeyi becerir ve üye olacak kadar başarı gösterirsem forumdada aktif olmaya çalışacağım.
    ek not: bazı step motorlarda çeyrek , yarım ve 3 çeyrek adım var sallıyorum 12 güç 34 bekleme mantığı genelde 4 kabloda daha karaşık ama 5 kabloda gayet kolay

  75. Hüseyin Ozan ERDOĞAN dedi ki:

    Merhaba,
    Arduino mega 2560 ve CWD556 motor dürücüsü kullanarak Nema 23 stepper motor sürmekteyim.Ancak kod yazılımında sorun yaşamaktayım.Kullanmış olduğum motoru ters yönde hareket ettirememekteyim.Aşağıda kullandığım kodlar yazılı.Forum da cevap bulamadığım için buraya yazıyorum.Teşekkür ederim.

    void setup() {
    pinMode(X_STEP_PIN , OUTPUT);
    pinMode(X_DIR_PIN , OUTPUT);
    pinMode(X_ENABLE_PIN , OUTPUT);
    digitalWrite(X_ENABLE_PIN , LOW);
    }

    void loop () {
    if (c100 && c<=200) {
    digitalWrite(X_DIR_PIN , LOW);
    }

    else{
    delay(1000);
    c=0;
    }
    c++ ;

    digitalWrite(X_STEP_PIN , HIGH);
    delay(1);
    digitalWrite(X_STEP_PIN , LOW);
    }

  76. Hüseyin Ozan ERDOĞAN dedi ki:

    Kodu yukarıda eksik yazmışım.

    #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

    int c=0;

    void setup() {
    pinMode(X_STEP_PIN , OUTPUT);
    pinMode(X_DIR_PIN , OUTPUT);
    pinMode(X_ENABLE_PIN , OUTPUT);
    digitalWrite(X_ENABLE_PIN , LOW);
    }

    void loop () {
    if (c100 && c<=200) {
    digitalWrite(X_DIR_PIN , LOW);
    }

    else{
    delay(1000);
    c=0;
    }
    c++ ;

    digitalWrite(X_STEP_PIN , HIGH);
    delay(1);
    digitalWrite(X_STEP_PIN , LOW);
    }

    • Ömer Koman dedi ki:

      kodunda DIR_PIN sadece tek yonde kullanmışın digitalWrite(X_DIR_PIN , LOW);
      birde digitalWrite(X_DIR_PIN , HIGH);
      olması lazım diğer yon için

  77. Serkan ASLANBAY dedi ki:

    Merhabalar 2.8V 1.68A 1.65ohm Step Motor u L293d motor shield ile sürebilirmiyim. Shield 0.6 ampere kadar destekliyor. Motor etiketi yukarıdaki gibi fakat ben 2.8 volt değil 9- 12 volt kullanacağım. sizce arduino yada shield zarar görürmü ?

    • Ömer Koman dedi ki:

      ben hiç denemedim motora gereğinden fazla voltaj vermeyin buyuk ihtimal kavrulur sargılar yanarken hem shilde hemde arduinoya zarar verebılır. siz yinede bizim foruma sorun belki kullanan olmuştur uygun motor surucu onerisi gelebilir.

  78. Türker kılınç dedi ki:

    Merhaba. Kamera için dolly slider yaptim. Bu kayan mekanizma 1 saatte 2 m lik mesafe ilerleyecek. Arduino yu aldım ama düz dc motor bağladım. Sanırım bunun için step motor gerekiyor. Kodlama için olsun devre kurulumu için bir yer bulamadım. Bana yardımcı olabilecek olan var mı ?

    • Türker kılınç dedi ki:

      Sistemim bluetooth ile telefondan kontrol edilebiliyor. Illa 2 metreyi 1 saatte gidecek hali yok. Yarım saatte de gidebilir 15 dk da da. Bunun için ne yapabilirim işte

  79. Emir dedi ki:

    İyi günler! Hocam ben iki step motorla devre yapacam biri düz diğeride tersten dönecek. Kodlamalar hakkında yardımcı olursanız sevinirim. İlk projem!!

    • Ömer Koman dedi ki:

      foruma gelin yazın. step motorları bağla kodunu koy olmayan kısmına bakalım.

  80. ali dedi ki:

    kodları ve pinleri aynı şekilde kullandığım zaman step in bir tam adımını net bir şekilde göremiyorum.ama 1 dakika sonra motora baktığım zaman rulmanın yerinde bir değişiklik olduğu beliriyor.sebebi ve bir tam adımı nasıl yazacağımı açıklayabilir misiniz?!?

  81. Ömer Koman dedi ki:

    step motordaki adım denen şey loop kısmı bir kez çalıştığında motorun değiştirdiği açıdır. yukarıdaki rutin 500ms yani yarım sanıyede bir adım atar bunu hızlandırmak için delaytime değerini çok düşürebilirsiniz. eğer step motor reduktorluyse bir oranı vardır bu 1:200 gibi olabilir. yani 200 adımda 1 adım atacaktır, yani bir adım atmak için çok fazla adım atması gerekebilir. koddakı delay satırını kaldırıp denersenız bıraz daha hızlı olayı takıp edebılırsınız.

  82. Hakan Er dedi ki:

    Selam.
    Arduino ve step motoru ile basit bir proje yaptım. Yatay bir eksen üzerinde bir çeşit metre. Verdiğim ölçü kadar mil üzerindeki bir parça hareket ediyor. Amaç profil kesmek için.
    – Åžu anda metrenin ilk pozisyonunu belirlemek için ya baÅŸtaki yada sonraki stop switche kadar gitmesi gerekiyor. Fakat bu durumda milimetrik hatalar oluÅŸuyor.

    – Daha sonra switchleri sadece güvenlik için kullanmaya baÅŸladım ve motorun o anda kaçıncı turda olduÄŸunu EEPROMa yazdırdım. Åžu anda her hangi bir sorun yok.

    Aklıma takılan soru, EEPROM’un 100.000 defa yazılabilmesi. Bu sorunu nasıl aÅŸabilirim.

    • Ömer Koman dedi ki:

      arduinoyu yedekleme amaçlı pille de besleyebilirsin enerji kesilmesine fırsat vermeyin tur değerlerini eeprom yerine hafızdaki bir değişkende tutmayı deneyebilirsiniz. foruma da gelin sorun.

  83. irfan dedi ki:

    selam
    arduino ile yeni tanıştım internette yaptığım araştırmalar ile biraz bilgi sahibi oldum şu an bile basit olan led yakma söndürme işlemini yapıyorum
    hobi olarak kafamda şöyle oluşturduğum bir projenin kadlarını nasıl yazarım orada kafa durdu 12 vdc motoru ileri yönde çalıştırmak istiyorum ve bir adet swich varmesela 20 defa swiche çarptığında motor dursun belli zaman sonra geri çalışsınaynı swiche tekrardan 20 defa çarpınça geri çalışma dursun zamanı beklesin tekrardan ileri çalissın bu dönğü için nasıl kaod yazmalıyım
    voıd setap apin mode 1 butoninput pin 2 röle output1 pin mode output3 röle 2 ile başlasam
    voıd loop ada işte gerisi kopuyor ne yazmalıyım delay kullanacampin2 low ,delay pin3low delay gibi o konuda yardımlarınızı bekliyorum herkese iyi çalışmalar
    elektrik teknisyeniyim otomasyonla uğraştığımdan bazı konular yabancı gelmiyor

    • Ömer Koman dedi ki:

      buradakı yazı step motor surmeyı anlatıyor basit 2 pinli motor sureceksenız motor surucu kartı almanızda fayda var cunku motoru her ıkı yonde de hareket ettırmek ıstıyorsunuz bunun için motoru bır h-bridge devre ıle surmenız lazım motor suruculerde bu devre hazır oldugundan yapmanız daha kolay olur. boyle bır devre kurduktan sonra gerısı yazılım becerınıze kalıyor projenızı yapabılırsınız. forum kısmına da gelın.

  84. Elif dedi ki:

    Ä°yi günler,arduino ve step motorla ilk defa çalışma yapıcam.Benim projemde step motoru tuÅŸ takımına göre ara ara durdurup ara ara hareket ettirmeye dayanıyor bunun için kodlarda ne gibi deÄŸiÅŸiklik yapmam gerekiyor?Åžimdiden teÅŸekkürler…Ä°yi çalışmalar…

    • Ömer Koman dedi ki:

      projeler adım adım gerçekleitirilir once yukarıdaki kodları test etmeniz lazım yukarıdaki programın loop ıcındeki kodlar sadece 1 adım atmasını saÄŸlar loop içinde oldugu ıcın devamlı bu iÅŸlemi tekrarlar. siz butona basınca hareket etmesini istiyorsanız buton kodunuzun içine bu hareket kodlarını taşımanız yada bu kodu orneÄŸin “MotorAdim” diye bır alt rutine taşıyıp rutini her cağırdıgınızda bır adım hareket edecektir. yukarıdaki kod bir yone hareketı saÄŸlar siz diÄŸer yone hareket için bu sefer kodları alttan yukarı doÄŸru uygulayacaksınız. bazı motor suruculerde bu iÅŸlemleri kendı donanımı içinde halleder siz sadece motor donus yonu ve adım komutuu vermenız yeterli olabılır o zaman o surucuye uygun kodları kullanmanız lazım onceden araÅŸtırma yaparsanız ıyı olur.

  85. teknotasyon dedi ki:

    benzer bir çalışma

    https://www.youtube.com/watch?v=Iuagv6XbOik

  86. Tunahan dedi ki:

    arduino hakkında kendimi fazlasıyla geliştirmek istiyorum şuan makine mühendisliği 1. sınıf öğrencisiyim nasıl bir yol izlemem gerekiyor bu ekipmanların çoğunu temin edebileceğimi de sanmıyorum sadece teorik gitsem kendimi geliştirebilir miyim ? yardımcı olabilir misiniz? teşekkürler

    • Ömer Koman dedi ki:

      arduino uno edinin 15-20 tl ye bulabilirsiniz en azından eliniz alışır program yazma yukleme ve hesaplamalar yapmayı çalıştırmayı öğrenirsiniz. daha sonra aklınızda bir proje varsa biraz internetten araştırıp nasıl yapılmış bir bakın malzemeleri araştırın foruma gelin sorun yavaş yavaş ilerletirsiniz.

  87. selim can Kavvas dedi ki:

    Hocam iyi geceler elimde 1er adet
    arduino uno
    https://www.robotistan.com/arduino-uno-r3-klon-usb-kablo-hediyeli-usb-chip-ch340
    drv8825 step motor sürücü kartı
    https://www.robotistan.com/drv8825-step-motor-surucu-kart
    a4988/drv8825 ile uyumlu keyes control kartım var
    ( https://www.robotistan.com/a4988drv8825-kontrol-karti )
    ve eski bi bilgisayarın cd-room step motorunu ileri ve geri sürmek istiyorum
    cd-roomu söktüm kutuplarına kabloları lehimli 4 çıkışı mevcut
    bağlantıyı kontrol kartımın ustune böyle yapmayı düşünüyorum
    http://forum.hobbycomponents.com/viewtopic.php?f=76&t=2159
    keyes kırmızı kontrol kartından ((e-d-s))<> 8-9-10 a bağlanıyor
    5v-gnd <> 5v-gnd ye ve motor uclarıda yine kontrol kartına baglıyacam
    sizin bağlantınızda arduino üstünde 8-9-10-11 pinlere bağlantı var bende ise 8-9-10 sadece 11 de bağlantı yok
    sizin kodlarınızdaki pin4 ü ve 11 i içeren satırları silsem geri kalan satırlar aynı kalsa sistemim çalışırmı_?_ saygılarımlaa

    • Ömer Koman dedi ki:

      merhaba yazar işlerinin yoğunluğu nedeni ile soruya hemen cevap veremeyebilir. forumdan da sorunuzu sorabılırsınız daha hızlı cevap gelebılır diğer kullanıcılardan.

    • Ömer Koman dedi ki:

      elinizdeki malzemeleri hangi projeyi baz alarak topladıysanız o projeyı yapın daha ıyı olur sızın ıcın. Bu yazı step motor surmeyi basit bır surucu ıle surulmesını anlatıyor.

  88. Ferhat dedi ki:

    Paylaşım için çok teşekkürler.
    Anladığım kadarıyla uno ile 2 step motor sürülüyor. Veya bir CNC shield alınsa 3 step motor sürülebilir, fakat istediğiniz sonucu CNC shiled ile alabilirmiyiz bilmiyorum..
    Velhasıl 4-5 veya daha fazla step motor sürülebilir hale gelmesi için, uno üzerine ekleyebileceğiniz shield ve benzeri bisey varmıdır. Ya da nasıl çoklu step motor sürebilmek için nasıl bir metod uygulanmalıdır..
    Saygılar

    • Ömer Koman dedi ki:

      once bir tane step motoru kullanıp nasıl bır sey oldugunu anlamaya çalısırsanız daha sonra ıstedıgınız kadarını nasıl kullanacağınızın yolunu bulursunuz.

  89. Mehmet canlı dedi ki:

    Bende Arduino uno, easy driver ve nema 17 motor var. Maksadım astrofotoğrafçılık için yıldız takibi yapmak. Fakat 200 adımlık motorda 1 adım 1.8° ve bu yıldız takibi için fazla. 200 adımı 400,600 veya daha fazla adıma çıkartabilir miyiz? 24 saatte 360 derece dönecek ama daha fazla adım atarak küçük adım aralıklarıyla (Mikrostep). Bu nasıl mümkün olur. Faydalanabileceğim bir kaynak var mı? Teşekkür ederim

    • Ömer Koman dedi ki:

      merhaba çok güzel bir çalışma seçmişsiniz tebrikler. genelde reduktor denen bir dişli düzeni ile motor devir sayısı duzenlenır siz 2 kasnak yapın biri motorun miline bağlı olacak diğeri ise kamera platformunuza bağlı olacak ama çok daha fazla dişi olacak kamera tarafında ve çok daha büyük olacak bu durumda motordaki 200 tur diğer tarafta 20bin tura denk getırebılırsınız hatta içi içe planlayacağınız dişli takımı ıle tek turu gunlere yayabilirisiniz dişlileri de 3d printerden bastırabılırsınız. kolay gelsin

  90. Muhammet ali dedi ki:

    Nema 17 ve ardunio dan bir cnc yaptım. Fakat grbl kontrollerde motor eksenleri hiç hata yapmıyor. Program içerisinde çalışırken 1 yada 2 cm x ve y kayıyor. BaÅŸlangıç noktasına hatalı dönüyor. Makinayı yavaslattikca hata daha çok artıyor. Ama grbl kontrollerde hiç sıkıntı yapmıyor…. anladım gitti

    • Ömer Koman dedi ki:

      merhaba forum kısımından sorun istersenız konuları yada cnc sayfları veya facebooktakı grupları da takip edin bu konu hakkında

  91. Muhammet ali dedi ki:

    Sistem 12v 16a ile motorlar dahil cnc shield karttan besli. Nema 17. Motorlar Shield karttan bealwniyor.

  92. Muhammet ali dedi ki:

    Motorlar 5v ise,cnc shield kart 5v ile mi besleneçek. Ben 12 ile besliyorum
    .

    • Ömer Koman dedi ki:

      motoru suren surucu devresını bılmıyorum motor voltaj girişi hepsinde ayrıcana var ama motor voltajı ne ıse o voltajı verın.

  93. Erkan dedi ki:

    Foruma üyelik kapalı mıdır acaba? Kayıt sırasında güvenlik kodu hatası veriyor, facebook girişi yapılamıyor.

    • Ömer Koman dedi ki:

      mail adresi kullanıcı adı ve vereceğiniz şifre ıle kayıt olmanız gerekmektedir.

      • Erkan dedi ki:

        Evet teşekkürler ama güvenlik yazılımınızda hata var yada upgrade edilmesi gerekiyor galiba, reCAPTCHA sorunu nedeniyle kayıt işlemi yapılamıyor.

  94. Sercan Dikmen dedi ki:

    Hocam Saygılar,
    x ve y eksenini süren ikişer adet Nema 17 step motoru Arduino uno cnc shield 4 eksen kartı ile sürebilir miyim. Eksenlerden birine a eksenini slave yapabiliyoruz. Z eksenini de ayrıca slave yapabilir miyiz. X-A slave, Y-Z slave gibi.
    Teşekkür ederim.

    • Ömer Koman dedi ki:

      merhaba gerçekten hiç bir fikrim yok facebookdaki benzer sayfalarda bu konuda çok yazışma var oradan sorsanız çok daha faydalı olacaktır. 3 eksenli olarak yapılmış bir çok proje var ama nasıl çözduler hiç araştırmadım. bu konuda size ozellıkle 3d prınter ve cnc sayfalarında gozu kapalı cevap vereceklerdır. istersenız bizim forum sayfasından da sorun belki yapan olmuştur.

  95. Benim gibi bu işlere doğuştan meraklı insanlar için mükemmel bilgiler. Teşekkür ederiz.

  96. ömer çok dedi ki:

    Hocam elinize emeğinize sağlık tek tek herkese yardımcı olmuşsunuz. Sabrınız ve yardımsever tavrınızdan ötürü teşekkürü borç biliriz

  97. Emrullah miyanyedi dedi ki:

    Hocam bir sorum olacakti.ben step motor ile sunu yapbmak istiyorum.mesala 3 tam tur at sonra 5 dk bekle.surekli bunu tekrar edecek.bana yardimci olurmusunuz

    • Ömer Koman dedi ki:

      herhangi bir step motor örneğini yapsaydın bu sorduğunu 3dk içinde bitimiştin aslında. sormadan önce bir deneyin biraz ilerleyin takıldığınız yeri sorun yazın

  98. Emrullah miyanyedi dedi ki:

    Hocam haklisiniz.ben parcalar elime gecmeden acel3ci davranmisim.simdi farkli sorum var.2 adet step motoru 1 motor her 5 dakikada belirli bir tur 2 motoru ise her 60 dakikada blierli bir tur donecek sekilde ayarlamam gerek.bunun icin bunu tek arduino ile yapabilirmiyim? Yoksa motor surucu gereklimi.ayrica zaman saat modulunu kullanmamiz gerekekirmi?hocam yardimci olurmusunuz?

    • Ömer Koman dedi ki:

      siz 1 step motoru kullanmayı bir deneyıp öğrensenız yardıma ihtiyacınız kalmaz, bol bol deneyin ogrenmeye bakın kımseye ıhtıyacınız yok zamana sabıra dıkkate ıhtıyacınız var.

      • Emrullah dedi ki:

        Hocam hic bilgim yok. Sadece hobi olarak ilgileniyorum.bu nedenle bir suru soru oluyor insanin kafasinda.haklisiniz b3n 1 step surmeyi iyice ogr3neyim geriside ins.gelir .saygilar sevgiler hocam

  99. Hakan BaÅŸar dedi ki:

    Aciklamalar ve herturlu kaynak icin emeginize saglik. yeni baslayan bir amator olarak bir konuda fikrinizi almak istiyorum . sorunun if/else komutlari ile cozulebilecegini tahmin ediyorum ama takdir siz ustadlarin. mini pro ile (atmega328 3V) yaptigim bir deneyi tamamlayabilmem icin bir giris / iki cikis komuta ihtiyacim var. Giris 2V-3V arasi hizli ve 1sn’lik bir tetik voltaji . Cikisin biri tetik geldiginde high olacak ve 2sn sonra low olacak. cikisin digeri ise tersi ,yani tetik geldiginde low olacak ve 2sn sonra HIGH olacak. Dongu her tetikte tekrarlanacak. Asagidaki programda sadece giris tetik kismini bulamadim . bu konuda yardimci olursaniz cok sevinirim..

    void setup() {
    pinMode (2,OUTPUT);
    pinMode (3,OUTPUT);
    }
    void loop() {
    digitalWrite (2, HIGH); //Voltaj High
    digitalWrite (3, LOW); //Voltaj low
    delay(2000); // 2 sn. bekle
    digitalWrite (2,LOW); //Voltaj Low
    digitalWrite (3,HIGH); // Voltaj high
    delay(2000); // 2sn. bekle

  100. Emrullah miyanyedi dedi ki:

    Hocam saygilar
    Motorun her 5 dakikada belirlenen turu atmasi gerekiyor.ama motor 11 dakikaya kadar surekli turu tekrarliyor.bu motor yalniz bir defa bu turu atmasi gerekiyor yardimci olurmusunuz
    #include
    #include
    MyRealTimeClock myRTC(6,7 ,8 ); // Pin assigned

    static const int stepsPerRevolution1= 2048;
    static const int stepsPerRevolution2= 2048;

    int saatstep1=9;
    int saatstep2=10;
    int saatstep3=11;
    int saatstep4=12;

    int dakikastep1=2;
    int dakikastep2=3;
    int dakikastep3=4;
    int dakikastep4=5;

    tardate::X113647Stepper myStepper1(stepsPerRevolution1,
    9,10,11,12);
    tardate::X113647Stepper myStepper2(stepsPerRevolution2,
    2,3,4,5);

    void setup() {
    Serial.begin(9600);
    myStepper1.setSpeed(100);
    myStepper2.setSpeed(100);
    myRTC.setDS1302Time(55, 4, 18, 1, 01, 03, 2018);

    }

    void loop() {
    myRTC.updateTime();
    Serial.print(“Current Date / Time: “);
    Serial.print(myRTC.dayofmonth); // Element 1
    Serial.print(“/”);
    Serial.print(myRTC.month); // Element 2
    Serial.print(“/”);
    Serial.print(myRTC.year); // Element 3
    Serial.print(” “);
    Serial.print(myRTC.hours); // Element 4
    Serial.print(“:”);
    Serial.print(myRTC.minutes); // Element 5
    Serial.print(“:”);
    Serial.println(myRTC.seconds); // Element 6
    delay( 1000);

    if (myRTC.minutes > 4 && myRTC.minutes < 6 ){
    myStepper1.step(stepsPerRevolution1);

    }}

    • Ömer Koman dedi ki:

      rtc düzgün çalışıyormu anlamak lazım onun da çıkışını seriporttan yazdırın bakın bakalım mantıklı sayıyormu

  101. Emrullah dedi ki:

    Hocam evet rtc ile saati sariporttan yazdiriyorum.rtc duzgyn calisiyor.

    • Ömer Koman dedi ki:

      yukarıdaki kod dakika sayacı 5 olduğunda 60 sn boyunca kodunu çalıştırıyor
      yani bir saat boyunca saat xx:x5 olduğu zaman 60sn boyunça çalışır, bu da 5-15-25-35-45-55. dakikalarda çalışır yani 10dk da bir oluyor, yapmak istediğiniz bu değildir. bu kontrol rutininizi geliştirmeniz lazım.

  102. Emrullah dedi ki:

    Hocam
    myRTC.minutes > 4 && myRTC.minutes < 6 ){
    myStepper1.step(stepsPerRevolution1);
    Buradaki 6 10 olacakti k.bakmayin.kod su an yarim.ilk komutta takildigim icin devami yok.
    Ben her 5 dakikada bir belirlenen turu atmasini istiyorum.ama motor 5. Ve 10. Dakikalar arasinda surekli calisyor.ben istiyorum ki sadece bir cevrim yapsin.

    • Ömer Koman dedi ki:

      size kodu yazıp vermeyeceğim siz yazacaksınız.
      bir rutin yazın bu rutin bir değişkene bağlı olsun.
      mesela motortur=0 ise bişey yapmasın motortur=1 olunca çalışsın ve turunu bitirdiğinde bu değişkeni 0 yap ve bir data başka bir yerde tetıkledığınde tekrar çalışsın.
      şu anda rtc kodu unut onu kaldır rutin başlasın bitsin 5dk sayma rutini yap bitince tekrar motoru çalıştır

  103. Yusuf dedi ki:

    Hocam ben makine muhendisligi öğrencisiyim şu an butlere çalışıyorum alanımız olmadığı halde ve ilgisiz sadece pdfden yazı okuyan bir hocamizin elektroteknik bütüne hazırlanıyorum hocamızın sınavda istediği şey Arduino programı üzerinden su ; Step motorumuz; program başlayınca Saat Yönünde (CW) dönsün, butona (SW) basılıp bırakılınca saat yönü tersine (CCW) dönmeye başlasın. Tekrar butona (SW) basılıp bırakılınca saat yönüne (CW) dönsün ve bu şekilde devam etsin.

    2. Yukarıdakine EK olarak LCD Ekranda motorun dönme yönü yazsın; “Motor Saat Yönünde Dönüyor” veya “Motor Saat Yönü Tersine Dönüyor”

    3. İki Servo Motor Takılı iken; Joystik ile 0-180 derece arası döndürülebilsin. x yönündeki joystik ile 1. servo, y yönündeki joystik ile 2. servo motor hareket etsin.

    Ve internette hiç bir kaynak bulamadım çalışacak yardımcı olur musunuz bu konuda bana. Teşekkürler.

    • Ömer Koman dedi ki:

      hazır kodumuz olmasa da mevcut örneklerle ilerleyebilirsin sanırım. 2 adet servo ve bir arduino uno bir 2×16 lcd alman gerek tabi 2 butonda lazım. sitede forumdan yaz hazırladığın kodu yardım gelir. ama aceleyse iÅŸin zor, yetiÅŸmez.

  104. Bilgin dedi ki:

    Merhabalar Ömer bey
    İki adet nema 17 step motorla bir proje yapıyoruz. A4988 sürücü kullanıyoruz. Arduino kodlayarak cnc kart kullanmadan çeyrek daire çizdirmek istiyoruz. Ama kodlama kısmında takıldık. Yardımcı olabilir misiniz?

    • Ömer Koman dedi ki:

      merhaba sitedeki örnekler step motorları hareket ettirmek için başlangıç bilgilerini veriyor kod kısmının sizi zorlamayacağına eminiz. kolay gelsin.

  105. AyÅŸe dedi ki:

    hocam merhaba arduinoyla delta robot için 3 tane step motorun konum kontrolünü yapacağım.bunun için basit ve anlaşılabilir bir kod ya da anlatım var mı elinizde? yaptığım araştırmalarda bulduğum kodlardan çok bir şey anlayamadım.

    • Ömer Koman dedi ki:

      bulduğunuz linkleri paylaşsanız belki bir fikir olurdu ben de hiç uğraşmadım delta robotlarla.

  106. Cenk dedi ki:

    merhaba bir projemde l298n,step motor ve Hall Effect Switches kullanıyorum sorunum şu
    //step motoru sıfırla
    //step motoru %50 hızda döndür
    myStepper.setSpeed(50);
    myStepper.step(25);
    delay(1000);
    //manyetik sensor ile dur
    while (digitalRead(stepSwitchPin)) {
    myStepper.step(200);

    sensörü pullup dirençle kullanmama rağmen isteğim pozisyonda durdurmuyor.
    ancak aynı pine buton bağlarsam gecikmelide olsa duruyor.
    sersor seri monitorde çalışıyor farkettiğim şey motorun hızını azalttıkça serial okuma yavaşlıyor yani hedef konum geçiyor.
    sahne robotları üzerine çalışıyorum ilk yüklemede herne durumda olursa olsun istediğim konumda kalması bu yüzden çok önemli

    • Ömer Koman dedi ki:

      pozisyon sensorunu delay(1000) den sonra okuduğunuz için geçikme olur. her stepten sonra sensoru kontrol etmeniz lazım. siz 25 step atıp bir saniye bekleyip kontrol ediyorsunuz illaki kaçıracaktır.

  107. yavuz selim dedi ki:

    kodları yazdım fakat step motor dönmedi sadece kalp atışı gibi titriyor yardım ederseniz sevinirim

    • Ömer Koman dedi ki:

      şemada değişiklik yapmayın voltaj beslemenizin amperi yüksek olsun pil kullanmayın bağlantıları tekrar gözden geçirin bu şema garantili şekilde çalışıyor sorun yaşamamanız lazım.

      • Samet burak dedi ki:

        Ömer abi ben vnh2sp30 kart ile 12 volt 20 amper motor sürmek istiyorum fakat potansiyo metre ne kadar cevirsem o kadar dönsün bıraktıgım yerde dursun istiyorum ben bi calışma buldum ama sadece uno ile ufak bir sc motor yüeütüyor ben nasıl büyük motor aürütebilirim bu mantıkla yardımcı olurmusun?

        • Ömer Koman dedi ki:

          rotary encoder ile yapmanız lazım motor mili aynı zamanda bir pozisyon sensörüne(rotary encodere bağlı olması lazım) yada step motorla milim milim hareket ettirirsin

  108. Samet burak dedi ki:

    Abilerim ardiuno ve vnh2sp30 kartla 12 volt motor sürmek istiyorum ama 1 potansiyometre ile acı veriple yani ne kadar cevirirsem odakar dönsün bş kod buldum onda motonsiyo metreyi sag yada sola cevirinde motor durmadan dönüyor orta getirince potansiyo metreyi öyle duruyor ben bi forumda gördüm adriuno uno ile dc ufak bir motor istegi kadar acı ile sürüyor abimiz ama ben büyük motor sürmek istiyorum bunu nasıl yaoarım gercekten bilmiyorum yardım edebilirmisiniz saygılar

    • Ömer Koman dedi ki:

      rotary encoder ile yapmanız lazım motor mili aynı zamanda bir pozisyon sensörüne(rotary encodere bağlı olması lazım) yada step motorla milim milim hareket ettirirsin

  109. Yasin Yasin dedi ki:

    Omer bey. Dvd step motorlarından yaptığım Plotter motorlar 1 dakika icinde aşırı ısınıyor 12volt 1 amper kullaniyorum ne yapmalıyım

    • Ömer Koman dedi ki:

      bir miktar ısınır ama motorun uzderındeki etiketleri okuyun internetten araştırın o motor tiplerini 5v olarak hatırlıyorum 12v olmayabilir bağlantıları da kontrol edin, besleme gücünü 2A yapmayı da deneyebilirsiniz yetmiyordur.

  110. Helloworld dedi ki:

    Merhabalar, ben i2c lcd kullanıyorum ve yabancı bir video kanalından aldığım sıcaklık ile alaikalı koddaki yazıları deÄŸiÅŸtirmek istiyorum Mesela ekranda ‘temperature 75’ falan yazıyor, ben de oraya ‘sicaklik’ yazmak istiyorum fakat neyi deÄŸiÅŸtirirsem deÄŸiÅŸtireyim lcd de hep temperature yazıyor Neden olabilir sizce? Kaç saattir uÄŸraşıyorum olmuyor aÄŸlıycam

    • Ömer Koman dedi ki:

      programı yukleyemiyorsunuz sanırım önce farklı bir program yukleyin arduinoya led blink gibi bir şeyin çalışıp çalışmadığına bakın.
      bu tamamsa sıcaklık programınızı duzeltin compile edin tekrar yukleyin olması lazım.

  111. yusuf dedi ki:

    12 Voltluk DC Motor Mosfetle kontrol edilecektir. Devreye enerji verilince Motor 30 saniye tam devirde , 30 saniye yarı devrinde çalıştırılacaktır. bunun arduino yazılımı nasıl olur yardımcı olursanız çok sevinirim

    • Ömer Koman dedi ki:

      şöyle düşün motor 12v ile tam devir yapıyor yani motorun uçlarını adaptöre bağlayınca (mosfeti aktif yapınca) tam gücü ile dönüyor. motorun yarı devire düşmesi için farz edelim voltajı da yarıya indirdik. bunu nasıl yaparız motoru süren mosfeti gereki sürenin yarısında açık tutarsak motora yarım voltaj gider motor da yarı devire düşer. bunu istersen pwm le %50 oranında sürererk yap. bu konuyu bir araştır. geriye bunun sürelerini ayarlamak kalıyor. kodu yaz paylaş bir bakalım bakalım sorun nerede. sitede bağlantılar yazısında mosfetle motor sürme devresi de var onu kullanabilirsin.

  112. Sinan dedi ki:

    Ömer bey ben daha yeni basliyorum arduinoya. Elimde sp_35rc_820s 23 OHM step motor var. L298N ile bağlantıyı yapıp kodu arduinoya yukledim. Lâkin motor saniye çubuğu gibi çalışıyor. Delaytime 50 yapıyorum yine aynı değişen bisey yok

  113. Sinan dedi ki:

    Ömer bey ben daha yeni basliyorum arduinoya. Elimde sp_35rc_820s 23 OHM step motor var. L298N ile bağlantıyı yapıp kodu arduinoya yukledim. Lâkin motor saniye çubuğu gibi çalışıyor. Delaytime 50 yapıyorum yine aynı değişen bisey yok. Hızı arttırmak için ne yapmak lazım

  114. Fuat dedi ki:

    Ben renk ayırıcı band sistemi yapacam 3 renk kırmızı yesıl mavi rengı her gordugunde step motoru ona gore dönecek arduino kodunu yazabılecek olan varmı ?step motorunun hızını bandın hızına eşitleyemıorum bide step motorunun hızınıda nasıl arttırabilirim?

  115. Yeni başlayan biri için epey zor makale. Fakat emeğinize sağlık cidden güzel makale.

  116. Yahya dedi ki:

    Merhaba;
    Ben tam sinüs inverter ile çamaşır makinesi motorunu çalıştırıcam ancak bunu arduino uno ile kontrol etmek istiyorum buna göre bana kodlama hakkında yardımcı olur musunuz? Ne tür bi kod yazmam gerekicek isteğe bağlı devrini azaltıp çoğaltmak istiyorum şimdiden teşekkürler.

    • Ömer Koman dedi ki:

      bu güç elektroniği konularına giriyor, biz yeni başlayanlar için sitemizi öneriyoruz.
      arduino hiç kullanmadıysanız projenizi ilerletmeniz hem zor hem masraflı hem de tehlikeli olacak.
      burada kimseye kod vermedik temel örnekler dışında bir şey paylaşamıyoruz.
      biraz araştırma yapın arduino ile yapılmış proje var mı varsa nasıl yapılmış hangi malzemeleri kullanmış sizin istediğinizi karşılayacak mı, kodları ve şeması açık olarak sunulmuş mu her malzemesi bulunabiliyormu özel pcb hazırlamanız gerekiyor mu gibi sorunları çözmeniz lazım.
      kolay gelsin

  117. Hasan dedi ki:

    Merhabalar Ömer bey arduino ile yeni uğraşıyorum istediğim şey programı başlattığımda step motorun hep aynı konumdan başlaması yardımcı olursanız çok sevinirim.Teşekkür ederim.

    • Ömer Koman dedi ki:

      merhaba pratik bilgi vereyim step motorun başlangıç noktasına bir tane stop switch dediğimiz bir anahtar koyun arduino ilk açıldığında step motoru o noktaya kadar döndürün ve anahtarın 1 olmasını gözleyin ve 1 olduğunda step motoru durdurun. 3d yazıcılarda bu şekilde yapılıyor

  118. Ahıskalı dedi ki:

    Herkese merhabalar.
    Milis ile step motor kodu yazmış, daha önce böyke bir kodu deneyimlemiş olan varmı?
    Dönen bir dönme dolap sistemim var.
    Buna ses ve ışık ekledim.
    Ancak step motorda delay kullanınca rgb led ve ses özlelliği aynı anda çalışmıyor.
    Bir kod yazdım.
    Ancak istikrarsız çalışmakta.
    10 dakikada step motor bir tam tur atıyor.
    Ses ve rgb ler devreye girincede dönme olayı tamamen kesilip duruyor.
    Yardımcı olursanız sevinirim.

  119. BURAK GÖKSEL dedi ki:

    Kodun aynisini yazdim ama void setup üzerinde hata gösteriyor yardimci olurmusunuz

  120. Ömer Koman dedi ki:

    keşke hatayı da paylaşsan.
    yazıda bir link var o kütüphaneyi bulup indermen yazım gerekli yere kuracaksın yorumlarda çok var bakarsın. yazım hatalarına noktalamaları da kontrol edersin

  121. tahir dedi ki:

    ömer bey mrb;
    ben arduino ile step motoru 4 farklı kademede çalıştırmak isityorum
    kademe 1 motor 90 derece ileri geri hareket
    kademe 2 motor 180 derece ileri geri hareket
    kademe 3 motor 270 derece ileri geri hareket
    kademe 4 motor 360 derece ileri geri hareket
    etmesini ve bunu 4 kademeli bir anahtar ile yapmak istiorum mümkünmüdür acaba?

  122. fahri mazı dedi ki:

    hocam elimde nema17 ve ln298n motor sürücü ve bir adet butonum var, butona her bastığımda motoru istediğim değerde döndürebiliyorum ama buton basılı kaldığında motor girdiğim değer kadar ilerlemeye devam ediyor,butona her bastığımda belirli bir adım ilerlesin buton bırakılıp tekrar basıldığında bir daha ilerlesin istiyorum. bu konuda bana yardımcı olabilirmisiniz. Eğerki vaktiniz varsa kod yazıp verirseniz çok sevinirim.

    • Ömer Koman dedi ki:

      fikir verebilirim yapabilirsiniz. butona bastıktan sonra değil parmağnızı butondan kaldırdığınızda motoru çalıştırın.

  123. Engin dedi ki:

    Ömer Bey, size ulaşmam mümkün mü acaba paylaşmak veya anlatmak istediğim bir sorun değil. Bir projem olacak bununla ilgili sizin yapabileceğiniz bir proje mi onu soracağım.

    • Ömer Koman dedi ki:

      işlerim yoğun olduğu için proje desteği veremiyorum bak mesajına bile anca dönebildim.

  124. Hanife dedi ki:

    Hocam ileri geri için buton eklersek yazılımı nasıl ömür yardımcı olur musunuz

    • Ömer Koman dedi ki:

      çok güzel olurdu bir buton ekleseydin diğeri için ben yardım ederdim buradan.

E-posta adresiniz gösterilmeyecek. Gerekli alanlar * ile işaretlidir.

*



Sosyal AÄŸlar