Senin, 10 Maret 2014

RUMUS PENCARIAN RPM

RPM adalah Radian Per Menit , maksudnya berapa jumlah putaran motor per menit nya , jadi bisa dibilang itu adalah kecepatan motor tersebut , ada banayak rumus untuk mengetahui jumlah RPM , diantara nya :

 Cara mencari RPM :

Cara 1

Dari gambar diatas ada :

      8 lubang
      Time sampling 400ms
Penyelesaian:

Kita ubah kedalam satuan menit

400ms/60s = 0,0066666

Misalkan mendeteksi 80 lubang

80/8 = 10 putaran dalam 400ms

Maka,

RPM = 10/0,0066666 = 1500,015 RPM


Cara 2

n = 120 × f ÷ p

dimana:
n = jumlah putaran, dalam satuan rpm
f = frekuensi, dalam satuan Hz
p = jumlah kutub

pada frekuensi 30 Hz, maka rpm motornya sebesar
n = 120 × f ÷ p = 120 × 30 ÷ 4 = 900 rpm
pada frekuensi 20 Hz, maka rpm motornya sebesar
n = 120 × f ÷ p = 120 × 20 ÷ 4 = 600 rpm
pada frekuensi 10 Hz, maka rpm motornya sebesar
n = 120 × f ÷ p = 120 × 10 ÷ 4 = 300 rpm

Cara 3

cara ini saya dapatkan dari dosen saya , tapi rumus ini lebih mengarah ke RPS (Radian Per Secon)

Time Sumpling 1000ms
b = p / ppr

b    = Jumlah RPS
p    = Jumlah pulsa atau pulsa yang terbaca
ppr =-Jumlah lubang atau jumlah pulsa pada sensor rotary encoder


Contoh Program pada CVavr

#include <mega32a.h>
#include <stdlib.h>
#include <delay.h>

// Alphanumeric LCD functions
#include <alcd.h>

int p;
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
    p++;

}

int a, b;
unsigned char c [8], d [8], e [8];

while (1)
      {
        a = read_adc (0);
       
        p=0;
        delay_ms (1000);
        b = p/100;
       
        itoa (p,c);
        itoa (b,d);
        itoa (a,e);
        PORTD.6 = 1; PORTD.7 = 0;
        OCR1A = a;
       
        if (a == 0)
        {
            p = 0;
            lcd_clear ();
        }
       
        lcd_gotoxy (0,0);
        lcd_puts ("Pulsa = ");
        lcd_gotoxy (8,0);
        lcd_puts (c);
       
       
        lcd_gotoxy (0,1);
        lcd_puts ("RPS = ");
        lcd_gotoxy (6,1);
        lcd_puts (d);
       
      }