Jumat, 15 April 2016

Cara Membuat Alat Ukur Kecepatan Putaran Motor DC Sederhana dengan Menggunakan Arduino

          selamat datang di blog Sharing Ilmu Mekatronika................................
          pada postingan kali ini akan dibahas tentang cara membuat alat ukur kecepatan motor dc dengan menggunakan arduino. Cara kerja alat ini sederhana sekali yaitu dengan menghitung jumlah putaran motor dc kemudian dibagi dengan nilai timer arduino. Dalam pembuatan alat digunakan sensor cahaya (LDR atau Photodioda) yang diatasnya dipasang sebuah led. Pada poros motor dc dipasang seperti baling-baling yang berputar sesuai putaran motor dc. Saat baling-baling tersebut menghalangi cahaya dari led menuju ke sensor maka jumlah  putaran motor dc dihitung tambah satu. Jumlah hitungan putaran motor dc akan di bagi dengan nilai timer internal arduino.
          Untuk membuat alat ukur kecepatan putaran motor dc ini diperlukan beberapa komponen yaitu:
  • led
  • R 330 ohm
  • R 10k ohm
  • trimpot 10k
  • photodioda
  • ic lm358
  • board Arduino dan Arduino IDE 
          Langkah pertama yang harus dilakukan adalah membuat rangkaian sensor cahaya beserta rangkaian komparator. Output dari Op-Amp dihubungkan ke pin arduino sebagai input. Berikut ini ditampilkan rangkaian sensor cahaya pada Gambar 1 dan rangkaian komparator pada Gambar 2.
Gambar 1. rangkaian sensor cahaya.

Gambar 2. rangkaian komparator.

          Pada rangkaian sensor cahaya posisi LED dan photodioda saling berhadapan. Pada Gambar 3 dapat dilihat rangkaian elektronika yang telah jadi.
Gambar 3. Rangkaian yang sudah siap.
          Langkah selanjutnya adalah membuat program pada arduino uno untuk alat ukur kecepatan motor dc. Tetapi, sebelumnya akan lebih baik jika kita membahas tentang timer pada arduino uno. Pada arduino terdapat beberapa function untuk timer diantaranya adalah:
  • delay() berfungsi untuk memberikan waktu tunda untuk eksekusi program pada baris selanjutnya dalam satuan detik.
  • delayMicrosecond() berfungsi untuk memberi tunda untuk eksekusi program pada baris selanjutnya dalam satuan mikro sekon. 
  • millis() berfungsi sebagai timer internal saat arduino mulai aktif dan akan terus menghitung hingga 50 hari. satuan dari nilai millis() adalah mili sekon.
  • micros() berfungsi sebagai timer internal saat arduino mulai aktif dan akan terus menghitung sampai 70 jam. satuan dari nilai micros() adalah mikro sekon.
          Baiklah, selanjutnya mari kita bahas program untuk alat ukur kecepatan putaran motor dc. Program yang ditulis pada arduino IDE adalah sebagai berikut:


int pin_counter = 7;

kode diatas adalah untuk inisialisasi pin arduino. maksud kode diatas adalah pin_counter adalah pin nomor 7 pada board arduino.

int counter = 0;
int kondisi_sekarang =0;
int kondisi_tadi =0;
int timer;
long rpm=0;
int x,y;

pada program ini terdapat beberapa variabel yang diperlukan seperti yang terlihat pada kode diatas.

void setup ()
{
    pinMode(pin_counter, INPUT); 
    Serial.begin(9600);
}

pada void setup dibuat kode untuk mengeklarasikan pin_counter (pin 7) sebagia pin input. pin input ini dihubungkan ke output Op-Amp. selain itu, dipanggil juga fungsi untuk komunikasi serial dimana tujuannya adalah untuk bisa mengakses serial monitor pada arduino IDE. Dengan mengakses serial monitor maka pembacaan pengukuran kecepatan motor dc dapat dilihat pada pc.

void loop ()
{   millis();

     berfungsi untuk mengaktifkan timer tipe millis pada arduino dengan satuan mili sekon.
    x= millis()/1000;

     x adalah nilai timer dalam satuan sekon.

    if (digitalRead(pin_counter)==HIGH)
    {
      kondisi_sekarang = 1;      
    }
    else
    {
      kondisi_sekarang= 0;
    }

     jika input pada pin_counter adalah high maka nilai kondisi_sekarang adalah 1. jika input pada pin_counter adalah low maka nilai kondisi_sekarang adalah 0.

    if(kondisi_sekarang!=kondisi_tadi)
    { 
        if(kondisi_sekarang==1)
        {
            counter++;
        }
    }

     jika nilai kondisi_sekarang tidak sama dengan nilai kondisi_tadi kemudian apabila nilai kondisi_sekarang adalah 1 maka nilai counter akan bertambah 1. Pada kode ini bisa diartikan bahwa nilai counter akan bertambah saat adalah perubahan sinyal input dari logika 0 ke logika 1 atau biasa dikenal sebagai rising edge. 

    kondisi_tadi=kondisi_sekarang;

     apabila eksekusi program telah sampai pada baris ini, maka nilai kondisi_sekarang akan berubah menjadi nilai kondisi_tadi. proses ini akan terjadi saat setiap proses looping dilakukan. 
   
    y= counter * 60;
    rpm = y/x;
    Serial.println(rpm);
    delay(10);


     kode terakhir pada program void loop ini adalah rumus untuk mendapat nilai kecepatan putaran motor dc dalam satuan RPM. y adalah nilai counter yang dikalikan dengan 60. tujuan dikalikan dengan 60 adalah untuk mendapat satuan menit pada nilai timer. sedangkan nilai rpm adalah nilai y dibagi nilai x. kemudian nilai rpm akan ditampilkan pada serial monitor arduino. kode delay (10) berfungsi memberi waktu tunda untuk masuk ke looping selanjutnya. 

          Pada saat program dijalankan bukalah serial monitor pada software arduino IDE untuk melihat hasil pembacaan pengukuran. berikut adalah langkah-langkah untuk membuka serial monitor pada arduino IDE:

  • pada arduino IDE pilihlah menu tools
  • kemudian pilih serial monitor
  • cara yang lebih singkatnya adalah dengan menekan tombol ctrl + shift + m. 
          Gambar 4 adalah contoh tampilan serial monitor saat dilakukan pengukuran kecepatan motor dc

Gambar 4. tampilan serial monitor saat pengukuran kecepatan motor dc.

          demikianlah penjelasan tentang membuat alat ukur kecepatan motor dc sederhana dengan menggunakan arduino. terima kasih telah membaca sharing ilmu kali ini semoga postingan ini bermanfaat. Mohon maaf apabila ada kesalahan dalam penulisan...

see you di postingan selanjutnya... mari saling berbagi ilmu.... :)





8 komentar:

  1. Hal yang tidak pernah terbayankan kini menjadi kenyataan dengan keluargaku,,,untuk AKI.NAWE kami ucapkan banyak terimakasih karna berkat bantuannya ALHAMDULILLAH keluarga kami bisa lepas dari hutang dan masalah,karna nomor “GHOIB”untuk pasang togel,hasil ritual KI NAWE meman benar2 merubah nasib kami hanya sekejap,dan disitulah aku berkesempatan kumpulkan uang untuk buka usaha kembali,karna baik rumah sudah disita,,warung makan jg sudah bangkrut,,tapi itu semua aku masih tetap bertahan hidup dengan anak istriku,,walau cuma kontrak tapi aku tetap bersabar dan akhirnya KI NAWE lah yang bisa merubah nasib kami..KI NAWE orang paling bersejarah kepada keluarga saya…!!! Kepada teman2 yang di lilit hutang dan ingin merubah nasib baik dari pada sekaran HBG: 085=218=379=259=AKI NAWE,dengan penuh harapan INSYAH ALLAH pasti tercapai dan sudah terbukti.












    BalasHapus
  2. gan, itu programnya dari laptop bukan?

    BalasHapus
  3. Iya gan, menggunakan software arduino ide

    BalasHapus
  4. Gan serial monitor nya error terus ya.. devices busy melulu..

    BalasHapus
  5. nilai x dalam satu kali loop berapa gan?

    BalasHapus
  6. kak mau tanya, tiap putaran pada rotary nya ini ada brp counter kak? terimakasih

    BalasHapus
  7. Titanium Blade - Titanium Arc - Titanium Arts
    Titanium Blade · Open toothpick open comb. titanium white dominus · Open comb. · Open comb. · Open หารายได้เสริม comb. · titanium pans Open comb. · snow peak titanium spork Open comb. · Open comb. titanium bike frame · Open comb.

    BalasHapus