İçindekiler:

Arduino Kullanarak Motor Hız Ölçümü: 6 Adım
Arduino Kullanarak Motor Hız Ölçümü: 6 Adım

Video: Arduino Kullanarak Motor Hız Ölçümü: 6 Adım

Video: Arduino Kullanarak Motor Hız Ölçümü: 6 Adım
Video: Arduino ile 28BYJ-48 Step Motor Kullanımı, Potansiyometre ile Hız ve Yön Kontrolü 2024, Kasım
Anonim
Arduino Kullanarak Motor Hız Ölçümü
Arduino Kullanarak Motor Hız Ölçümü
Arduino Kullanarak Motor Hız Ölçümü
Arduino Kullanarak Motor Hız Ölçümü
Arduino Kullanarak Motor Hız Ölçümü
Arduino Kullanarak Motor Hız Ölçümü

Motor devrini ölçmek zor mu ???Sanmıyorum. İşte basit bir çözüm.

Kitinizdeki yalnızca bir IR sensörü ve Arduino bunu yapabilir.

Bu yazıda, IR sensörü ve Arduino UNO/nano kullanarak herhangi bir motorun RPM'sinin nasıl ölçüleceğini açıklayan basit bir eğitim vereceğim.

Gereçler:

1. Arduion uno(Amazon) / Arduion nano(Amazon)

2. IR Sensörü (Amazon)

3. DC motor herhangi bir (Amazon)

4. LCD 16*2 (Amazon)

Kullanılan aletler

1. Havya (Amazon)

2. Kablo Soyucu (Amazon)

Adım 1: Adım: 1 Sensörlerin ve Cihazların Çalışma Durumunu Sağlayın

IR Sensörü Nedir? IR sensörü, çevredeki bazı nesneleri algılamak için ışık yayan elektronik bir cihazdır. Bir IR sensörü, bir nesnenin ısısını ölçebilir ve hareketi algılayabilir. Genellikle, kızılötesi spektrumda, tüm nesneler bir tür termal radyasyon yayar. Bu tür radyasyonlar gözümüzle görülmez, ancak kızılötesi sensör bu radyasyonları algılayabilir.

DC Motor Nedir? Doğru akım (DC) motoru, elektrik enerjisini mekanik enerjiye dönüştüren bir elektrik makinesi türüdür. DC motorlar, elektrik gücünü doğru akım yoluyla alır ve bu enerjiyi mekanik dönmeye dönüştürür.

DC motorlar, çıkış miline sabitlenmiş bir rotorun hareketine güç sağlayan, üretilen elektrik akımlarından oluşan manyetik alanları kullanır. Çıkış torku ve hızı, hem elektrik girişine hem de motorun tasarımına bağlıdır.

Arduino nedir?

Arduino, kullanımı kolay donanım ve yazılıma dayalı açık kaynaklı bir elektronik platformdur. Arduino kartları girişleri okuyabilir - bir sensör üzerindeki ışık, bir düğmedeki parmak veya bir Twitter mesajı - ve bir çıkışa dönüştürebilir - bir motoru etkinleştirebilir, bir LED'i açabilir, çevrimiçi bir şeyler yayınlayabilir. Kart üzerindeki mikrodenetleyiciye bir dizi talimat göndererek kartınıza ne yapacağını söyleyebilirsiniz. Bunu yapmak için Arduino programlama dilini (Kablolama tabanlı) ve İşleme tabanlı Arduino Yazılımını (IDE) kullanırsınız.

ARDUINO IDE'yi indirin

Adım 2: Nasıl Çalışır?

Peki bunun mantığı nedir??

Kodlayıcıya çok benzer şekilde çalışır. Yeni başlayanlar için kodlayıcıları anlamak zordur. Bilmeniz gereken tek şey, IR sensörünün darbe ürettiği ve her darbe arasındaki zaman aralığını öğrendiğimizdir.

Bu durumda IR sensörü, IR ışını motor pervaneleri ile kesildiğinde Arduino'ya bir darbe gönderecektir. Normalde iki kanatlı pervaneler kullanıyoruz ama ben şekilde görüldüğü gibi üç kanatlı pervane kullandım. Pervane kanat sayısına bağlı olarak RPM'yi hesaplarken bazı değerleri değiştirmemiz gerekiyor.

iki kanatlı bir pervanemiz olduğunu düşünelim. Her devirli motor için bıçak, IR ışınını iki kez kesecektir. Böylece IR sensörü, kesiştiği zaman darbeler üretecektir.

Şimdi IR sensörü tarafından belirli bir zaman aralığında üretilen darbe sayısını ölçebilecek bir program yazmamız gerekiyor.

Bir sorunu çözmenin birden fazla yolu var ama bu kodlarda hangisi daha iyi onu seçmeliyiz. Kesintiler arasındaki süreyi ölçtüm (IR sensörü) Darbelerin süresini mikro saniye cinsinden ölçmek için micros() fonksiyonlarını kullandım.

RPMRPM = ((1/süre)*1000*1000*60)/bıçakları ölçmek için bu Formülü kullanabilirsiniz

nerede, süre - darbeler arasındaki zaman aralığı.

60 - saniye ila dakika

1000 - değirmenden saniyeye

1000 - mikrodan öğütmeye

kanatlar - pervanede kanat yok.

LCD Ekran - Arduino, LCD ekranın komut ve veri kayıtlarını günceller. Hangi ASCII karakterlerini LCD ekranda görüntüler.

Adım 3: Arduino'nuzu Arduino IDE Kullanarak Programlayın

#Dahil etmek

LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; //IR sensörü INPUT imzasız uzun prevmicros; // İşaretsiz uzun süreyi saklamak için; // Zaman farkını imzasız uzun lcdrefresh saklamak için; // lcd'nin yenileme süresini kaydetmek için int rpm; // RPM değeri boolean akım durumu; // IR giriş taramasının mevcut durumu boolean prevstate; // Önceki tarama void kurulumundaki IR sensörünün durumu() { pinMode(IR_IN, INPUT); lcd.başla(16, 2); önceki mikrolar = 0; önceki durum = DÜŞÜK; } geçersiz döngü() { //////////////////////////////////////// ///////////////////////////////// RPM Ölçüm akımı durumu = digitalRead(IR_IN); // IR sensör durumunu oku if(prevstate != currentstate) // Girişte değişiklik varsa { if(currentstate == LOW) // Giriş sadece HIGH'dan LOW'a değişirse { süre = (micros() - prevmicros); // Mikrosaniye rpm cinsinden devir arasındaki zaman farkı = ((60000000/süre)/3); // rpm = (1/ milis zaman)*1000*1000*60; önceki mikrolar = mikrolar(); // nect devir hesaplaması için zamanı sakla } } prevstate = currentstate; // bu tarama (önceki tarama) verilerini sonraki tarama için sakla //////////////////////////////// ////////////////////////////////////////// ((millis()-lcdrefresh) >= 100) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Motor Hızı"); lcd.setCursor(0, 1); lcd.print("RPM = "); lcd.print(rpm); lcdrefresh = millis(); } }

Adım 4: Proteus Kullanarak Simülasyon

Proteus Kullanarak Simülasyon
Proteus Kullanarak Simülasyon

Bunu proteus yardımıyla simüle etmeye çalıştığımda bu proje gayet iyi çalıştı.

Kızılötesi sensörü kullanmak yerine, IR ışınları pervane kanatlarına çarptığında oluşturulana benzer IR darbesini simüle edecek DC darbe üreteci kullandım.

kullandığınız sensöre göre programınızda değişiklik yapmanız gerekir.

LM358'li IR sensörü bu komutu kullanmalıdır.

if(currentstate == HIGH) // Giriş sadece DÜŞÜK'ten YÜKSEK'e değişirse

LM359'lu IR sensörü bu komutu kullanmalıdır.

if(currentstate == LOW) // Giriş yalnızca YÜKSEK'ten DÜŞÜK'e değişirse

Adım 5: Donanım Yürütme

Donanım Yürütme
Donanım Yürütme
Donanım Yürütme
Donanım Yürütme
Donanım Yürütme
Donanım Yürütme

Şematik için simülasyon resimlerini kullanın veya program kodlarına bakın ve buna göre bağlantıları yapın. Program kodunu Arduino'ya yükleyin ve herhangi bir motorun RPM'sini ölçün. Bir sonraki gönderi için takipte kalın ve YouTube kanalımı izleyin.

Önerilen: