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);
}
mantep.... ikut belajar dong lanjut....
BalasHapusUntuk menentukan kecepatan motor dgn jarak rumus gmn om?
BalasHapusCaranya brnafas gimana
BalasHapusberbelit belit
BalasHapusRumusnya mantep
BalasHapusWkwkwk gak ngerti
BalasHapus