e
sv

ESP32 ile Servo Motor Kontrolü

506 Okunma — 26 Ocak 2024 20:50
ESP32 ile Servo Motor Kontrolü
avatar

Admin

  • e 0

    Mutlu

  • e 0

    Eğlenmiş

  • e 0

    Şaşırmış

  • e 0

    Kızgın

  • e 0

    Üzgün

ESP32 Nedir

ESP32, Espressif Systems tarafından üretilen bir mikrodenetleyici ve Wi-Fi/Bluetooth modülü entegresidir. ESP32, özellikle Internet of Things (IoT) uygulamaları için tasarlanmış bir platformdur ve düşük maliyetli, enerji verimli ve yüksek performanslı bir çözüm sunar. ESP32, popüler ESP8266 mikrodenetleyicisinin gelişmiş bir versiyonudur.

İşte ESP32’nin temel özellikleri:

  1. Çift Çekirdekli İşlemci: ESP32, iki adet Tensilica Xtensa LX6 çekirdeğine sahiptir. Bu, paralel işlemleri destekler ve genel performansı artırır.
  2. Wi-Fi ve Bluetooth: ESP32, entegre bir Wi-Fi modülü ve Bluetooth Low Energy (BLE) modülü içerir. Bu, cihazın kablosuz ağlara bağlanmasını ve Bluetooth cihazlarla iletişim kurmasını sağlar.
  3. Düşük Güç Tüketimi: ESP32, enerji verimliliği ön planda tutularak tasarlanmıştır. Uyku modları ve güç tüketimini optimize eden özellikler, batarya destekli ve enerji duyarlı uygulamalar için uygundur.
  4. Geniş Giriş/Çıkış Pinleri (GPIO): ESP32, bir dizi geniş GPIO pinine sahiptir, bu da sensörler, ekranlar, motorlar ve diğer harici cihazlarla kolayca entegre edilebilmesini sağlar.
  5. Analog Girişler ve ADC: ESP32, analog sensörleri okumak için Analog-Dijital Dönüştürücü (ADC) pinlerine sahiptir.
  6. Çeşitli Protokollerin Desteği: ESP32, SPI, I2C, UART gibi iletişim protokollerini destekler, bu da çeşitli sensörler ve diğer cihazlarla iletişim kurabilme yeteneği sağlar.
  7. Geliştirme Platformları İle Uyum: Arduino IDE, PlatformIO ve Espressif’in kendi IDF (IoT Development Framework) gibi geliştirme ortamları ile uyumludur.

ESP32, geniş bir uygulama yelpazesi için kullanılabilir, özellikle IoT projeleri, giyilebilir teknolojiler, akıllı ev uygulamaları, endüstriyel otomasyon ve daha birçok alanda. Bu mikrodenetleyici, topluluk tarafından desteklenmekte ve birçok kaynak ve belge mevcuttur.

ESP32 ile Servo Motor Kontrolü
ESP32 ile Servo Motor Kontrolü 5

Servo Motor Nedir

Servo motorlar, genellikle belirli bir açı veya pozisyon aralığında dönebilen, küçük, özel tasarlanmış motorlardır. Bu motorlar, genellikle geri besleme mekanizmaları ile donatılmıştır, bu sayede belirli bir konumda kalabilir ve belirli bir konuma doğru dönebilirler. Servo motorlar, bir kontrol sinyali ile belirli bir konum veya açıya doğru hareket etmelerini sağlayan bir mekanizmaya sahiptir.

Bir servo motor genellikle şu ana bileşenleri içerir:

  1. Motor: Temel hareketi sağlayan DC motor veya daha gelişmiş modellerde AC motor.
  2. Redüktör: Motorun dönme hızını azaltan dişli sistemidir. Bu, daha yüksek tork ve düşük hız elde etmeyi sağlar.
  3. Kontrol Devresi: Motorun doğru konumda kalmasını sağlamak için kullanılan geri besleme mekanizmalarını kontrol eden elektronik devre.
  4. Pozisyon Geri Bildirim Mekanizması: Motorun şu anki konumunu belirlemek için kullanılan potansiyometre veya enkoder gibi bir geri bildirim cihazı.

Servo motorlar, genellikle belirli bir pozisyonu sabit tutma veya belirli bir hareketi belirli bir açıda gerçekleştirme ihtiyacı olan uygulamalarda kullanılır. Örneğin, robotik sistemler, model uçak kontrol yüzeyleri, kamera stabilizasyon sistemleri ve otomotiv uygulamalarında servo motorlar sıkça kullanılır. Bu motorlar genellikle hassas kontrol ve doğru konum tutma yetenekleri nedeniyle tercih edilir.

ESP32 ile Servo Motor Kontrolü
ESP32 ile Servo Motor Kontrolü 6

ESP32, Wi-Fi ve Bluetooth özellikleri ile donatılmış bir mikrodenetleyici kartıdır ve birçok IoT (Nesnelerin İnterneti) projesinde kullanılabilir. Servo motor kontrolü, bir ESP32 mikrodenetleyici kullanılarak gerçekleştirilebilecek yaygın bir uygulamadır.

Servo motorları kontrol etmek için ESP32 kullanırken, genellikle Pulse Width Modulation (PWM) sinyallerini kullanarak servo motorun pozisyonunu ayarlamak mümkündür. İşte basit bir ESP32 ile servo motor kontrolü için bir örnek kod:

#include <Servo.h>
#define SERVO_PIN 26 // ESP32 pin GPIO26 connected to servo motor
Servo servoMotor;

void setup() {
  servoMotor.attach(SERVO_PIN);  // attaches the servo on ESP32 pin
}

void loop() {
  
  // rotates from 0 degrees to 180 degrees
  for (int pos = 0; pos <= 180; pos += 1) {
    // in steps of 1 degree
    servoMotor.write(pos);
    delay(15); // waits 15ms to reach the position
  }

  // rotates from 180 degrees to 0 degrees
  for (int pos = 180; pos >= 0; pos -= 1) {
    servoMotor.write(pos);
    delay(15); // waits 15ms to reach the position
  }
}

Bu örnek kod, Servo kütüphanesini kullanır. Servo nesnesi oluşturulur ve belirli bir pine (örneğin, D2) bağlanır. Ardından, servoMotor.write(angle) komutuyla servo motorun açısını belirli bir derecede ayarlamak mümkündür. Bu örnekte, motor sırasıyla 0, 90 ve 180 derecelik açılara hareket ettirilir.

Not: Servo motorun güç gereksinimlerini ve bağlantılarını doğru bir şekilde kontrol ettiğinizden emin olun. Ayrıca, kodu ESP32 kartınıza yüklemek için Arduino IDE veya PlatformIO gibi geliştirme araçlarını kullanmanız gerekebilir.

ESP32 ile Servo Motor Kontrolü
ESP32 ile Servo Motor Kontrolü 7

Fonksiyonda loop()iki döngü bulunmaktadır for. İlk döngü, servo motorun konumunu 1 derecelik artışlarla kademeli olarak 0 dereceden 180 dereceye çıkarır. servoMotor.write(pos)servo motorun açısını değerine ayarlar posdelay(15)servo motorun istenen konuma sorunsuz bir şekilde ulaşmasını sağlamak için 15 milisaniyelik bir gecikme ekler. İkinci döngü daha sonra servo motorun konumunu aynı şekilde 180 dereceden 0 dereceye düşürür.

Bu kod, servo motorun her konum değişikliğinde 15 milisaniyelik bir gecikmeyle sürekli olarak 0 ila 180 derece arasında salınmasını sağlar.

Bu projenin çalışması aşağıdaki gibidir. Bir ESP32 WROOM mikro denetleyicisine bağlandığında, servo motorun konumu, yukarıda belirtilen kod kontrol ifadeleri tarafından yönlendirilen bir dizi darbe genişlik modülasyonu (PWM) sinyali aracılığıyla kontrol edilebilir hale getirilir. ESP32 tarafından üretilen PWM sinyallerinin görev döngüsünü modüle ederek, motor belirli bir açı aralığında, tipik olarak 0 ila 180 derece arasında dönecek şekilde yönlendirilir.

okuyucu yorumlarıOKUYUCU YORUMLARI

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

Sıradaki içerik:

ESP32 ile Servo Motor Kontrolü

Araç çubuğuna atla