Arduino ile Step Motor Kontrolü
Volkan Kanat // 20 Nisan 2013 // 249 yorum // kategori: Arduino Programlama, Arduino Projeleri, GenelStep(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 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.
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.
Etiketler: arduino > Motor Kontrolü > Step Motor
çok temiz öğretici güzel yazı olmuş.
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
dursun bey robotistan.com ve direnc.net te modul eklenti ve malzemeleri alabilirsiniz.
https://www.robotistan.com/arduino-proje-seti web sitesinden alabilirsin bende de bu setten var gayette iyi bence
robotistan başından beri eski dostumuz tanıdığımız bir firmadır çalışmaları ile sektöre çok katkı yapmış geliştirmiştir.
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?
Ömer beye katılıyorum Volkan. Karanlık bir nokta kalmamış eline sağlık :))
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.
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.
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.
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…
Volkan Bey,
ESC ile Arduinoyu baÄŸlamaya ne zaman deÄŸinecek siniz ? Merakla bekliyoruz.
Teşekkürler.
ESC ile alakalı yazı yazarsanız cidden süper olur
En kısa sürede bu konuyla ilgili ayrıntılı bir yazı yayınlayacağım arkadaÅŸlar…
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?
ben yazıdaki step motorda 4 bacak görüyorum zaten. siz kaç bacak saydınız arkadaşım?
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.
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.
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…
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.
Bende hobby icin cnc yapmak istiyorum.Arduino yu o amacla kullanilmasi cok onemli . Mail adresimi eklerseniz fikir alisverisi yapabiliriz. :))
Hocam bende sizler gibi bir cnc yapmak istiyorum, siz yaptınızmı? Eğer yaptıysanız benle iletişime geçebilirmisiniz?
veliahmetakteke@gmail.com
Birçok yerdeki nick: Konyahmet
iletişim halinde olalım 🙂
[…] 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/ […]
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.
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.
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
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
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
ULN2003A’yı kullanabilirsin. Boyut önemli deÄŸil, her iki entegrenin de 16 bacağı var.
direnc.net te çoğu malzemeyi bulabilirsin oradan da sorabilirsin fiyatları uygundur.
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.
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);
}
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.
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.
bu örnekte 4 pin var bütün pinleri kullanmanız gerekiyor kullanmadıklarınızı eksiye artıya çekmek işleminizi doğrulamaz.
Şö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);
}
@Ö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.
ö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…
çok ama çok teşekkür ediyorum, saygılar
ULN2003AN elimde yoktur onun yerine ne tür sürücü kullana bilirim acaba?
motorun amperine uygun transistor kullan. transistor her evde bulunur zaten.
Selamlar arkadaşlar bu proje elinde hazır olan ya da parayla yapmak isteyen varsa bana ulaşabilir mi ? email: furkans33@hotmail.com
işçilik kaç para önerdiÄŸinizi de yazsaydınız belki heveslisi çıkardı hemen…
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..
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…
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
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…
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?
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 🙂
ş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
pın 2 ile pın 3 ün sırasını deqistir çaLısacaktır
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ü?
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 .
ben olsam robotistandan bir step motor alır geçerim 7tl 9tl ve 12 tl ye var… sonra vaktin olunca düzeltirsin
Şematik çizimleri hangi programla yapıyorsunuz
http://fritzing.org/home/ ile çizebilirsiniz.
teşekkürler
İ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
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.
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?
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.
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,
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.
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
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.
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
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..
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ı :))
forumdan sorarsanız daha çabuk sonuca gidebilirsiniz. bence önce bir motoru çalıştırın hızını da ayarlarsınız
merabalar, bu projeyi yapmak istiyorum .projenin orjinal kodunu paylaÅŸabilir misiniz
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.
Ç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
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
Ö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);
}
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.
http://www.instructables.com/id/Arduino-Motor-Shield-Tutorial/?lang=de
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
Abi ben step motoru mm olarak dondurmek istiyorum gerekli kod ve semayi verir misiniz pic le olursa da sevinirim…
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
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.
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.
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..
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);
}
Ö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
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)
Ömer Bey tekrar merhaba sayaç kullanıyla ilgili bir örnek verebilirmiisniz rica etsem
//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
}
}
Ö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
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
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ı
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.
Hocam aynı projeyi bende yapacağım bittikten sonra paylaşırmısınız.
bu proje forumda ilerledi oraya gelin.
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?
foruma gelip sorsanız daha hızlı ilerleriz.
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.
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…
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 ?
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.
Bir makine mühendisi adayı olarak elektronikten pek fazla anlamam. Harika açıkladınız. Teşekkürlerimi sunuyorum..
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
[…] ALINTI (http://arduinoturkiye.com/arduino-ile-step-motor-kontrolu) […]
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?
zarar verir. 5tl ye bile step motor satıyorlar ucu kodu belli ondan alıp deneyın.
Ömer KOMAN hocam bu en baştaki kodlar ile step motor 1 tur atıyo ve sürekli devam ediyo mu?
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.
Hocam peki bu kodları herhangi bir sürücüye denesek örneğin TB6560-v2.0 bir sıkıntı ?
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
Step motorun beslemesini nerden yapıyoruz. 4 bacağını resimdeki gibi bağladım arkadaki kırmızı kabloyu anlamadım . Teşekkürler
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…
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.
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.
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.
her motoru ayrı ayrı başlatın biri bitince diğerine gecin. aynı anda başlatınca aynı anda durduramayabilirsiniz.
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.
robotistan.com ve direnc.net e bir bakın derim.
neden yeni yazı gelmiyor ???
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..
Merhaba Ömer bey forum kapalı olduğu için buradan soruyorum kusura bakmayın
arduino seri haberleşme kesmesi kodlarını biliyormusunuz.
Ahmet alpat biliyor forumun ne zaman açılacağını kendi sitesinden bir sorun 🙂 şuradan devam edin https://www.arduino.cc/en/Tutorial/SerialEvent
bi kaç yazar alın o zaman
kaliteli proje yazıpta getireni yayınlarız.
hocam arduinoyu nasıl türkçe yapabilirim?
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.
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?
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…
bir ardunio uno ile kaç tane motor kontol edebilirim ve nasıl ?
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.
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 ?
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
ö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.
dediginizi yaptım hocam ama birtürlü olmuyor
foruma gelin kodunuzu da koyun böyle şeyleri deneyen çok kişi var çabuk çözülür.
çizgi izleyen robot için arduino kodlarını yazamadım robot için kod atarmisinız.
bizde atacak kod yok ama foruma gelin sorun belki daha onceden yazmış olan vardır.
foruma gel bir sor her yazının altına girip kod isteme.
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?
Merhaba cnc shield e drv885 ters takılı halde enerji verilrse drv8825 ve cnc shield yanarmı acaba
teşekkürler
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.
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
ö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.
Değerli yorumunuz için çok teşekkur ederim dediğiniz gibi denemeye başladım baya yararı oldu çok tesekkur ederim.
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…
sitemiz ticari aracılık yapmamaktadır. kodunuzu foruma koyun yapamadıgınız yeri sorun daha kolay sizin için.
İ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
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…
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.
hayat boyle ilerlerken herşeye dıkkat etmek zorundayız. verdiğiniz kodu arduinoya nasıl yukluyorsunuz? hiç arduino kodu gordunuz mu?
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?
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…
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
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);
}
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);
}
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
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ü ?
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.
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ı ?
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
İ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!!
foruma gelin yazın. step motorları bağla kodunu koy olmayan kısmına bakalım.
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?!?
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.
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.
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.
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
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.
Ä°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…
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.
benzer bir çalışma
https://www.youtube.com/watch?v=Iuagv6XbOik
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
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.
Ömer bey tavsiyeleriniz için teşekkür ederim
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
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.
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.
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
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.
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
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
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
merhaba forum kısımından sorun istersenız konuları yada cnc sayfları veya facebooktakı grupları da takip edin bu konu hakkında
Sistem 12v 16a ile motorlar dahil cnc shield karttan besli. Nema 17. Motorlar Shield karttan bealwniyor.
Motorlar 5v ise,cnc shield kart 5v ile mi besleneçek. Ben 12 ile besliyorum
.
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.
Foruma üyelik kapalı mıdır acaba? Kayıt sırasında güvenlik kodu hatası veriyor, facebook girişi yapılamıyor.
mail adresi kullanıcı adı ve vereceğiniz şifre ıle kayıt olmanız gerekmektedir.
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.
bir inceleyelim, farklı bir mail ve kullanıcı ile de denerseniz iyi olur.
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.
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.
Benim gibi bu işlere doğuştan meraklı insanlar için mükemmel bilgiler. Teşekkür ederiz.
kolay gelsin yine bekleriz 😉
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
kolay gelsin projelerınızle yıne bekleriz.
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
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
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?
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.
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
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
http://arduinoturkiye.com/arduino-ogrenirken-yol-haritasi-1/ şu yazıyı gözden geçirin
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);
}}
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
Hocam evet rtc ile saati sariporttan yazdiriyorum.rtc duzgyn calisiyor.
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.
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.
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
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.
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.
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?
merhaba sitedeki örnekler step motorları hareket ettirmek için başlangıç bilgilerini veriyor kod kısmının sizi zorlamayacağına eminiz. kolay gelsin.
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.
bulduğunuz linkleri paylaşsanız belki bir fikir olurdu ben de hiç uğraşmadım delta robotlarla.
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
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.
kodları yazdım fakat step motor dönmedi sadece kalp atışı gibi titriyor yardım ederseniz sevinirim
ş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.
Ö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?
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
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
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
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
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.
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
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.
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
şö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.
Ö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
hangi kodu deniyorsunuz yükleyin buraya bakalım
Ö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
hangi kodu deniyorsunuz yükleyin buraya bakalım
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?
bu yazdıklarınızdan hangisini yapabiliyorsunuz
Yeni başlayan biri için epey zor makale. Fakat emeğinize sağlık cidden güzel makale.
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.
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
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.
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
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.
şuradaki örneklere bir bakın non-blocking ve Simple Scheduler size uyuyor https://www.norwegiancreations.com/2017/09/arduino-tutorial-using-millis-instead-of-delay/
Kodun aynisini yazdim ama void setup üzerinde hata gösteriyor yardimci olurmusunuz
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
ö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?
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.
fikir verebilirim yapabilirsiniz. butona bastıktan sonra değil parmağnızı butondan kaldırdığınızda motoru çalıştırın.
Ö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.
işlerim yoğun olduğu için proje desteği veremiyorum bak mesajına bile anca dönebildim.
Hocam ileri geri için buton eklersek yazılımı nasıl ömür yardımcı olur musunuz
çok güzel olurdu bir buton ekleseydin diğeri için ben yardım ederdim buradan.