İçindekiler:
- Adım 1: Adım: 1 Sensörlerin ve Cihazların Çalışma Durumunu Sağlayın
- Adım 2: Nasıl Çalışır?
- Adım 3: Arduino'nuzu Arduino IDE Kullanarak Programlayın
- Adım 4: Proteus Kullanarak Simülasyon
- Adım 5: Donanım Yürütme
Video: Arduino Kullanarak Motor Hız Ölçümü: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
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
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
Ş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:
Arduino Kullanarak DC MOTOR El Hareketi Kontrolü Hız ve Yön: 8 Adım
Arduino Kullanarak DC MOTOR El Hareketi Kontrolü Hız ve Yön Kontrolü: Bu eğitimde, arduino ve Visuino kullanarak el hareketleriyle bir DC motoru nasıl kontrol edeceğinizi öğreneceğiz. Videoyu izleyin! Şuna da göz atın: El hareketi Eğitimi
Arduino Kullanarak Güç Kaynağı Frekans ve Gerilim Ölçümü: 6 Adım
Arduino Kullanarak Güç Kaynağı Frekansı ve Gerilim Ölçümü: Giriş: Bu projenin amacı, Hindistan'da 220 ila 240 Volt ve 50Hz arasındaki besleme frekansını ve voltajını ölçmektir. Sinyal yakalamak ve frekans ve voltajı hesaplamak için bir Arduino kullandım, başka herhangi bir mikrokontu kullanabilirsiniz
HMC5883 ve Arduino Nano Kullanarak Manyetik Alan Ölçümü: 4 Adım
HMC5883 ve Arduino Nano Kullanarak Manyetik Alan Ölçümü: HMC5883, düşük alan manyetik algılama için tasarlanmış dijital bir pusuladır. Bu cihaz, +/-8 Oe geniş bir manyetik alan aralığına ve 160 Hz çıkış hızına sahiptir. HMC5883 sensörü, otomatik manyetiklik giderme kayış sürücüleri, ofset iptali ve bir
HW30A Fırçasız Motor Hız Kontrol Cihazı ve Servo Test Cihazı Kullanılarak Drone Quadcopter Fırçasız DC Motor Nasıl Çalıştırılır: 3 Adım
HW30A Fırçasız Motor Hız Kontrol Cihazı ve Servo Test Cihazı Kullanılarak Drone Quadcopter Fırçasız DC Motor Nasıl Çalıştırılır: Açıklama: Bu cihaz, servo motoru basit bir servo motora takmak ve ona güç beslemesi ile çalıştırmak için kullanılabilen Servo Motor Test Cihazı olarak adlandırılır. Cihaz ayrıca elektrikli hız kontrol cihazı (ESC) için bir sinyal üreteci olarak da kullanılabilir, o zaman
Drone Quadcopter Fırçasız DC Motor (3 Telli Tip) HW30A Motor Hız Kontrol Cihazı ve Arduino UNO Kullanılarak Nasıl Kontrol Edilir: 5 Adım
Drone Quadcopter Fırçasız DC Motor (3 Telli Tip) HW30A Motor Hız Kontrol Cihazı ve Arduino UNO Kullanılarak Nasıl Kontrol Edilir: Açıklama: HW30A Motor Hız Kontrol Cihazı 4-10 NiMH/NiCd veya 2-3 hücreli LiPo pil ile kullanılabilir. BEC, 3 adede kadar LiPo hücresiyle işlevseldir. Fırçasız DC motorun (3 telli) maksimum 12Vdc'ye kadar hızını kontrol etmek için kullanılabilir.Özel