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) dersimize kadar olan malzemeler için Kombo Kit, Raspberry Pi 3 Röle Kartı İle Alarm Devresi Yapımı 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:
- Raspberry Pi
- 5V güç kaynağı (adaptör veya regülatör)
- 28BYJ-48 redüktörlü step motor ve sürücü kartı
- Jumper kablo
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 GPIO import 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.
Raspberry Pi Hakkında Daha Fazlasını Öğrenmeye Devam Et
Raspberry Pi pek çok yönüyle avantaj sahibi ve geliştiriciler tarafından çok sevilen bir platform. Elektronik projelerinde, bilgisayar bilimlerinde ve robotik çalışmalarında sağladığı destek ve rahatlık ile öğrenmeyi sevdiren Raspberry Pi hergün daha da çok gelişiyor.
Peki siz de daha fazla gelişmek istemez misiniz? Linux bilginizi geliştirmek, elektronik dünyasına atılmak ve eğlenceli projelere imza atmak için sizi Raspberry Pi ile yolculuğa çıkarıyoruz! Sizler için hazırladığımız Raspberry Pi eğitim serisine devam edin :
Raspberry İle DC Motor Sürme
L293D, 2 adet DC motor sürmede kullanılabilecek oldukça popüler bir entegredir. 13. Dersimizde Raspberry ile DC Motor Sürmeyi nasıl yapacağımızı öğrenip, DC motor sürmeye başlayacağız.
RC522 RFID Modülü Kullanımı
RFID, nesnelerin radyo dalgaları kullanılarak tanınması için geliştirilmiş bir teknolojidir. Toplu taşıma araçlarındaki biletler, otoyol gişelerinde kullanılan HGS/OGS gibi ödeme sistemleri, okul/işyerlerimizdeki turnikelerde sıklıkla karşımıza çıkar.15. Dersimizde RC522 RFID Modülü Kullanımını öğreneceğiz ve Raspberry ile kart okuma yapacağız.
“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.
Merhaba Kerem hocam(5V güç kaynağı (adaptör veya regülatör)) http://www.robotistan.com/5v-1000ma-adaptor bu link 404 veriyor bilginiz olsun saygılar iyi çalışmalar.
Uyarınız için teşekkür ederim, linki düzeltiyorum. Bu ürünü kullanabilirsiniz: http://www.robotistan.com/gepro-um-55
hocam . a4988 ile stepper motor kontrollu için tutorial yaparsanız iyi olur
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
hocam step motor ne?
Step Motor Nedir? Çeşitleri Nelerdir?
merhaba hocam bu step motor kodu bende işe yaramadı 🙁
ne yapmalıyım -_-?
Gpio pimlerini tanıtırken hata veriyor raspberry iP 3 B+ modelini kullanıyorum sıkıntı neden olabilir bilgi verirseniz sevinirim teşekkürler.
Yukarıdaki kodlar karmakarışık vaziyette elimle yazmak zorunda kaldım düzenlerseniz sevinirim