- RPM motor DC : Perancangan Alat
- RPM Motor DC : Pengaturan Timer 8 bit
- RPM Motor DC : Pengaturan Timer 16 bit
Berikut ini adalah langkah terakhir dalam menentukan kecepatan putaran motor DC dalam RPM (Revolutions Per Minute) , dan untuk mengingat kembali, berikut spesifikasinya :
- Motor DC satu arah.
- Sensor berupa encoder piringan menggunakan lubang.
- Lubang = logika 0, No lubang = logika 1.
- Banyak lubang 4 buah dengan perbedaan 90 derajat.
- Update nilai RPM setiap 1 detik.
- Interupsi encoder dengan mode Falling Edge / NGT
Logika perhitungan RPM
Encoder yang digunakan adalah tipe piringan yang menggunakan lubang atau garis hitam-putih, banyaknya lubang adalah 4 buah lubang maka 1 putaran = 4 lubang.
Kasus 1: Interupsi eksternal mendeteksi 2400 lubang dalam waktu 1 menit yang berarti :
- 1 menit terdeteksi 2400 lubang (Clock lubang), maka
- 2400 / 4 = 600 putaran atau 600 RPM
- 30 detik = 30/60 = 0,5 menit
- 1800 / 4 = 450 putaran dalam 30 detik, maka
- 450 / 0,5 = 900 RPM
- 200 mS = 200 / 60000 = 0,0033333 menit
- 60/ 4 = 15 putaran dalam 200 mS, maka
- 15 / 0,0033333 = 4500,045 RPM
- 1 S = 1 / 60 = 0,016667 menit
- 100 / 4 = 25 putaran dalam 1 S, maka
- 25 / 0,016667 = 1.499,97 RPM
Coding CoViAVR
Pada post sebelumnya, Timer yang digunakan adalah timer 8 bit, lalu interupsi eksternal menggunakan mode falling edge, tampilan data RPM akan ditampilkan ke komputer melalui port serial dengan protokol 9600,8,N,1.
Langkah-langkah :
- Jalankan program CoViAVR, buat project baru, dan gunakan CodeWizzardAVR.
- Atur komunikasi serial, interupsi Eksternal dan timer 8 bit.
Selanjutnya silahkan lihat coding berikut :
Oiya.. lupa aktifin kedap-kedip LED-nya..
Silahkan koreksi sendiri ya..
Udah teranjur d upload gambarnya..
CMIIW.. Ok.
Semoga manfaat ;)