Soru & Cevap

Step motor açılı yada adım döndürme

29.06.2016 - 12:44

Arkadaşlar Selam,
Arduinoda yeniyim. 
Elimde 1 Adet Arduino mega, 1 Adet 28byj-48 step motor var.

Yapmak isteğim şu;
Serial monitör ekranından 1 girip gönderirsem step motor başlangıç noktasından 6 Adım(33,75derece) dönsün. 2 girip gönderirsem step motor turu tamamlayıp başlangıç noktasına gelsin ve sonra hiç duraklamadan 12 adım (67,5derece) dönsün. Aynı şekilde her yeni girilen veride step motor başlangıç noktasına gelecek sonra girilen değere uygun olarak dönecek. Bu şekilde 1,2,3,4,5,6,7,8,9,0 a kadar girilebilir. 

Serial monitör şart değil notepad yada web site üzerinden veri okuyarakta olabilir.

Yardımlarınız için şimdiden teşekkürler.

140 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-87289-1569234090.png
yakupgovler
28.09.2019 - 02:20

Öncelikle motorun tam turunu kaç adımda tamamladığını bilmelisiniz. Her veri geldiğinde motorun nerede durduğunu bilmeli ve turu tamamlaması için gerekli adım sayısını hesaplamalısınız. Ardından da turu tamamlayacak kadar hareket ettirmeli son olarak da istenilen adım kadar ilerlemelisiniz. Yaklaşık şöyle bir algoritma işinizi görecektir.

toplamadim = 100; //olsun

kalanadim = 0;

baslangic = 0;

gelendeger = gelen değeri okutup, buna aktardık.

switch (gelendeger) {

1:

adimsayisi = 6;

motorgit(adimsayisi);

kalanadim = toplamadim- adimsayisi;

2:

adimsayisi = 12;

motorgit(kalanadim);

motorgit(adimsayisi);

kalanadim = toplamadim - adimsayisi;

3: 

adimsayisi = 24;

motorgit(kalanadim);

motorgit(adimsayisi);

kalanadim = toplamadim - adimsayisi;

//geri kalanlar için de bu şekilde gidecek

//işin esprisi her hareketten önce tam tur için gerekli adım sayısı bilmek

 

 

function motorgit(adim) {

 //adim sayısı kadar ileri gitmesini sağlayacak kodlar

}