Daftar Isi:
Video: Pengukuran Kecepatan Motor Menggunakan Arduino: 6 Langkah
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Apakah sulit untuk mengukur rpm motor ???Saya rasa tidak. Berikut adalah salah satu solusi sederhana.
Hanya satu sensor IR dan Arduino dalam kit Anda yang dapat melakukannya.
Dalam posting ini saya akan memberikan tutorial sederhana yang menjelaskan cara mengukur RPM motor apa pun menggunakan sensor IR dan Arduino UNO/nano
Perlengkapan:
1. Arduino uno (Amazon) / Arduino nano (Amazon)
2. Sensor IR (Amazon)
3. Motor DC apa saja (Amazon)
4. LCD 16*2 (Amazon)
Alat yang digunakan
1. Besi Solder (Amazon)
2. Pengupas Kawat (Amazon)
Langkah 1: Langkah: 1 Pastikan Kondisi Kerja Sensor dan Perangkat
Apa itu Sensor IR? Sensor IR adalah perangkat elektronik, yang memancarkan cahaya untuk merasakan beberapa objek di sekitarnya. Sensor IR dapat mengukur panas suatu objek serta mendeteksi gerakan. Biasanya, dalam spektrum inframerah, semua benda memancarkan beberapa bentuk radiasi termal. Jenis radiasi ini tidak terlihat oleh mata kita, tetapi sensor inframerah dapat mendeteksi radiasi ini.
Apa itu Motor DC? Motor arus searah (DC) adalah jenis mesin listrik yang mengubah energi listrik menjadi energi mekanik. Motor DC mengambil daya listrik melalui arus searah, dan mengubah energi ini menjadi rotasi mekanis.
Motor DC menggunakan medan magnet yang terjadi dari arus listrik yang dihasilkan, yang menggerakkan pergerakan rotor yang dipasang di dalam poros keluaran. Torsi dan kecepatan keluaran tergantung pada masukan listrik dan desain motor.
Apa itu Arduino?
Arduino adalah platform elektronik open-source berdasarkan perangkat keras dan perangkat lunak yang mudah digunakan. Papan Arduino dapat membaca input - menyalakan sensor, jari pada tombol, atau pesan Twitter - dan mengubahnya menjadi output - mengaktifkan motor, menyalakan LED, menerbitkan sesuatu secara online. Anda dapat memberi tahu papan Anda apa yang harus dilakukan dengan mengirimkan satu set instruksi ke mikrokontroler di papan tulis. Untuk melakukannya, Anda menggunakan bahasa pemrograman Arduino (berdasarkan Pengkabelan), dan Perangkat Lunak Arduino (IDE), berdasarkan Pemrosesan.
Unduh ARDUINO IDE
Langkah 2: Bagaimana Cara Kerjanya?
Jadi apa logika di balik ini??
Ia bekerja sangat mirip dengan encoder. Encoder sulit dipahami untuk pemula. Yang perlu Anda ketahui adalah sensor IR menghasilkan pulsa dan kami mencari tahu interval waktu antara setiap pulsa.
Dalam hal ini sensor IR akan mengirimkan pulsa ke Arduino ketika sinar IR-nya dicegat dengan baling-baling motor. Biasanya kami menggunakan baling-baling dengan dua bilah tetapi saya telah menggunakan baling-baling dengan tiga bilah seperti yang ditunjukkan pada gambar. tergantung pada jumlah bilah baling-baling, kita perlu memodifikasi beberapa nilai saat menghitung RPM.
mari kita anggap kita memiliki baling-baling yang memiliki dua bilah. Untuk setiap putaran motor sudu akan mencegat sinar IR dua kali. Dengan demikian sensor IR akan menghasilkan pulsa setiap kali penyadapan.
Sekarang kita harus menulis program yang dapat mengukur jumlah pulsa yang dihasilkan oleh sensor IR pada interval waktu tertentu.
Ada lebih dari satu cara untuk memecahkan masalah tetapi kita harus memilih mana yang terbaik dalam kode ini. Saya telah mengukur durasi antara interupsi (sensor IR) Saya menggunakan fungsi mikro () untuk mengukur durasi pulsa dalam detik mikro.
Anda dapat menggunakan Rumus ini untuk mengukur RPMRPM = ((1/durasi)*1000*1000*60)/blade
dimana, durasi - interval waktu antar pulsa.
60 - detik ke menit
1000 - gilingan ke dtk
1000 - mikro ke gilingan
bilah - tidak ada sayap di baling-baling.
Layar LCD - Arduino memperbarui perintah dan register data layar LCD. Yang menampilkan karakter ASCII pada layar LCD.
Langkah 3: Program Arduino Anda Menggunakan Arduino IDE
#termasuk
LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; //IR sensor INPUT unsigned long prevmicros; // Untuk menyimpan waktu unsigned long duration; // Untuk menyimpan perbedaan waktu unsigned long lcdrefresh; // Untuk menyimpan waktu bagi lcd untuk me-refresh int rpm; // nilai RPM boolean status saat ini; // Keadaan saat ini dari input IR scan boolean prevstate; // Status sensor IR pada pemindaian sebelumnya void setup() { pinMode(IR_IN, INPUT); lcd.begin(16, 2); prevmicros = 0; keadaan awal = RENDAH; } void loop() { /////////////////////////////////////////////////////// //////////////////////////////////// RPM Pengukuran status arus = digitalRead(IR_IN); // Membaca status sensor IR if(status sebelumnya != status saat ini) // Jika ada perubahan input { if(keadaan saat ini == RENDAH) // Jika input hanya berubah dari TINGGI ke RENDAH { durasi = (mikro() - sebelumnyamikro); // Perbedaan waktu antara putaran dalam mikrodetik rpm = ((60000000/durasi)/3); // rpm = (1/ milis waktu)*1000*1000*60; prevmicros = mikro(); // menyimpan waktu untuk perhitungan putaran selanjutnya } } prevstate = currentstate; // simpan data pemindaian ini (pemindaian sebelumnya) untuk pemindaian berikutnya /////////////////////////////////// ////////////////////////////////////////////// Layar LCD jika ((milis()-lcdrefresh) >= 100) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Kecepatan Motor"); lcd.setCursor(0, 1); lcd.print("RPM = "); lcd.print(rpm); lcdrefresh = milis(); } }
Langkah 4: Simulasi Menggunakan Proteus
Proyek ini bekerja dengan sangat baik ketika saya mencoba mensimulasikan ini dengan bantuan proteus.
Alih-alih menggunakan sensor IR, saya menggunakan generator pulsa DC yang akan mensimulasikan pulsa IR yang serupa dengan yang dihasilkan ketika sinar IR mengenai bilah baling-baling.
Anda harus membuat perubahan pada program Anda tergantung pada sensor yang Anda gunakan
Sensor IR dengan LM358 harus menggunakan perintah ini.
if(currentstate == HIGH) // Jika input hanya berubah dari LOW ke HIGH
Sensor IR dengan LM359 harus menggunakan perintah ini.
if(currentstate == LOW) // Jika input hanya berubah dari HIGH ke LOW
Langkah 5: Eksekusi Perangkat Keras
Untuk skema, gunakan gambar simulasi atau referensi kode program dan buat koneksi yang sesuai. Unggah kode program ke Arduino dan ukur RPM motor apa pun. Nantikan postingan saya selanjutnya dan tonton channel YouTube saya.