[ECU Arduino] Merancang Tachometer Berbasis Arduino

Jpeg

Assalamu’alaikum wa rochmatullohi wa barokatuh

Salam sejahtera buat kita semua, semoga kita semua selamat di perjalanan sampai ke tujuan

Perjalanan perancangan ecu berbasis arduino telah menyelesaikan tahap ke-2, yaitu perancangan tachometer. Untuk merancang tachometer berbasis arduino gampang-gampang susah. Gampang karena di internet sudah banyak yang nge-share, susahnya saat akan diwujudkan secara riil, komponen yang mendukungnya (sesuai dengan artikel yang di share) belum ada. Dan saat dirancangpun belum tentu langsung jalan, masih ada faktor “jika Allah mengizinkan”, alias insya Allah.

Alhamdulillah arduino yang motogokil sudah berjalan. Sudah bisa mengukur putaran, menampilkan dan terkalibrasi (lihat gambar judul). Komponen yang digunakan sebahagian besar bersifat umum untuk penggemar arduino, yaitu :

  1. Arduino uno, kabel usb, kabel power 9V, power supply adaptor atau battery 9V
  2. Kabel jumper
  3. LCD bisa 1602 atau 1604 dan yang lainnya
  4. Potensio 10k ohm, meter untuk mengatur ke kontrasan lcd
  5. Sensor optik (modul tcrt5000)

Gambar rangkaian asalnya nya dengan menggunakan project board kira-kira seperti ini

Jpeg

Kemudian karena mencari photodetector nggak dapat, ahirnya diputuskan untuk menggunakan modul trcr500, yang sudah sering dipakai pada robot line tracer.Penampakan tcrc5000

Jpeg

Jadi tidak usah bikin rangkaian led ir dan photodetector ir. Tinggal colok saja kaki VCC dan GND ke pin+5V dan GND pada board arduino. Kemudian hubungan kaki DO pin D1 pada arduio. Beginilah hasil modifikasi dari project board sebelumnya

Jpeg

Kemudian skrip programnya adalah seperti ini (lebih sederhana dibandingkan versi aslinya)

/*
* Optical Tachometer
*
* Uses an TCRC5000 to implement an optical tachometer.
* Pin 2 (interrupt 0) is connected across the D0 on TCRC5000.
*
* Code based on: www.instructables.com/id/Arduino-Based-Optical-Tachometer/
* Coded by: motogokil.com
*/

volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;

// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void rpm_fun()
{
//Each rotation, this interrupt function is run twice, so take that into consideration for
//calculating RPM
//Update count
rpmcount++;
}

void setup()
{
lcd.begin(16, 4); // intialise the LCD
lcd.setCursor(0,0);
lcd.print(“== TACHOMETER ==”);
lcd.setCursor(0,1);
lcd.print(“RPM=”);

lcd.setCursor(0,4);
lcd.print(” by motogokil “);

//Interrupt 0 is digital pin 2, so that is where the IR detector is connected
//Triggers on FALLING (change from HIGH to LOW)
attachInterrupt(0, rpm_fun, RISING);

rpmcount = 0;
rpm = 0;
timeold = 0;
}

void loop()
{
//Update RPM every second
delay(1000);
//Don’t process interrupts during calculations
detachInterrupt(0);
//Note that this would be 60*1000/(millis() – timeold)*rpmcount if the interrupt
//happened once per revolution instead of twice. Other multiples could be used
//for multi-bladed propellers or fans
rpm = 30*1000/(millis() – timeold)*rpmcount;
timeold = millis();
rpmcount = 0;

//Print out result to lcd
lcd.setCursor(4,1);
lcd.print(rpm/2*1.03576); //calibrated with tachometer

//Restart the interrupt processing
attachInterrupt(0, rpm_fun, RISING);
}

Ok, sementara sampai di sini dulu langkah perancangan ecu berbasis arduino. Selajutnya akan dirancang penentuan waktu pengapian dan durasi injektor pada rpm tertentu. Dan inilah yang menjadi inti dari semua program ecu yang terkait dengan performa engine.

Lebih dan kurangnya mohon maaf, sumbang sarannya dari para ahli sangat diharapkan. Semoga bermanfaat, wassalamu’alaikum wa rochmatullohi wa barokatuh.

22 Komentar

    • wah nggak tahu bro, yang jelas harganya bisa 2 sampai 3x lipat dari versi clone nya
      sementara ane pakai versi clone yg agak bagus, menurut praktisinya sih nggak masalah

    • beli clone yg pake atmega 328 tipe DIP gan, sedikit lebih mahal tp AVR mudah diganti jika rusak, dan multi fungsi bisa buat programmer, gaush beli usbasp lagi 😀

Semoga tercerahkan dan komen mas bro juga ikut mencerahkan