BAĞLAN

Alarm Sistemli Dc Motor Hız Kontrolü Projesi

  • Görüntüleme 4152
  • Bu projemizde ivmeölçer ile dc motorun hız kontrolünü yapacağız.Fakat ek olarak hız seviyesine göre uyarı veren sistem ekleyeceğiz.Peki bu sistem ne işimize yarayabilir?Örneğin robotun üzerine ivme ölçeri koyarak eğime göre robotun motorlarının hızını otonom ayarlayabilir.Eğim fazla ise motorlara daha çok güç vererek eğimi çıkmasını sağlar.Ayrıca bir sonraki projede bu sistemi bluetooth üzerinden kablosuz kontrol edeceğiz.

    Malzemeler:

    1. Arduino
    2. Mpu6050 gyro sensör
    3. Dc Motor
    4. Buzzer
    5. Jumper Kablo

    Projemizde motor sürücü kullanmaya gerek duymadım.Sadece motorun hız kontrolünü yapacağımız için analog ile voltaj edeğerinde değişiklik olacak.Eğer çift yönlü sürseydik sürücü kullanmamız gerekirdi.

    Elektronik Kısım:

     

    Elektronik Devre Şeması:

    Motorun bir pinini 9. dijital pine diğerini de gnd pine, buzzer artı ucunu 12. dijital pine eksi ucunu gnd ye takalım.Arduino uno kullanacaksanız ivmeölçer sensörün scl pinini analog 5’e, sda pinini de analog 4’e takalım.Mega kullanıyorsanız zaten pinleri mevcut üzerinde yazıyor.

    Bütün devre bağlantılarını yaptıktan sonra yazılım kısmına geçebiliriz.

    Yazılım Kısmı:

    //Yazılım Geliştirme By Robimek - 2015
    //Yazılım Lisans By Robimek
    //www.robimek.com
    #include "Wire.h"
    #include "I2Cdev.h"
    #include "MPU6050.h"
    MPU6050 mpu;
    int16_t ax, ay, az;
    int16_t gx, gy, gz;
    int speed_value = 9;
    int gyro_value;
    int buzzerpin = 12;
    int motor_value;
    void setup()
    {
    Wire.begin();
    Serial.begin(38400);
    pinMode(buzzerpin, OUTPUT);
    digitalWrite(buzzerpin,HIGH);
    Serial.println("Initialize MPU");
    mpu.initialize();
    Serial.println(mpu.testConnection() ? "Bağlandi" : "Bağlanmadi");
     
    }
     
    void loop()
    {
    mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
    gyro_value = map(ax, 0, 17000, 0,255);
    motor_value=abs(gyro_value);
    Serial.println(motor_value);
    analogWrite(speed_value,motor_value);
    if(motor_value <75) { digitalWrite(buzzerpin, HIGH); } if(motor_value >=75 && motor_value <100) { digitalWrite(buzzerpin, LOW); beep(200); } if(motor_value >=100 && motor_value <150) { digitalWrite(buzzerpin, LOW); beep(150); } if(motor_value >=150 && motor_value <200) { digitalWrite(buzzerpin, LOW); beep(75); } if(motor_value >=200)
    {
    digitalWrite(buzzerpin, LOW);
    beep(10);
    }
    delay(100);
    }
    void beep(unsigned char delayms)
     
    {
    analogWrite(12, 255);
    delay(delayms);
    analogWrite(12, 0);
    delay(delayms);
    }
    

    Yazılımda sadece x eksenindeki açısal ivmelenme ölçülerek algoritma oluşturuldu.

     

    PAYLAŞ

    Sezgin GÜL

    Makine Mühendisi, Maker, Robotik Sistemler Uzmanı

    3 Yorum "Alarm Sistemli Dc Motor Hız Kontrolü Projesi"

    1. serkan
      15 Ağustos 2016

      hocam mpu6050 kullanarak helikopter kumanda etmek istiyorum nasıl bir yol izleyebilirim…

      Cevapla
    2. hüseyin
      29 Ocak 2016

      hocam kütüphaneleri indiremedim link verebilirmisiniz

      Cevapla

    Bir yorum yaz

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Projeler Devamı

    Bizi Takip Et

    izmir escort- izmir escort- izmir escort- izmir escort- izmir escort