BerandaArduinoProject Arduino Fuel Injector Tester

Project Arduino Fuel Injector Tester

Fuel Injector merupakan sebuah komponen dari kendaraan bermotor yang digunakan untuk menyemprotkan bahan bakar ke dapur. Secara prinsip kerja Fuel Injector ini mirip sekali dengan Solenoid. Di dalam terdapat sebuah coil yang apabila dialiri Arus listrik, maka coil akan menarik Plunger kebelakang sehingga bahan bakar dalam tekanan tinggi akan keluar. Berikut ilustrasi cara kerja Fuel Injector.

Fuel Injector
Fuel Injector | liveabout.com

Untuk mengatur kecepatan dari buka dan tutup Injector, umumnya dalam kendaraan bermotor, terdapat ECU yang mengirimkan sinyal berdasarkan siklur dan posisi dari Piston. Saat kalian melakukan perawatan kendaraan, umumnya perlu dilakukan testing pada Injector untuk mengecek dari jumlah bahan bakar dalam RPM mesin tertentu. Oleh karena itu dibutuhkan sebuah alat untuk melakukan pengetesan pada komponen ini.

Pada pembahasan kali ini, kita akan belajar membuat sebuah Project Arduino Fuel Injector Tester. Semoga project ini dapat membantu kalian untuk melakukan testing pada Injector Kendaraan kalian.

Skematik Rangkaian

Berikut komponen yang perlu kalian siapkan dan perlu kalian rakit sesuai dengan skematik di bawah ini.

Fuel Injector Tester
Skematik Fuel Injector Tester | Design by FansElectronics.com

Penggunaan driver Mosfet IRFZ44 digunakan untuk driver dari Arduino dengan Injector. Karena tegangan kerja dari Injector umumnya adalah 12V. Apakah bisa ganti mosfet lain selaian IRFZ44? Bisa gunakan Mosfet Type N lain, karena berdasarkan spesifikasinya disini kita butuh mosfet yang mampu menghandle sebagai driver dengan Frequency tinggi.

Program Project

Sebelum upload program di bawah jangan lupa download dulu Library yang dibutuhkan:

//--------------------------------------------------------------
#include "LiquidCrystal_I2C.h"
#include "PWM.h"

#define PWM 9          // PIN PWM
#define BUP A3         // PIN TOMBOL UP
#define BDN A2         // PIN TOMBOL DOWN
#define MAX_RPM 12000  // 200 RPM MAKS

char lcdBuff[17];    // Buffer Sprintf
int frequency = 50;  // Nilai FQ
int rpm = 0;         // Nilai RPM
int last_rpm;        // Nilai terakhir RPM

LiquidCrystal_I2C lcd(0x27, 16, 2);
//--------------------------------------------------------------

void setup() {
  Serial.begin(9600);  // Serial ke PC
  lcd.begin();         // LCD Int

  pinMode(PWM, OUTPUT);        // PWM OUTPUT
  pinMode(BUP, INPUT_PULLUP);  // TOMBOL INPUT INTERNAL
  pinMode(BDN, INPUT_PULLUP);  // TOMBOL INPUT INTERNAL

  // Initialisasi kecuali TIMER0
  // keperluan delay(), dan millis()
  InitTimersSafe();
  SetPinFrequencySafe(PWM, frequency);
}
//--------------------------------------------------------------

void loop() {
  // Tombol
  if (digitalRead(BUP) == LOW) {  // TOMBOL UP DITEKAN
    delay(10);
    rpm = rpm + 10;
    if (rpm > 12000) rpm = 12000;
  }
  //
  else if (digitalRead(BDN) == LOW) {  // TOMBOL DOWN DITEKAN
    delay(10);
    rpm = rpm - 10;
    if (rpm < 0) rpm = 0;
  }

  if (rpm != last_rpm) {
    frequency = map(rpm, 0, MAX_RPM, 0, MAX_RPM / 60);
    SetPinFrequencySafe(PWM, frequency);  // SET FQ
    last_rpm = rpm;                           // Update Last_RPM
    // DEBUG SERIAL
    Serial.print(F("RPM: "));
    Serial.print(rpm);
    Serial.print(F(", FREQUENCY: "));
    Serial.println(frequency);
  }

  // SET Duty Cycle 50% agar sinyal kotak
  if (rpm == 0) pwmWrite(PWM, 0);  // Jika RPM 0 = OFF
  else pwmWrite(PWM, 127);         // 50% DC


  // Print LCD
  lcd.setCursor(0, 0);
  lcd.print("INJECTOR TESTER!");
  sprintf(lcdBuff, "   %05i  RPM   ", rpm);
  lcd.setCursor(0, 1);
  lcd.print(lcdBuff);
}
//--------------------------------------------------------------

 

Hasil Pengujian Frequency

Sebelum lanjut ke pengetesan, kita belajar dulu untuk mensimulasikan alat ini menjadi seperti kendaraan aslinya. Di mana kita perlu merubah nilai Frequency sama dengan nilai RPM dari kendaraan. Disini saya kurang paham jumlah pulsa setiap putaran koil dari setiap motor, untuk sederhananya saya menggunakan tool kalkulator berikut agar mempermudah perhitungan jumlah RPM ke Hz.

fuel injector tester
Pengujian Alat | Photo by FansElectronics.com
pwm arduino
PWM 50 Hz | Photo by FansElectronics.com

Dari contoh di atas, didapatkan padah frequency 1Hz = 60 RPM sehingga ketika kita test dengan 50Hz maka didapatkan nilai 3000 RPM. Untuk lebih jelas bisa tonton video di bawah ini.

Video Simulasi Testing

Sekian dulu dari saya, semoga jelas dan dapat dimanfaatkan dengan baik ilmunya. Jangan lupa komentar jika ada pertanyaan dan join ke website kita dan channel Youtube kita. Semoga bermanfaat, terima kasih dan Salam Elektronik.

Irfan Indra Kurniawan
Irfan Indra Kurniawanhttps://fanselectronics.com/
Tukang Solder Yang Penuh Cerita :D

Topic Populer

Tag Populer

Artikel Terkait