e
sv

ESP32 ile Step Motor Sürmek

958 Okunma — 26 Ocak 2024 20:50
ESP32 ile Step Motor Sürmek
avatar

Admin

  • e 0

    Mutlu

  • e 0

    Eğlenmiş

  • e 0

    Şaşırmış

  • e 0

    Kızgın

  • e 0

    Üzgün

ESP32 mikrodenetleyici kartı kullanarak bir step motor (stepper motor) kontrol etmek için, genellikle bir step motor sürücüsü kullanmanız gerekecek. Step motorlar, belirli bir adımda bir miktar dönen ve bu adımları hassas bir şekilde kontrol edilebilen motorlardır. İşte basit bir ESP32 ile step motor kontrolü için bir örnek:

#include <Stepper.h>

const int stepsPerRevolution = 200;  // Stepper motorun her turundaki adım sayısı
Stepper myStepper(stepsPerRevolution, 14, 12, 13, 15);  // GPIO pin bağlantıları

void setup() {
  myStepper.setSpeed(100);  // Motor hızı (adım/saniye)
}

void loop() {
  myStepper.step(stepsPerRevolution / 2);  // Motoru yarım tur döndür
  delay(1000);
}

Bu örnek, Arduino IDE veya PlatformIO gibi geliştirme araçları kullanılarak ESP32 kartına yüklenir. Bu kod, “Stepper” kütüphanesini kullanarak step motoru kontrol eder.

Kodu özelleştirmek için şu adımları takip edebilirsiniz:

  1. stepsPerRevolution değişkenini, kullanılan step motorunun her turundaki adım sayısına uygun olarak ayarlayın.
  2. myStepper nesnesini oluştururken kullanılan GPIO pin bağlantılarını, ESP32 kartınızdaki uygun pinlere göre değiştirin.
  3. setSpeed fonksiyonu ile motorun dönüş hızını ayarlayabilirsiniz.
  4. myStepper.step() fonksiyonunu kullanarak motoru belirli bir adım sayısında döndürebilirsiniz.

Bu örnek, step motoru belirli bir adım sayısında döndürmekle sınırlıdır. Gerçek projelerde, sensörler veya uzaktan kumanda gibi giriş cihazlarına dayalı olarak daha karmaşık kontrol algoritmaları uygulayabilirsiniz.

ESP32 ile 28BYJ-48 ve ULN2003 Motor Sürücülü Step Motor Çalıştırma

ESP32 ile Step Motor Sürmek
ESP32 ile Step Motor Sürmek 4
#include <Stepper.h>

const int stepsPerRevolution = 2048;  // change this to fit the number of steps per revolution

// ULN2003 Motor Driver Pins
#define IN1 19
#define IN2 18
#define IN3 5
#define IN4 17

// initialize the stepper library
Stepper myStepper(stepsPerRevolution, IN1, IN3, IN2, IN4);

void setup() {
  // set the speed at 5 rpm
  myStepper.setSpeed(5);
  // initialize the serial port
  Serial.begin(115200);
}

void loop() {
  // step one revolution in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(1000);

  // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(1000);
}
ESP32 ile Step Motor Sürmek
ESP32 ile Step Motor Sürmek 5

Bu kod, ESP32 ve ULN2003 motor sürücü modülü kullanarak bir step motoru kontrol eder. Bir step motor ayrı adımlarla hareket eder ve hassas kontrolü, bobinlere belirli bir sırayla enerji verilmesiyle sağlanır. Kod, motor kontrol sürecini basitleştiren Stepper kütüphanesini kullanır.

Bu örnekte kullanılan adım motoru, devir başına 2048 adıma sahip olacak şekilde yapılandırılmıştır . Motor sürücü modülü ESP32’deki dört pime bağlanır: IN1, IN2, IN3 ve IN4 . Bu pinler, step motorun bobinlerinden geçen akımı belirleyerek motorun belirli bir yönde adım atmasını sağlar.

setup() fonksiyonunda kod, devir başına adım sayısını ve motor sürücüsüne bağlı dört pimi belirterek Stepper kütüphanesini yapılandırır. Ek olarak motorun hızı dakikada 5 devire (rpm) ayarlanmıştır. Seri monitörde mesajları görüntülemek için Seri iletişim 115200 baud hızına başlatılır.

loop() işlevinde kod, sonsuz bir döngüde aşağıdaki adımları gerçekleştirir:

  1. Adım motoru, myStepper.step(stepsPerRevolution) çağrılarak saat yönünde bir tur döndürülür .
  2. Delay(1000) kullanılarak 1 saniyelik bir gecikme eklenir .
  3. Adım motoru daha sonra myStepper.step(-stepsPerRevolution) çağrılarak saat yönünün tersine bir tur döndürülür .
  4. 1 saniyelik bir gecikme daha eklendi.

Seri monitör, her adım için dönüş yönünü belirten ve dönüşümlü olarak “saat yönünde” ve “saat yönünün tersine” gösteren mesajları görüntülemek için kullanılır.

Genel olarak bu kod, adım motorunun her dönüş arasında 1 saniyelik bir duraklama ile sürekli olarak ileri geri dönmesine izin verir ve seri monitör aracılığıyla dönüş yönüne ilişkin basit görsel geri bildirim sağlar.

okuyucu yorumlarıOKUYUCU YORUMLARI

Yorum yapabilmek için giriş yapmalısınız.

Sıradaki içerik:

ESP32 ile Step Motor Sürmek

Araç çubuğuna atla