28BYJ-48 Step Motor ve ULN2003 Sürücüsü için Arduino Kütüphanesi: 3 Adım

28BYJ-48 Step Motor ve ULN2003 Sürücüsü için Arduino Kütüphanesi: 3 Adım

İçindekiler:

Anonim

ULN2003 sürücülü 28BYJ-48 step motor şimdi oldukça yaygın bir konfigürasyon gibi görünüyor. Motor ve sürücü hem kolayca temin edilebilir hem de ucuzdur. Ancak, standart arduino step motor kütüphanesi bu konfigürasyonla çalışmaz! Görünüşe göre 28BYJ-48'in dönüşü için gerekli olan dizilim ile ilgisi var.

Bu talimat size 28BYJ-48'in gelecekteki kullanımları için hayatı kolaylaştıracak basit bir kütüphanenin nasıl yazılacağını gösterecektir. Birkaç olası çözüm gördüm (hatta nabız sırasını tekrar tekrar yazıyordum), ancak tatmin olmadım, bu yüzden kendime yazmaya karar verdim.

Temel bir C ++ ve step motor teorisi anlayışınız olduğunu varsayıyoruz.

Kodu ve bir uygulamayı EngyFun blogundan aşağıdaki adreste bulabilirsiniz:

http: //engyfun.blogspot.com.au/2015/02/here-is-sou …

Gereçler:

1. Adım: StepperMotor.h

StepperMotor sınıfını yazarak başlayalım.

StepperMotor.h adlı bir dosya oluşturun ve görüntüdeki kodu kopyalayın.

C ++ ile ilgili bir fikriniz varsa, sınıf tanımı kendisi için konuşacaktır.

Adım 2: StepperMotor.cpp

Şimdi sınıf arayüzünü yazalım.

StepperMotor.cpp adlı bir dosya oluşturun ve görüntüdeki kodu kopyalayın.

4. satırdaki yapıcıya bakalım. Kullanıcıdan seçilen pinleri 6 - 9 numaralı hatlardaki giriş pinleri dizisine atayarak başlayacağız. Bu, sürüş algoritması içindeki pin numaralarına erişmeyi kolaylaştıracak.

12. satırda, giriş pin dizisini yineliyoruz ve her pimi ÇIKIŞ moduna ayarladık.

15. satırda, adım süresini varsayılan olarak 50 ms'dir.

18. satırda adım süresi belirleyicisine sahibiz. Bu kendi kendini açıklayıcı.

Şimdi adım yöntemine bakalım. Bu, step motorun metoda geçirilen sayıyı adımlandırmasını sağlar.

28 satırında, 2d dizisi kullanarak dönme dizisini tanımlarız. Satırlar bir adımı ve sütunlar çıkış pinlerini temsil eder.

37. satırda, geçen adım sayısının işaretine bağlı olarak +1 veya -1 olan faktörü hesaplıyoruz. Bu değer algoritmada yineleme yönünü dizi dizisi boyunca yönlendirmek, yani dönme yönünü değiştirmek için gereklidir.

38. satırda, tasarım için gerekli noOfSteps'i pozitif yapıyoruz.

44 satırında, bir dönme sırasının her başlangıcında, yani her 8 adımın başlangıcında çalışacak bir döngü başlatırız.

45 satırında, dizi dizisinin satırlarında yinelenen başka bir döngüye başlıyoruz.

46. ​​satırda sürenin belirttiği gibi gecikiyoruz.

47 satırında, pin numaralarını yineliyoruz.

48. satırda, dijital sinyali mevcut pin numarasına yazıyoruz.

Faktör negatifse, sekans dizisinin satırlarına, pimlere yazdığımızda, 48. satırdaki ters yönde erişilir. 8 sıranın sayısı ile çıkarılır … bu yüzden aşağıdan yukarıya doğru erişiriz.

Adım 3: Arduino IDE'den Kütüphaneye Erişim

Şimdi bu dosyaları arduino IDE'nin kütüphane dizinine eklememiz gerekiyor. Bu, bu kütüphaneyi kullanım için IDE'ye aktarmamızı sağlayacaktır.

Aşağıdaki dizine gidin:

C: Program Files (x86) Arduino kütüphaneleri

ve sonra StepperMotor adlı bir klasör oluşturun.

Şimdi.h ve.cpp dosyalarını oluşturulan klasöre koyun.

Artık kütüphaneyi IDE içinden alabilirsiniz. (eskiz> kütüphaneyi içe aktar …> StepperMotor)

Bu Projeyi 2 Kişi Yaptı!

  • johnnyfrx yaptı!

  • brdavid yaptı!

Bu projeyi yaptın mı? Bizimle paylaşın!

öneriler

  • SKY CAM bir Hava Kamerası Çözümü

  • Arduino Hava Bonsai Levitasyonunun

  • Nesnelerin İnterneti Sınıfı

  • Ağaç İşleme Yarışması

  • Fandom Yarışması

  • Arduino Yarışması 2019

8 Tartışmalar

0

jplaiss

3 yıl once

… Arduino ULNStepper ULNStepper.ino: 2: 26: ölümcül hata: StepperMotor.h: Böyle bir dosya veya dizin yok

#Dahil etmek

Gelmeye devam ediyor.

2 cevaplar 0

DikaM2 jplaiss

Yanıtla 3 ay önce

Kütüphanede dizinde bulunmadığını düşünüyorum

0

JeremieL8 jplaiss

Yanıtla 2 yıl önce

burada aynı..

0

tahirulhaq

1 yıl önce

Harika iş !!!

0

Drumpeter

2 yıl önce

Harika çalışıyor! Mikrosaniye başına 1 adım sonra daha hızlı dönmesine izin verme olasılığı var mı? Bunun doğru olduğunu anlarsam kütüphane sadece tamsayıları anlar. Bunu nasıl değiştirebilirim?

0

jplaiss

3 yıl once

Burada bir şeyleri özlüyorum.

.H ve.cpp dosyalarını oluşturmak için ne kullanmalıyım?

IDE'ye kurulacak bir kütüphane oluşturmak için bunu nasıl bir araya getirmeliyim?

Şimdiye kadar iki ek not defteri dokümanı yaptım, son eklerle etiketlendiğinde sahip olduğum diğer kütüphane ile aynı görünüyor. Bu dokümanları bir ana dosyaya yerleştirmeye çalıştım, onları ana bilgisayar içindeki başka bir dosyaya yerleştirdim, test kodu ile aynı seviyeye getirdim ve birkaç kez tekrarladı.

Lütfen yardım et.

0

fonksiyonel tasarım

3 yıl once

Çok güzel bilgi! Sonunda koşmak için bu adım var. Hızı / devri kontrol etmek için düğmeleri kullanmak istiyorum. Daha hızlı ilerlemesi için hangi değerin değiştirilmesi gerekiyor? Motor.setStepDuration (1) içindeki değeri değiştirerek yavaşlamasını sağlayabilirim, peki ya daha hızlı?

0

Billdwp

2 yıl önce 2. Adımda

Parlak, mükemmel, faydalı; teşekkür ederim!