- Giriş
Raspberry Pi, hobi ve endüstriyel projelerde yaygın olarak kullanılan popüler bir tek kartlı bilgisayardır. Temel olarak kredi kartı boyutunda küçük bir bilgisayardır. Step motorların kontrolü de dahil olmak üzere çeşitli projelerde yaygın olarak kullanılmaktadır — bu, hareket kontrolü uygulamalarında sıkça karşılaşılan bir görevdir. Bu makalede, Python programlama dili ve RPi.GPIO kütüphanesini kullanarak bir step motoru nasıl kontrol edeceğinizi, ilgili kablolama talimatlarıyla birlikte öğreneceksiniz.
- Gerekli Malzemeler
- Raspberry Pi (Raspberry Pi 3B+ veya daha yeni bir model önerilir)
- Step motor (ör. NEMA 17)
- Step motor sürücü modülü (ör. DRV8825 veya A4988)
- Jumper kablolar (DuPont konnektörler)
- 12V DC güç adaptörü
- Breadboard (isteğe bağlı)
- Dekuplaj kondansatörü (ör. 100 µF elektrolitik)
- Kablolama Talimatları
Güvenlik Notu: Motor ve sürücü kablolarını her zaman güç uygulamadan önce bağlayın. Raspberry Pi'ye veya sürücü modülüne zarar vermemek için tüm bağlantıları iki kez kontrol edin.
- Step motorun dört kablosunu sürücü modülündeki A1, A2, B1 ve B2 pinlerine bağlayın.
- 12V güç kaynağının pozitif ucunu sürücü modülündeki VMOT pinine, negatif ucunu ise GND pinine bağlayın. Gerilim sıçramalarını bastırmak için VMOT ve GND arasına, sürücü modülüne mümkün olduğunca yakın bir şekilde bir dekuplaj kondansatörü (ör. 100 µF elektrolitik) yerleştirin.
- Raspberry Pi'nin 5V güç pinini (fiziksel Pin 2 veya Pin 4) sürücü modülündeki VCC pinine bağlayın ve bir GND pinini (ör. fiziksel Pin 6) sürücü modülündeki GND pinine bağlayın.
- Raspberry Pi üzerindeki aşağıdaki BCM GPIO pinlerini sürücü modülündeki karşılık gelen pinlere bağlayın:
| Raspberry Pi GPIO (BCM) | Fiziksel Pin | Sürücü Modülü Pini |
|---|---|---|
| GPIO 17 | Pin 11 | DIR |
| GPIO 18 | Pin 12 | STEP |
| GPIO 27 | Pin 13 | MS1 |
| GPIO 22 | Pin 15 | MS2 |
| GPIO 23 | Pin 16 | ENABLE |
İpucu: Çoğu A4988/DRV8825 modülünde ENABLE pini aktif-düşüktür. Düşük (LOW) seviyeye çekildiğinde sürücü çıkışı etkinleşir.
- Python Kod Uygulaması
Öncelikle RPi.GPIO kütüphanesini yükleyin. Terminalde aşağıdaki komutları girin:
sudo apt-get update
sudo apt-get install python3-rpi.gpio
Ardından stepper_motor.py adında bir Python dosyası oluşturun ve aşağıdaki kodu girin:
import time
import RPi.GPIO as GPIO
# Pin tanımlamaları (BCM numaralandırma)
DIR = 17
STEP = 18
MS1 = 27
MS2 = 22
ENABLE = 23
# GPIO modunu ayarla
GPIO.setmode(GPIO.BCM)
GPIO.setup(DIR, GPIO.OUT)
GPIO.setup(STEP, GPIO.OUT)
GPIO.setup(MS1, GPIO.OUT)
GPIO.setup(MS2, GPIO.OUT)
GPIO.setup(ENABLE, GPIO.OUT)
# Sürücüyü etkinleştir ve yönü ayarla
GPIO.output(ENABLE, GPIO.LOW) # Sürücüyü etkinleştir (aktif-düşük)
GPIO.output(DIR, GPIO.HIGH) # Saat yönünde dönüş
# Sürücü modeline göre adım modunu ayarla (ör. A4988)
GPIO.output(MS1, GPIO.HIGH) # 1/4 adım
GPIO.output(MS2, GPIO.LOW)
# Motor dönüşünü kontrol et
steps = 200
delay = 0.001 # Daha kısa gecikme, daha yüksek hız
for _ in range(steps):
GPIO.output(STEP, GPIO.HIGH)
time.sleep(delay)
GPIO.output(STEP, GPIO.LOW)
time.sleep(delay)
# GPIO'yu temizle
GPIO.cleanup()
Son olarak dosyayı kaydedin ve terminalde çalıştırın:
python3 stepper_motor.py
- Özet
Bu makalede, Raspberry Pi kullanarak bir step motorun nasıl kontrol edileceği, kablolama talimatları ve RPi.GPIO kütüphanesi ile Python kodu dahil olmak üzere tanıtılmıştır. Bu adımları izleyerek motor kontrolünü kolayca gerçekleştirebilirsiniz. Koddaki parametreleri (adım sayısı, gecikme ve mikro adım ayarları gibi) proje gereksinimlerinize göre ayarlayabilirsiniz.