Daftar Isi:

Pengukuran Kecepatan Motor Menggunakan Arduino: 6 Langkah
Pengukuran Kecepatan Motor Menggunakan Arduino: 6 Langkah

Video: Pengukuran Kecepatan Motor Menggunakan Arduino: 6 Langkah

Video: Pengukuran Kecepatan Motor Menggunakan Arduino: 6 Langkah
Video: Tutorial Arduino Mengatur kecepatan dan arah putaran motor DC mengunakan driver L298N 2024, November
Anonim
Pengukuran Kecepatan Motor Menggunakan Arduino
Pengukuran Kecepatan Motor Menggunakan Arduino
Pengukuran Kecepatan Motor Menggunakan Arduino
Pengukuran Kecepatan Motor Menggunakan Arduino
Pengukuran Kecepatan Motor Menggunakan Arduino
Pengukuran Kecepatan Motor Menggunakan Arduino

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

Simulasi Menggunakan Proteus
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

Eksekusi Perangkat Keras
Eksekusi Perangkat Keras
Eksekusi Perangkat Keras
Eksekusi Perangkat Keras
Eksekusi Perangkat Keras
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.

Direkomendasikan: