- Step Motor:
- ULN2003 Step Motor Sürücüsü:
- Gerekli malzemeler:
- Devre şeması:
- Kod ve Çalışma Açıklaması:
Bu eğitimde MSP430 kullanarak Step Motor Arayüzü yapacağız. MSP-EXP430G2 bir Geliştirme aracıdır LaunchPad aka tarafından sağlanan Texas Instruments öğrenmek ve Microcontrollers nasıl kullanılacağı konusunda pratik etmek. Bu kart, tüm MSP430 serisi Mikrodenetleyicileri programlayabildiğimiz MSP430 Değer Çizgisi kategorisine girer. MSP'de yeniyseniz, MSP430 eğitimine başlarken göz atın.
Step Motor:
Step Motor, elektrik darbelerini farklı mekanik hareketlere dönüştüren bir fırçasız DC Motor türüdür. Bir step motorun şaftı ayrı adımlarla döner. İhtiyacımıza göre hassas adımlar ve hız alabiliyoruz.
Biz kullanacağız 35BYJ46 Bi-polar step motoru pazarında ucuza mevcuttur. 6 teli var ama aynı zamanda 5 tel ile birlikte geliyor. Step motorumuzda 2 adet bobin bulunmaktadır. Her birinin içinden çıkan 3 tel vardır. 3 kablodan 1 tanesi ortalanır, böylece geriye kalan 2 kablo doğrudan bobine bağlanır. Toplamda, 5-12V güç kaynağına bağlı 4 sinyal telimiz ve 2 adet merkezlenmiş yivli telimiz bulunmaktadır.
Motordan toplam 5 tel çıkması durumunda 4 tel sinyal kablosu olur ve 1 tanesi her iki bobine merkezlenir. Bunun gibi.
Hangi telin merkezlendiğini veya hangisinin sinyal kablosu olduğunu kontrol etmek için, motordan çıkan tellerin direncini kontrol etmeniz gerekir. Yani aynı bobin ile bağlanan bu teller, merkezlenmiş dişli direncine göre yüksek direnç değerine sahiptir.
Yukarıdaki diyagramda Mavi ve Sarı tellerin direnç değerini kontrol etmişsek ve aralarındaki direnç Sarı ile Kırmızı veya Mavi ile Kırmızı arasındaki değerden fazla ise. Yani, Kırmızı ortalanmış Tapped telidir.
Daha önce Step Motor'u diğer Mikrodenetleyicilerle arayüzledik:
- Arduino Uno ile Step Motor Arayüzü
- Raspberry Pi ile Step Motor Kontrolü
- 8051 Mikrodenetleyici ile Step Motor Arayüzü
- Step Motor ile PIC Mikrodenetleyicinin Arayüzü
Step motor, herhangi bir Mikroişlemci olmadan da kontrol edilebilir, bu Step Motor Sürücü Devresine bakın.
ULN2003 Step Motor Sürücüsü:
Çoğu step motor, yalnızca bir sürücü modülü yardımıyla çalışacaktır. Bunun nedeni, kontrolör modülünün (bizim durumumuzda MSP) motorun çalışması için I / O pinlerinden yeterli akımı sağlayamayacak olmasıdır. Bu yüzden step motor sürücüsü olarak ULN2003 modülü gibi harici bir modül kullanacağız. Pek çok sürücü modülü türü vardır ve birinin değeri kullanılan motor türüne göre değişecektir. Tüm sürücü modülleri için temel ilke, motorun çalışması için yeterli akımı sağlamak / batırmak olacaktır.
Bu projede ULN2003 motor sürücü entegresini kullanacağız. IC'nin pin diyagramı aşağıda verilmiştir:
IC ise 4 giriş ve 4 çıkış portu kullanacağız.
Gerekli malzemeler:
- MSP430
- 35BYJ46 veya 28-BYJ48 Step motor
- ULN2003 IC
- Teller
- Breadboard
Devre şeması:
Yukarıdaki diyagramda, stepperin KIRMIZI kablosu IC'nin PIN5'ine bağlı değildir. 5V ile bağlanması gerekir. Step motorunuzun renk kodu, devre şemasında verilen renklerden farklı olabilir. Bu nedenle, doğru sinyal kablolarını kontrol ettikten sonra kabloları bağlayın.
Kodumuzu Energia IDE kullanarak yazacağız. Arduino IDE ile aynıdır ve kullanımı kolaydır. Step'i sürmek için örnek kod, Arduino IDE'nin örnek menüsünde de bulunabilir.
Kod ve Çalışma Açıklaması:
MSP430'umuzla programlamaya başlamadan önce, programın içinde gerçekte ne olması gerektiğini anlayalım. 4 adımlı sıralama yöntemini kullanacağız, bu nedenle bir tam dönüş yapmak için gerçekleştirecek dört adımımız olacak. A, B, C ve D'yi dört bobin olarak düşünün.
Adım |
Enerjili Pin |
Enerjili Bobinler |
Aşama 1 |
6 ve 7 |
A ve B |
Adım 2 |
7 ve 8 |
B ve C |
Aşama 3 |
8 ve 9 |
C ve D |
4. adım |
9 ve 6 |
D ve A |
Bu eğitimde MSP430 step motor kodunu yazacağız. Programın tamamı öğreticinin sonunda bulunabilir, aşağıda birkaç önemli satır açıklanmıştır.
Step motorumuz için devir başına adım sayısı 32 olarak hesaplandı; dolayısıyla aşağıdaki satırda gösterildiği gibi giriyoruz
const int ADIMLAR = 32;
Daha sonra, Step motorunu bağladığımız pimleri belirlediğimiz örnekler oluşturmalısınız.
Adım myStepper (ADIMLARI, 6, 7, 8, 9);
Step kitaplığını kullandığımız için aşağıdaki satırı kullanarak motorun hızını ayarlayabiliriz. Hız, 35BYJ46 step motorlar için 0 ila 200 arasında değişebilir.
Mystepper.setSpeed (200);
Şimdi, motoru bir adım hareket ettirmek için aşağıdaki satırı kullanabiliriz.
myStepper.step (STEPS);
Dişli oranı olarak 32 adım ve 64'e sahip olduğumuz için, bir tam dönüş yapmak için 2048'i (32 * 64 = 2048) hareket ettirmemiz gerekir. Şimdi, aşağıdaki kodu yükleyin ve no. İhtiyacınıza göre adımlar.
Adım motoru bir PIC Mikroişlemci ile bu şekilde arayüzleyebilirsiniz, artık kendi yaratıcılığınızı kullanabilir ve bunun için uygulamaları bulabilirsiniz. Bir step motor kullanan birçok proje var.