Alışverişlerinizi Robotistan’dan Yapın

Faydalı içerikler oluşturarak size yardımcı olmak istiyoruz. Aynı zamanda uygun fiyat, hızlı teslimat ve kaliteli hizmetle Robotistan.com’da hizmet veriyoruz. Siz de alışverişlerinizi robotistan.com‘dan yaparak bize yardımcı olabilirsiniz 🙂

Raspberry Pi 3 İle Step Motor Kontrolü Nasıl Yapılır? #14

Bu içerik 13 Ocak 2017 Tarihinde Raspberry Pi 3 Uyumlu Olacak Şekilde Güncellenmiştir. Güncellenen kısımları daha kolay şekilde görebilmeniz için farklı renkte (lacivert) yazdık. Güncelliğini yitiren kısımların ise üzerini çizdik. Keyifle oku, bol bol üret!

Raspberry Pi Dersleri serimizde kullanacağımız malzemelerin tamamına sizler için hazırladığımız setler ile kolayca sahip olabilirsiniz. Raspberry Pi’ye Uzaktan Bağlantı Yöntemleri (VNC,SSH,TTL) #4 dersimize kadar olan malzemeler için Kombo Kit, Raspberry Pi 3 Röle Kartı İle Alarm Devresi Yapımı #11 dersimize kadar olan malzemeler için Süper Başlangıç Seti, tüm derslerdeki malzemeler için Proje Seti tercih edebilirsiniz.

Merhaba arkadaşlar. Bu yazımızda Raspberry Pi’mizi kullanarak step motor kontrolü uygulaması yapacağız.

Gerekli malzemelerimiz:

Projedeki Malzemeler Bu Sette. Şimdi İncele >

Step motorlar, hassas hareket gerektiren uygulamalarda kullanılan motorlardır. Fonksiyon olarak DC motorlar ile servo motorların her ikisinin de karakterini gösterir: istenildiğinde belirli bir konuma adım adım ilerleyebilir veya sürekli olarak istenilen yönde döndürülebilir. Normal yazıcılar ve 3B yazıcıların vazgeçilmez parçalarındandırlar.

Bizim bu uygulamamızda kullanacağımız step motor genellikle sürücü kartıyla birlikte satılmaktadır. Bu sayede breadboard’a ihtiyaç duymadan kolaylıkla bağlantı yapmamız mümkündür.

Bağlantıları yaptıktan sonra Raspberry Pi’mizi çalıştırıyor ve stepper.py isimli bir dosya oluşturarak aşağıdaki kodu içine yazıyoruz:

import RPi.GPIO as GPIOimport time GPIO.setmode(GPIO.BCM) enable_pin = 18coil_A_1_pin = 4coil_A_2_pin = 17coil_B_1_pin = 23coil_B_2_pin = 24 GPIO.setup(enable_pin, GPIO.OUT)GPIO.setup(coil_A_1_pin, GPIO.OUT)GPIO.setup(coil_A_2_pin, GPIO.OUT)GPIO.setup(coil_B_1_pin, GPIO.OUT)GPIO.setup(coil_B_2_pin, GPIO.OUT) GPIO.output(enable_pin, 1) def forward(delay, steps): for i in range(0, steps): setStep(1, 0, 1, 0) time.sleep(delay) setStep(0, 1, 1, 0) time.sleep(delay) setStep(0, 1, 0, 1) time.sleep(delay) setStep(1, 0, 0, 1) time.sleep(delay) def backwards(delay, steps): for i in range(0, steps): setStep(1, 0, 0, 1) time.sleep(delay) setStep(0, 1, 0, 1) time.sleep(delay) setStep(0, 1, 1, 0) time.sleep(delay) setStep(1, 0, 1, 0) time.sleep(delay) def setStep(w1, w2, w3, w4): GPIO.output(coil_A_1_pin, w1) GPIO.output(coil_A_2_pin, w2) GPIO.output(coil_B_1_pin, w3) GPIO.output(coil_B_2_pin, w4) while True: delay = raw_input(“Adim arasi bekleme suresi (milisaniye)?”) steps = raw_input(“Ileri kac adim? “) forward(int(delay) / 1000.0, int(steps)) steps = raw_input(“Geri kac adim? “) backwards(int(delay) / 1000.0, int(steps))

Bu kodu kaydettikten sonra

sudo python stepper.py

komutunu vererek programın çalışmasını sağlıyoruz. Raspbian’ın güncel sürümünde Python komutlarından önce sudo yazmamıza gerek yoktur. Program bize ilk olarak adım arası bekleme süresini soruyor. Bunu hız olarak düşünebiliriz, ne kadar düşük bir değer seçersek step motorumuz o kadar hızlı dönecektir. Daha sonraki adımda ileri yönde kaç adım gideceğini soruyor. Değeri girdikten sonra motor dönmeye başlıyor ve motor durduktan sonra bu sefer kaç adım geri gideceğini soruyor. Motor ters yönde çalıştıktan sonra da program tekrar başa dönüyor.

Paylaş

Yorumları Görüntüle

  • "python: can't open file 'stepper.py': [Errno 2] No such file or directory" hatası veriyor. Ne yapmalıyım ?

    • Kodu kaydetmiş olduğunuz dosya isminin "stepper.py" olduğundan emin misiniz? Ayrıca Linux işletim sisteminde dosya isimleri büyük/küçük harf duyarlıdır. Hatanız bundan kaynaklı olabilir.

  • hocam step motorun sürücüsünü aynı sizin yaptığınız gibi 5 volt 1 amperlik adaptörle besliyorum, kod çalışıyor ve step motoru elime aldığımda içindeki dönüşleri hissedebiliyorum fakat motorun ucundaki mil dönmüyor. acaba verdiğim besleme mi yetersiz?

  • meraba. python dili hakkında hiç bilgim yok ama projemizin basit bir kısmında kullanmam gerekiyor. sorum şu;
    raspberry pi 3 ile ultrasonik sensör veya pır sensörü ile hareket algılandığında step motor belli bi adım atacak, bir süre sonra aynı adımı geri gelecek. Yardımcı olursanız çok makbule geçer.

  • Merhaba,
    Ben 12 tane step motor süreceğim. Nasıl sürerim? Step motoru I2C ya da SPI ile sürebilir miyim?

    • Merhabalar, step motorları doğrudan SPI ya da I2C ile süremezsiniz, bu haberleşme özelliklerine sahip uygun bir motor sürücü kullanmanız gerekir.

      • Peki hangi motor sürücüyü almalıyım? Bir sürücü önerirseniz çok sevinirim. Cevap verdiğiniz için teşekkürler...

  • Merhaba,
    1 adet raspi3 e 6 step motor bağlanabilir mi ? yani 2 cnc sistemini tek raspi3 ile kontrol edebilir miyim ?
    bu iki cnc sistemi de eşzamanlı çalışabilecek şekilde nasıl kurgulayabilirim ?

    • 6 adet step motoru doğrudan bağlamanız için GPIO pinleri yeterli gelmeyebilir. Bu projeniz için step motorları sürücüler ile Arduino ya da benzeri bir mikrokontrolcü kartına bağlayabilir, daha sonra bu mikrokontrolcüyü Raspberry Pi'nize USB yada doğrudan UART üzerinden bağlayarak haberleştirme yapabilirsiniz.

  • Ses komutu ile step motor konrolü yapacağım , bunun için matlab de gerekli kodları yazdım ve 2018 sürümünde raspberry pi dan çıkış alabileceğimi öğrendim , Şimdi step motoru 10 tur saat yönünde döndürüp sonra resetlenecek raspi kodlarını yazmam gerek. Yardımcı olabilir misiniz

En Son İçerik

  • Genel

Arduino İle ESP8266 WiFi Modülü Kullanarak Sıcaklık ve Nem Ölçümü – ThingSpeak’e Yollama

< 20. Derse Dön Merhaba arkadaşlar ! Bu yazımızda sizlerle ESP8266 nedir, bu wifi modülü nasıl çalışır konularından bahsedeceğiz. Ayrıca…

1 gün Önce
  • Genel
  • Raspberry Pi

Raspberry Pi 4 Model B Tanıtıldı – Özellikleri Neler Farklı?

https://youtu.be/LSHLeKOxv0Y Raspberry Pi severlere müjde: Raspberry Pi 4 Model B tanıtıldı ! Mini bilgisayar olarak kullanılan ve farklı versiyonları ile…

2 hafta Önce
  • Arduino
  • Arduino Programlama ve Dersler

Arduino ile RFID Kart Okuyucu (RC522) Modül Kullanarak Kapı Kilidi Yapımı

21. Derse Geç > < 19. Derse Dön Herkese merhabalar. Eve kim ne zaman girmiş çıkmış, bilmek istemez misiniz? Öyleyse…

3 hafta Önce
  • Arduino
  • Arduino C# Projeleri ve Uygulamaları

Arduino ve C# ile Mesafe Ölçer – 4. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, bu dersimizde HC-SR04 sensörü ile ölçtüğümüz mesafeyi seri haberleşme yardımıyla anlık olarak…

3 hafta Önce
  • Arduino
  • Arduino Programlama ve Dersler
  • Arduino Projeleri
  • Genel

Arduino İle MQ Gaz Sensörlerinin Kullanımı – Yanıcı Gaz Alarmı

20. Derse Geç > < 18. Derse Dön Arkadaşlar herkese selamlar ! Daha önce hiç gaz sensörü kullandınız mı? Bu…

1 ay Önce
  • Arduino
  • Arduino Programlama ve Dersler
  • Arduino Projeleri
  • Genel

Arduino İle Yağmur Sensörü Kullanarak Yağmur Alarmı Yapalım

19. Derse Geç > < 17. Derse Dön Herkese selamlar ! Bu yazımızda ise yağmur sensörü kullanarak Arduino ile Yağmur…

1 ay Önce