Electronic Governor / Governor Elektronik mesin diesel

August 12, 2015 at 12:15 pm Leave a comment


Sebelum menulis alangkah baiknya kita berdoa, bersyukur kepada Tuhan atas segala nikmat yang kita terima.

PENDAHULUAN

Governor dalam mesin diesel berperan untuk mengatur supply bbm ke mesin. Setau saya  ada dua tipe governor, governor fixed speed dan variabel speed.

Tipe Fixed speed, governor berfungsi mengatur bbm sehingga dengan berubahnya beban, putaran mesin harus konstan.  Kebanyakan putaran mesin diesel kecil adalah 1500 rpm. Tipe fixed ini biasa digunakan untuk genset, pompa air pertanian, mesin selep, mesin industri dsb.

Tipe variabel speed, governor berfungsi mengatur bbm dengan berubahnya bukaan trottle gas dari operator. Biasa digunakan dalam mesin kapal, tugboat, speedboat, mesin mobil, dsb

Sebagai informasi spesifikasi diesel milik saya adalah sbb :

  • Merk Lister Petter LPW3 build 01 yang berarti Variabel speed sampai dengan 3000 rpm
  • Marine Engine, tidak menggunakan radiator, tapi menggunakan heat exchanger
  • 10 kw pada 1500 rpm, 2o kw pada 3000 rpm
  • Diesel di kopel dengan alternator Denyo Tipe FA-10 , kapasitas 10 kw 3 phase

Disarankan jangan menggunakan alternator merk china/RRC yang menggunakan lilitan aluminium, karena dijamin kurang puas.

ISI

Langsung saja saya paste di sini codenya. karena sudah ada keterangannya.

/***********************************************************************//**
* @file governor.c
* @purpose : – Mesin Lister Petter LPW3 build 01 adalah tipe variabel speed
* : – Governor mekanik adalah rumit
* : – Governor dikonntrol secara elektronik
*
* @ tool uc :
* – interupt
* – timer
* – 2 phase stepper squence
* @board : Cikotok 1.52
* @date : 12 Agustus 2015
* @author : Fana Akbarkan
*———————————————————————
**********************************************************************/
#define F_CPU 16000000
#include<util/delay.h>
#include<avr/io.h>
#include<avr/iom8.h>
#include<avr/interrupt.h>

#define LED PORTB0

//volatile uint16_t count=0; //Main revolution counter
volatile uint16_t pulsa=0, i=0; //Main revolution counter

volatile uint16_t freq =0; //Revolution per second

void init_IRQ()
{
MCUCR = 0x02; // 0x3 : rising edge, 0x02 : falling edge
GICR = 0x40; // (1<<INT0);
//pulsa=0;
}
void init_timer()
{

//Timer1 is used as 1 sec time base, 16 bit 1024
// kita akan mencari timer mendekati 1500 rpm / 25 Hz ~ 40 ms
//Timer Clock = 16 MHZ ~ 0.0625 us
// prescaler biar sip, 1024
// clock timer = 16 mhz/1024 = 15625 Hz
// waktu 1 clok timer= 64 us
// untuk mencapai 40 ms berati, 40000/64 = 625 clock timer, masih cukup
//Mode = CTC (Clear Timer On Compare)
TCCR1B|=((1<<WGM12)|(1<<CS10) | (1<<CS12));

//Compare value=976

//OCR1A=976;

//TIMSK|=(1<<OCIE1A); //Output compare 1A interrupt enable

}

int main ()
{
//unsigned int i;
/*init_blink*/
DDRB = 0xFF;
DDRC = 0xFF;
DDRD = 0XFB;

for (i=0; i<50; i++) // start awal, putar kiri dulu biar speed tidak terlalu tinggi
{
putar_kiri();
}

init_IRQ();
init_timer();
sei();
while(1)
{
// ketika ada interupt maka akan dihitung oleh timer
// setelah didapat hasilnya maka dicek di loop ini

if (freq < 25) // jika frek dibawah , putar ke kanan, menarik trotle
{
pulsa++;
if (pulsa <= 1)
{
PORTD = 0x38 ;
PORTC = 0x05 ;
PORTB = 0x0C;
pulsa=1;
_delay_ms(4);

}
if (pulsa == 2)
{
PORTD = 0x38 ;
PORTC = 0x04;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa == 3)
{
PORTD = 0x38;
PORTC = 0x06;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa == 4)
{
PORTD = 0x38 ;
PORTC = 0x02;
PORTB= 0x0C;
_delay_ms(4);

}
if (pulsa == 5)
{
PORTD = 0x38 ;
PORTC = 0x0a ;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa == 6)
{
PORTD = 0x38 ;
PORTC = 0x08;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa == 7)
{
PORTD = 0x38;
PORTC = 0x09 ;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa >= 8)
{
PORTD = 0x38 ;
PORTC = 0x01 ;
PORTB = 0x0C;
_delay_ms(4);

pulsa = 0;
}
}

if (freq > 25) // frekuensi diatas 54 hz, putar kiri, trotle gas di kurangi
{
pulsa–;
if (pulsa <= 1)
{
PORTD = 0x38 ;
PORTC = 0x05 ;
PORTB = 0x0C;
pulsa = 9;
_delay_ms(4);
}
if (pulsa == 2)
{
PORTD = 0x38 ;
PORTC = 0x04;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa == 3)
{
PORTD = 0x38;
PORTC = 0x06;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa == 4)
{
PORTD = 0x38 ;
PORTC = 0x02;
PORTB= 0x0C;
_delay_ms(4);

}
if (pulsa == 5)
{
PORTD = 0x38 ;
PORTC = 0x0a ;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa == 6)
{
PORTD = 0x38 ;
PORTC = 0x08;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa == 7)
{
PORTD = 0x38;
PORTC = 0x09 ;
PORTB = 0x0C;
_delay_ms(4);
}
if (pulsa >= 8)
{
PORTD = 0x38 ;
PORTC = 0x01 ;
PORTB = 0x0C;
_delay_ms(4);
pulsa =8;
}
}
else
{
PORTB = 0x0C;
}

}
return 0;
}
ISR(INT0_vect)
{
cli();
freq = (1000000/(TCNT1*64)); // Timer TCNT1 dibaca untuk cek frekuensi
//count++;

TCNT1=0;
sei();
}

/*
ISR(TIMER1_COMPA_vect)
{
//CPU Jumps here every 1 sec exactly!
freq=count;
count=0;
}
*/
putar_kiri()
{
{//1
PORTD = 0x38 ;
PORTC = 0x01 ;
PORTB = 0x0C;
}
_delay_ms(4);
{//2
PORTD = 0x38;
PORTC = 0x09 ;
PORTB = 0x0C;
}
_delay_ms(4);
{//3
PORTD = 0x38 ;
PORTC = 0x08;
PORTB = 0x0C;
}
_delay_ms(4);
{//4
PORTD = 0x38 ;
PORTC = 0x0a ;
PORTB = 0x0C;

}
_delay_ms(4);
{//5
PORTD = 0x38 ;
PORTC = 0x02;
PORTB= 0x0C;
}
_delay_ms(4);
{//6
PORTD = 0x38;
PORTC = 0x06;
PORTB = 0x0C;
}
_delay_ms(4);
{//7
PORTD = 0x38 ;
PORTC = 0x04;
PORTB = 0x0C;
}
_delay_ms(4);
{//8
PORTD = 0x38 ;
PORTC = 0x05 ;
PORTB = 0x0C;
}
_delay_ms(4);

}

 

MEKANISME

 

Ok lets we list the material that we need :

  • motor stepper
  • motor stepper driver
  • Coupling
  • Mur baut yang agak panjang ( Long threaded bolt and Nut)
  • besi strip untuk pegangan / iron steel strip as holder

Gambarnya sebagai berikut

motor stepper + coupling + bolt and nut

motor stepper + coupling + bolt and nut

another view

another view

 

Test and Set up firmware

Test and Set up firmware

 

 

Jpeg

Jpeg

nanti dilanjutkan

Advertisements

Entry filed under: diesel. Tags: , , , , .

Problem ADSL Speedy ( CRC, HEC, Disconnect ) – SOLVED User manual beberapa peralatan cnc dan yang lainnya

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


VIEWED - Dilihat

  • 88,441 times - kali

CALENDAR – Kalender

August 2015
M T W T F S S
« Mar   Feb »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

ARCHIVES – Arsip

ads1

(adsbygoogle = window.adsbygoogle || []).push({});

%d bloggers like this: