Kalibrasi Gas Detektor

Kalibrasi Gas Detektor (Sumber gambar: Ventis Pro Series)

Mengapa gas detektor harus di kalibrasi? Sebetulnya tidak hanya gas detektor, namun pertanyaan ini juga harus selalu ditanyakan ke setiap alat pengukuran, apapun itu jenisnya.

Sepengetahuan saya hal ini dilakukan karena dua alasan. Pertama, pembacaan pada gas detektor dapat dipengaruhi oleh beberapa hal seperti: keadaan suhu dan kelembaban, kontaminasi dari paparan gas tertentu, mungkin juga pernah merespon konsentrasi gas tertentu sampai pada batas maksimum pengukurannya, berkurangnya lifetime produk, dsb. Hal-hal tersebut dapat mempengaruhi pembacaan, seperti misalnya konsentrasi dari suatu combustible gas terbaca sebesar 45%LEL yang sebetulnya konsentrasi aktualnya adalah 50%LEL. Kedua, biasanya dalam sebuah plant ada regulasi tersendiri dari tingkat manajerial ataupun departemen safety yang mengharuskan semua alat ukur harus terkalibrasi dan juga memiliki  jadwal kalibrasi secara periodik.

Oleh karena itu, jika sebelumnya saya pernah melakukan Kalibrasi Sensor Gas MQ-7 maka kali ini saya akan membagi rangkuman mengenai metode-metode pengujian gas detektor yang pernah saya lakukan.

1. Bump Test (Calibration Check)
Bump test merupakan metode pengujian gas detektor dengan menggunakan calibration gas (test gas) untuk memastikan bahwa gas detektor masih melakukan pembacaan secara tepat.

DSCF4892

Contoh test gas yang berisi methana (CH4) dengan konsentrasi sebesar 2.5% volume (50% LEL).

Test gas berisikan gas dengan konsentrasi tertentu yang biasanya kurang dari 100% LEL. Apabila gas detektor melakukan pembacaan secara tepat, maka saat dikoreksi menggunakan kalibrator akan menampilkan nilai konsentrasi yang sama besarnya dengan konsentrasi pada test gas.

DSCF4911

Kalibrator menampilkan hasil pengujian performa gas detektor (error 0.5%LEL)

Oleh karena itu, pada praktiknya di lapangan bump test biasanya dilakukan secara periodik untuk memastikan bahwa performa gas detektor di lapangan selalu dalam keadaan baik.

2. Function Test (Performance Test)
Function test merupakan pengujian yang sama dengan bump test hanya saja gas detektor yang di uji sudah terintegrasi dengan sistem alarm, sehingga pengujian ini selain memastikan pembacaan gas yang tepat juga memastikan sistem alarm bekerja sesuai dengan yang diinginkan. Semisal sebuah gas detektor telah dirancang untuk memberikan alarm LOW pada level 10% kemudian HIGH pada level 20% dan HIGH HIGH pada level 50%. Maka pengujian ini dilakukan untuk memastikan bahwa sistem alarm bekerja di tiap-tiap level tersebut.

3. Calibration
Penyesuaian respon gas detektor (sensor) agar sesuai dengan nilai yang diinginkan. Artinya dalam metode ini dilakukan pengaturan atau adjusment agar didapat respon yang diinginkan. Langkah kalibrasi yang paling mudah adalah dengan merujuk pada manual gas detektor, karena pada manual tersebut berisi prosedur kalibrasi yang jelas sehingga dapat menjamin agar prosedur kalibrasi yang dilakukan benar.

Disclaimer : Setiap manufaktur memiliki cara kalibrasi yang spesifik sesuai dengan produknya masing-masing. Sehingga penting untuk selalu mengikuti prosedur yang sudah dibuat oleh manufaktur.

 

Membuat Menu pada TFT LCD 2.2″ ILI9340

Pada tutorial kali ini saya akan coba menjelaskan cara membuat menu pada TFT LCD 2.2″ ILI9340 menggunakan Arduino. LCD ini sudah pernah saya gunakan pada tutorial penunjuk jarum Kompas Digital . Tujuan dari tutorial ini sederhana, ketika anda membuat suatu proyek elektronika menggunakan Arduino dan sebuah TFT LCD kemudian anda ingin menampilkan suatu user-interface, maka anda bisa melakukannya!

Sekilas tentang MENU
Pada dasarnya untuk membuat sebuah tampilan menu adalah dengan membuat beberapa halaman. Berapa banyak halaman yang akan dibuat bergantung pada berapa banyak menu atau bahkan sub-menu yang diiinginkan dan juga seberapa interaktif tampilannya.

Sebagai contoh saya berikan sebuah tampilan menu yang akan kita pelajari pada tutorial kali ini, berikut tampilannya.

Tampilan Menu Sederhana

Untuk membuat tampilan menu seperti gambar diatas, maka kita terlebih dahulu harus membuat beberapa halaman. Pada dasarnya gerakan pointer yang dapat berpindah-pindah dari opsi pertama menuju opsi selanjutnya adalah dengan membuat beberapa halaman berisikan posisi pointer yang berbeda-beda. Untuk lebih jelasnya coba perhatikan gambar dibawah ini.

Tampilan Menu yang berisi beberapa halaman

Namun yang perlu diperhatikan pada gambar diatas adalah: kita tidak perlu membuat semua halaman dengan seluruh isi teksnya. Pergerakan menu yang diinginkan dari tampilan diatas hanyalah pointernya saja. Oleh karena itu, pada setiap halaman hanya berisi kode program untuk menampilkan pointer saja, sedangankan untuk teks yang lain cukup dieksekusi sekali, lebih tepatnya tidak masuk dalam void loop namun masuk ke dalam void setup sehingga yang dieksekusi berkali-kali adalah kode program untuk pointernya.

Komponen
[1] Arduino Pro Mini 5V
[1] TFT LCD 2.2″ ILI9340
[1] Push Button
[1] Resistor 1kOhm
[~] Komponen penunjang (breadboard, kabel jumper, dll)

Koneksi Pin

Arduino (Uno, Pro Mini) LCD TFT 2.2″ (ILI9340) Push Button (Pull Up)
5V (VCC) VIN
GND GND
D8 RST
D9 DC
D10 CS
D11 MOSI
D13 SCK
D3 INPUT

Rangkaian

Rangkaian TFT LCD 2.2″ + Arduino Pro Mini 5V

Kode Program

/******************************************************************************
  This is an sketch for the project below
  ----> http://engine-near.com/2018/04/05/membuat-menu-pada-tft-lcd/

  Check out the links below to download specific library used in this project
  ----> https://github.com/adafruit/Adafruit_ILI9340
  ----> https://github.com/adafruit/Adafruit-GFX-Library
 
  All library works with Arduino IDE 1.6.5 version. 

  Written by Fathur Miftahudin for http://engine-near.com
 *****************************************************************************/

#include "SPI.h"
#include "Adafruit_GFX.h" Library for all our adafruit displays
#include "Adafruit_ILI9340.h" // Library for Adafruit TFT LCD 2.2"

#if defined(__SAM3X8E__)
    #undef __FlashStringHelper::F(string_literal)
    #define F(string_literal) string_literal
#endif

#define _sclk 13
#define _miso 12
#define _mosi 11
#define _cs 10
#define _dc 9
#define _rst 8

Adafruit_ILI9340 tft = Adafruit_ILI9340(_cs, _dc, _rst);
int Button;

void setup() {
  pinMode(3,INPUT); // Digital input from pushButton
  tft.begin(); // TFT display
  pageMenu(); // Show display of page menu
}


void loop() {
  
  Button = digitalRead(3); //read the pushButton value
  
  if (Button == LOW){
    page1(); //--------------------------> Show page 1
    delay(200); // Avoid bounce

    int stoploop = false;
    while(!stoploop){
    Button = digitalRead(3);
    if (Button == LOW){
      stoploop = true;
      page2(); //------------------------> Show page 2
      delay(200);
      
      int stoploop = false;
      while(!stoploop){
      Button = digitalRead(3);
      if (Button == LOW){
        stoploop = true;
        page3(); //----------------------> Show page 3
        delay(200);
        
        int stoploop = false;
        while(!stoploop){
        Button = digitalRead(3);
        if (Button == LOW){
          stoploop = true;
          page4(); //--------------------> Show page 4
          delay(200);
          
            int stoploop = false;
            while(!stoploop){
            Button = digitalRead(3);
            if (Button == LOW){
              stoploop = true;
              page1(); //----------------> Back to page 1
          }      
          }
        }
        }      
      }
      }
    }
    }
  }
}


void pageMenu(){ // Show main page (menu)
  
  tft.fillScreen(ILI9340_BLACK);
  tft.setTextColor(ILI9340_WHITE);
  tft.setTextSize(2);
  
  tft.setCursor(55, 10);
  tft.print("MENU EXAMPLE");

  tft.drawLine(0, 32, 240, 32, ILI9340_WHITE); 
  
  tft.setCursor(75, 50);
  tft.print("Option 1");
  
  tft.setCursor(75, 95);
  tft.print("Option 2");
  
  tft.setCursor(75, 140);
  tft.print("Option 3"); 
  
  tft.setCursor(75, 185);
  tft.print("Option 4");

  tft.drawLine(0, 220, 240, 220, ILI9340_WHITE);
 
}

void page1(){
  
  tft.fillTriangle(45,187,45,197,55,192,ILI9340_BLACK); // Erase pointer option4
  tft.fillTriangle(45,52,45,62,55,57,ILI9340_WHITE); // Print pointer option1
  
}

void page2(){

  tft.fillTriangle(45,52,45,62,55,57,ILI9340_BLACK); // Erase pointer option1
  tft.fillTriangle(45,97,45,107,55,102,ILI9340_WHITE); // Print pointer option2
  
}

void page3(){

  tft.fillTriangle(45,97,45,107,55,102,ILI9340_BLACK); // Erase pointer option2
  tft.fillTriangle(45,142,45,152,55,147,ILI9340_WHITE); // Print pointer option3

}

void page4(){
  
  tft.fillTriangle(45,142,45,152,55,147,ILI9340_BLACK); // Erase pointer option3
  tft.fillTriangle(45,187,45,197,55,192,ILI9340_WHITE); // Print pointer option4
  
}

Jarum Penunjuk Kompas Digital HMC5883L + TFT LCD 2.2″

Jarum Penunjuk Kompas Digital HMC5883L + TFT LCD 2.2″

Pada tutorial kali ini, saya akan berbagi pengalaman membuat  kompas digital dengan tampilan berupa jarum penunjuk yang ditampilkan pada LCD. LCD yang digunakan bukanlah LCD  (16×2) yang umum digunakan pada proyek elektronika, melainkan menggunakan TFT LCD 2.2″. Jarum penunjuk ditampilkan dalam bentuk animasi yang nantinya akan selalu menunjuk ke arah utara layaknya jarum pada kompas analog, sehingga kemanapun sensor kompas (pengguna) berputar maka jarum akan selalu menunjuk ke arah utara.

Sekilas tentang kompas
Pada dasarnya jarum penunjuk pada kompas akan selalu menunjuk ke arah kutub utara magnetis bumi. Oleh karena itu, untuk membuat kompas digital yang selalu menunjuk ke arah utara layaknya kompas konvensional adalah dengan membuat suatu algoritma. Algoritma tersebut sebagai berikut: berapapun heading sensor kompas maka heading penunjuk arah utara akan memiliki nilai yang sama dengan heading sensor namun arahnya berkebalikan. Algoritma tersebut dibuat menggunakan circular function atau yang biasa disebut dengan fungsi trigonometri.

sincos-75

Circular Function (mathdemos.org)

Pergerakan heading oleh sensor merupakan representasi dari unit lingkaran dengan koordinat (sin θ, cos θ) yang pergerakannya searah dengan jarum jam (CW). Untuk membuat jarum (animasi) bergerak berlawanan dengan arah jarum jam (CCW) adalah dengan menggunakan hubungan koordinat kartesius terhadap koordinat kutub, yakni (cos θ, sin θ).

Dengan menggunakan koordinat (cos θ, sin θ) maka jarum bergerak sebesar heading sensor namun arahnya berkebalikan.

Dengan demikian, berapapun besar heading sensor kompas maka pergerakan jarum akan selalu menunjuk ke arah utara magnetis bumi yang secara definitif menunjuk ke arah 0°. Sebagai contoh, ketika sensor menghadap (heading) sebesar 30° maka jarum akan melakukan heading yang sama namun arahnya berkebalikan, hal inilah yang membuat tampilan jarum selalu menunjuk ke arah 0° alias arah utara.

K3

Heading sensor kompas sebesar 30°

Komponen
[1] Arduino Pro Mini 5V
[1] Sensor Kompas HMC5883L
[1] TFT LCD 2.2″ ILI9340
[~] Komponen penunjang (breadboard, kabel jumper, dll)

Koneksi Pin

Arduino (Pro Mini, Uno) HMC5883L (GY-271 breakout) LCD TFT 2.2″ (ILI9340)
5V (VCC) VCC VIN
GND GND GND
A4 (SDA) SDA
A5 (SCL) SCL
D8 RST
D9 DC
D10 CS
D11 MOSI
D13 SCK

Rangkaian

Rangkaian Kompas Digital HMC5883L + TFT LCD 2.2″ + Arduino Pro Mini 5V

Kode Program

/******************************************************************************
  This is an sketch for the project below
  ----> http://engine-near.com

  Check out the links below to download specific library used in this project
  ----> https://github.com/platisd/HMC5883L
  ----> https://github.com/adafruit/Adafruit_ILI9340
  ----> https://github.com/adafruit/Adafruit-GFX-Library
 
  All library works with Arduino IDE 1.6.5 version. If using the above version
  please click 'tools' and select 'fix encoding & reload'

  Written by Fathur Miftahudin for http://engine-near.com
 *****************************************************************************/


#include <Wire.h>      // Library for I2C Communication
#include <HMC5883L.h>  // Library for Compass HMC5883L
#include "SPI.h"
#include "Adafruit_GFX.h"    // Library for all our adafruit displays
#include "Adafruit_ILI9340.h" // Library for Adafruit TFT LCD 2.2"
#include <SPI.h>
 
#if defined(__SAM3X8E__)
    #undef __FlashStringHelper::F(string_literal)
    #define F(string_literal) string_literal
#endif

// These are the pins used for the Pro Mini & UNO
// for Due/Mega/Leonardo use the hardware SPI pins (which are different)
#define _sclk 13
#define _miso 12
#define _mosi 11
#define _cs 10
#define _dc 9
#define _rst 8


// Using software SPI is really not suggested, its incredibly slow
Adafruit_ILI9340 tft = Adafruit_ILI9340(_cs, _dc, _rst);
// Use hardware SPI
int error = 0;
 
HMC5883L compass; // HMC5883L
 
void setup(void){
 
 Serial.begin(9600);
 Wire.begin();
 
 // HMC5883L
 compass = HMC5883L();  
 error=compass.SetScale(1.3);
 if(error!=0)Serial.println(compass.GetErrorText(error));
 Serial.println("Setting measurement mode to continous.");
 error=compass.SetMeasurementMode(Measurement_Continuous); 
 if(error != 0)Serial.println(compass.GetErrorText(error));
 
 tft.begin(); // TFTdisplay
 display_show(); // Show display such as battery, time & circle
 
}
 
// Magnetic declination in Jakarta 0.64° = 0.0111 rad
float declinationAngle=0.0111;
 
int heading_degrees=0;
int heading_degrees_old=360;
int heading_degrees_correction=-90;
 
void loop(void){
 
  MagnetometerScaled scaled=compass.ReadScaledAxis();
  
  float heading=atan2(scaled.YAxis,scaled.XAxis);
  
  heading+=declinationAngle;
  if(heading<0)heading+=2*PI;
  if(heading>=2*PI)heading-=2*PI;
 
  heading_degrees=heading*180/M_PI; //+heading_degrees_correction;
  if(heading_degrees<0)heading_degrees+=360;
  if(heading_degrees>=360)heading_degrees-=360;
 
  if(heading_degrees!=heading_degrees_old){
  
    display_info(); // Show compass heading
    display_graphic(); // Show animation (North direction)
    heading_degrees_old=heading_degrees;
 }
   delay(250);
}
 
// Determine coordinate of the circle
#define cx 120 // X coordinate
#define cy 160 // Y coordinate
#define cr 85 // Diameter of circle
 
void display_show(){
 
 tft.fillScreen(ILI9340_BLACK); 
 // Compass circle
 tft.fillCircle(120, 160, 97, ILI9340_WHITE);
 tft.fillCircle(120, 160, 84, ILI9340_BLACK);
    
 tft.fillCircle(120, 69, 5, ILI9340_BLACK);
 tft.fillCircle(120, 251, 5, ILI9340_BLACK);
    
 tft.fillCircle(29, 160, 5, ILI9340_BLACK);
 tft.fillCircle(211, 160, 5, ILI9340_BLACK);

 // Battery icon
 tft.fillRect(193, 6, 35, 17, ILI9340_WHITE);
 tft.fillRect(196, 9, 29, 11, ILI9340_BLACK); 
 tft.fillRect(198, 11, 18, 7, ILI9340_WHITE);
 tft.fillRect(228, 11, 4, 7, ILI9340_WHITE);

 // Time
 tft.setTextSize(2);
 tft.setCursor(5,8);
 tft.print("12:12");
 
}

void display_graphic(){

    // Animation of North direction
    int h=heading_degrees_old+90;
    int h2 = h - 90 ;
    int k2 = h + 90;

    tft.fillTriangle((int)(cx+(cr-70)*cos(M_PI/180*h2)),(int)(cy-(cr-70)*sin(M_PI/180*h2)), (int)(cx+(cr-12)*cos(M_PI/180*h)),(int)(cy-(cr-12)*sin(M_PI/180*h))
    ,(int)(cx+(cr-70)*cos(M_PI/180*k2)),(int)(cy-(cr-70)*sin(M_PI/180*k2)),ILI9340_BLACK);
    

    h=heading_degrees+90;
    h2 = h - 90 ;
    k2 = h + 90;

    tft.fillTriangle((int)(cx+(cr-70)*cos(M_PI/180*h2)),(int)(cy-(cr-70)*sin(M_PI/180*h2)), (int)(cx+(cr-12)*cos(M_PI/180*h)),(int)(cy-(cr-12)*sin(M_PI/180*h))
    ,(int)(cx+(cr-70)*cos(M_PI/180*k2)),(int)(cy-(cr-70)*sin(M_PI/180*k2)),ILI9340_WHITE);
 
    tft.fillCircle(120, 160, 15, ILI9340_WHITE); 
    tft.fillCircle(120, 160, 10, ILI9340_BLACK); 

}
 
void display_info(){

 tft.setTextSize(3);
 tft.fillRect(90,280,73,22,ILI9340_BLACK);
 tft.setTextColor(ILI9340_WHITE);
 tft.setCursor(95,280);
 tft.print(heading_degrees); // Print compass heading 

 tft.setTextSize(2);
 tft.write(247); // Print degree symbol
 delay(100);

}

Hasil Pengujian
Secara pemrograman arah utara magnetis yang dibentuk jarum akan selalu tepat, namun mungkin karena sensor kompas HMC5883L mengalami interferensi medan magnet maka arah utara yang ditunjuk oleh animasi jarum dapat menjadi kurang tepat sesuai dengan defleksi yang terjadi pada sensor.

Perlu diketahui bahwa utara magnetis bumi bukanlah utara 0° sehingga nanti dalam penggunaannya harus disesuaikan dengan deklinasi atau pergeseran medan magnet di lokasi dimana anda berada. Untuk mengetahui berapa besar deklinasi yang terjadi di lokasi anda maka dapat mengunjungi http://www.magnetic-declination.com/

Jika anda ingin lebih memaksimalkan tampilan jarum penunjuk kompas pada LCD, tentunya anda dapat menggunakan imajinasi atau kreatifitas anda sendiri untuk membuat tampilan yang lebih menarik seperti pada video dibawah ini.

Referensi:
[1] https://processing.org/tutorials/trig/
[2] http://mathdemos.org/mathdemos/sincos-demo1/
[3] https://en.wikipedia.org/wiki/Magnetic_declination

Orang instrument nggak tau Tube & Fitting?

221TubeFittingsandTubeAdapters700x350 copy

Orang instrument nggak tau Tube & Fitting? (Sumber gambar: Swagelok)

Topik ‘aneh’ yang pertama kali saya jumpai saat menjadi seorang instrument engineer adalah penggunaan tubing beserta fitting-nya. Yap! tubing dan fitting yang sejatinya hanyalah sebuah pipa lengkap dengan konektor-konektor seperti shock/union, tee, elbow dsb ini menjadi scope of work dari disiplin instrumentasi.

Jelas saja bahwa tubing dan fitting sangatlah asing di telinga saya, karena kebetulan kampus saya dulu tidak memiliki laboratorium dengan peralatan yang cukup memadai, jangankan transmitter ataupun control valve, PLC pun menggunakan tipe yang sederhana. Kami yang mempelajari disiplin ilmu instrumentasi dan kontrol diberikan instrument alternatif dari yang sesungguhnya di lapangan. Contohnya seperti sensor-sensor elektronika yang menggantikan peran transmitter, kemudian solenoid valve sebagai pengganti control valve dan juga smart relay sebagai pengganti PLC. Oleh karena itu, saya pun tidak pernah menemui tubing dan fitting selama saya mempelajari disiplin instrumentasi.

Barulah ketika sampai di dunia kerja saya dihujani dengan banyak pertanyaan dan permintaan terhadap tubing dan fitting. Parameter-parameter yang sangat asing ditelinga saya seperti satuan OD, konektor male-female dengan unit inch NPT, ferrule dengan back-ferrule nya dan sampai terdengarlah pertanyaan “Kok orang instrument ngga tau tube & fitting?”

Sebagian orang di lapangan menganut pemahaman bahwa segala sesuatu yang berkaitan dengan tubing & fitting adalah scope of work dari disiplin instrument. Dan tentunya orang instrument kemarin sore seperti saya seringkali menjadi sasaran dari mereka. Padahal jika ditelusuri lebih dalam lagi tidak ada kesinambungan antara tubing beserta konektor-konektornya dengan apa yang disebut ‘instrumentasi & kontrol’. Tubing & fitting tersebut hanya sebagai komponen penunjang dari sebuah sistem pengukuran yang fungsi utamanya adalah mengalirkan proses yang sedang terjadi.

Memang benar peranan tubing & fitting pada instrumentasi sangatlah vital, bagaimana tidak, karena tubing ini  berperan sebagai media pengiriman sinyal dari jalur proses menuju instrument maupun sebagai jalur instrument air supply. Namun sekali lagi, pertanyaan saya adalah dimana pengukurannya? Dan dimana pula pengendaliannya?

Sampai dengan postingan ini dibuat, saya masih belum menemukan landasan keilmuan yang menyatakan bahwa tubing dan fitting merupakan scope disiplin instrumentasi. Landasan yang selama ini berlaku hanyalah landasan kerja sehingga jelas terjadi mis-komunikasi antara bidang keilmuan dan bidang kerja. Setuju nggak??

Apa itu LEL pada sistem deteksi gas?

6776274283-oxy-acetylene-cutting-torch

Apa itu LEL pada sistem deteksi gas? (Sumber gambar: www.loupiote.com)

Terakhir kali saya menulis postingan mengenai pengukuran gas mungkin sekitar 2 tahun yang lalu. Dan kali ini, saya ingin kembali berbagi pengalaman mengenai hal yang sama namun dalam konteks yang lebih serius. LOL.

LEL (Lower Explosive Limit)
LEL (Lower Explosive Limit) dapat dikatakan sebagai konsentrasi terendah dari suatu flammable gas (gas mudah terbakar) di udara yang dapat menghasilkan api dengan adanya igniton source (sumber pengapian), yakni : busur api, api & panas.

Untuk lebih memahami lagi apa itu LEL, mari kita lihat grafik dibawah ini.

LEL2

LEL vs UEL

Setelah melihat grafik tersebut maka dapat kita ambil kesimpulannya seperti ini:

Jika Flammable Gas < LEL maka tidak cukup untuk terbakar karena bahan bakar terlalu sedikit dan udara terlalu banyak
Jika Flammable Gas > UEL maka tidak cukup untuk terbakar karena bahan bakar terlalu banyak dan udara terlalu sedikit
Dan jika  LEL <= Flammable Gas <= UEL maka flammable gas siap untuk terbakar ataupun meledak kapanpun

Berikut beberapa contoh flammable gas beserta dengan batasan LEL & UEL nya:

LEL Table 1

Tabel nilai LEL & UEL dari beberapa gas

Sistem Deteksi Gas
Dalam sistem deteksi gas, jumlah kehadiran gas di udara dinyatakan dalam %LEL. Jika pembacaan gas detektor adalah 0%LEL maka hal ini menunjukkan bahwa udara terbebas dari flammable gas. Jika pembacaan menunjukkan 50%LEL berarti flammable gas telah bercampur di udara namun belum cukup untuk dapat terbakar. Dan jika pembacaan menunjukkan 100%LEL artinya flammable gas telah bercampur di udara dan siap terbakar kapanpun jika ada sumber pengapian.

Disclaimer : Acetylene memiliki jangkauan ‘explosive mixture’ yang luas bahkan UEL-nya mencapai 100%, ini berarti dengan jumlah oksigen yang sangat sedikit atau bahkan tidak ada sekalipun, Acetylene dapat terbakar dengan sendirinya.

Hal inilah yang menjadi alasan mengapa pengukuran terhadap flammable gas pada F&G system hanya cukup sampai %LEL saja. Mengapa tidak sampai %UEL? Ya sesuai penjelasan diatas tadi, saat flammable gas sudah mencapai 100%LEL maka gas tersebut siap terbakar kapanpun! Bayangkan jika di sebuah kilang minyak paparan flammable gas nya mencapai 100%LEL , maka hanya tinggal menunggu sialnya saja bukan!?

Oleh karena itu, dalam penerapannya di lapangan, biasanya sistem deteksi gas hanya akan ‘mentolerir’ kehadiran flammable gas di udara tidak sampai 100%LEL. Di beberapa kilang yang pernah saya datangi mereka mematok setpoint untuk alarm HIGH level di 10%LEL dan alarm HIGH-HIGH level di 40%LEL.

Saya tidak tahu pasti apa dasar suatu flammable gas dapat ‘ditolerir’ kehadirannya di udara. Yang saya tahu adalah jangan pernah berharap penuh dengan yang namanya alat, sedikit apapun flammable gas dibolehkan untuk hadir, namun 0%LEL jelas lebih baik bukan? CMIIW.

What does ‘Bridle’ mean?

Sebuah pertanyaan muncul di benak pikiran saya ketika sedang mengerjakan proyek penggantian kolom di salah satu kilang minyak yang ada di Cilacap. Ada sebuah pipa berukuran 3″ yang ditempeli beberapa instrument, khususnya instrument level. Lantas munculah pertanyaan, mengapa instrument-instrument tersebut tidak dihubungkan secara langsung pada badan kolom? Mengapa  level gauge dihubungkan ke pipa tersebut? Mengapa level transmitter pun juga demikian? Setelah mencari tahu lebih dalam dengan dibantu penjelasan dari para senior, alhasil saya menemukan sebuah kata yang mewakili pipa misterius tersebut, yap! that’s a bridle! 

Pada dasarnya bridle adalah sebuah pipa vertikal yang terhubung dengan sisi sebuah tangki penyimpanan atau vessel. Pada ujung-ujung bridle terdapat nozzle yang menghubungkan bridle dengan tangki. Oleh karena itu, fluida di dalam bridle akan selalu naik turun sesuai dengan keadaan level fluida di dalam tangki.

Mengapa bridle digunakan?

Salah satu penggunaan bridle dimaksudkan untuk pengukuran level tangki yang menggunakan beberapa level gauge maupun level transmitter sehingga instrument-instrument level ini tidak dipasang langsung pada badan tangki melainkan pada sebuah pipa vertikal atau yang disebut bridle itu tadi.

Kemudian karena instrument level dipasang pada bridle yang terisolasi dari proses, maka instrument tersebut dapat dengan mudah untuk dilakukan maintenance tanpa menganggu proses yang sedang berjalan.

Alasan lainnya adalah untuk mengurangi jumlah nozzle pada tangki yang mana hal ini berkaitan dengan pengelasan. Semakin banyak pengelasan pada sebuah tangki maka potensi crack (retak) dari tangki tersebut juga semakin besar. Sehingga dengan adanya bridle, kebutuhan nozzle dari sebuah tangki dapat diminimalisir dengan hanya menggunakan dua buah nozzle saja.

Oleh karna itu, bridle menjadi  komponen favorit yang hampir selalu digunakan pada pengukuran level tangki. CMIIW.

 

Pengangguran Banyak Alasan

aqaaa

Pengangguran Banyak Alasan (Sumber gambar: www.madailylife.com)

Kali ini saya akan menceritakan tentang diri saya yang sampai saat ini entah patut disyukuri atau tidak, saya masih menyandang status sebagai jobseeker alias pengangguran hahaha 😆 Saya di wisuda pada tanggal 19 November 2015, dari tanggal kelulusan tersebut sampai dengan postingan ini saya buat, saya masih MENGANGGUR!!! Kenapa saya masih menganggur? Ada banyak hal, salah satunya karena diri saya yang terlalu idealis dalam memilih perusahaan/instansi wkwkwk. Tapi percayalah, memiliki idealisme lebih baik daripada hanya bersikap ‘let it flow‘.

Saya ingat sekali dari tanggal kelulusan saya sampai saat ini ada beberapa peluang kerja dari perusahaan besar (multinasional) yang saya abaikan, beberapa perusahaan tersebut diantaranya: Pertamina Geothermal Energi, Pupuk Sriwijaya, Pupuk Kaltim, SCG Indonesia, Samsung Electronics Indonesia, Indonesia Power dan PJB.

Mengapa saya tidak melamar ke perusahaan tersebut? Ada beberapa alasan tentunya, contohnya seperti PGE, Pupuk Sriwijaya dan Pupuk Kaltim, dikarenakan orang tua saya yang tidak ingin anaknya langsung pergi jauh ke luar pulau Jawa di awal karirnya, maka saya abaikan ketiga perusahaan tersebut, teringat juga karena ridho Allah itu terletak pada ridho orang tua, selain itu juga karena saya masih ingin sekali berkarir di perusahaan EPC hahaha 😆 , oh iya btw buat anda yang belum tau apa itu perusahaan EPC silahkan langsung di gugling, sudah banyak blog yang membahas tentang perusahaan tersebut.

Lalu yang kedua, saya tidak begitu tertarik dengan perusahaan Power Plant (pembangkit listrik), entah kenapa, padahal pasca kelulusan saya banyak sekali lowongan dari perusahaan pembangkit listrik terutama perusahaan listrik BUMN yang sedang membangun proyek 35.000 MW. Saya masih merasa tertarik bekerja di perusahaan EPC atau paling tidak industri proses (oil & gas, pertochemical atau fertilizer). Melihat disiplin ilmu yang saya tekuni ‘elektronika dan instrumentasi’ tentu bekerja di industri proses bagaikan surga bagi orang-orang dengan disiplin ilmu seperti saya.

Yap! tetapi memang beberapa teman yang sudah diterima di pembangkit listrik (BUMN) berkata bahwa “nanti kan di training dulu, kan ada ojt, bla bla bla” tetap saja saya tidak tertarik, kemudian melihat posisi yang ditawarkan oleh perusahaan tersebut bagi fresh graduate diploma kebanyakan selalu ‘operator‘. Bagi saya bekerja di perusahaan pembangkit sama saja belajar dari nol lagi, disiplin ilmu yang saya tekuni ini hanya terpakai tidak seberapa, walaupun ada slot untuk orang-orang dengan background arus lemah/instrument seperti saya, tapi tetap saja bagi saya kalau ada tempat kerja yang memiliki banyak slot untuk disiplin ilmu yang saya tekuni kenapa tidak pilih yang itu?

Artinya begini, apa yang saya tekuni dan gemari bisa saya dapatkan ‘penuh’ di perusahaan tersebut, dan ilmu selain dari yang saya gemari bakal menjadi pengetahuan tambahan untuk saya, sebut saja matakuliah pilihan. Hal tersebut sangat berbeda jika persepsinya saya negasikan, apa yang tidak saya tekuni dan gemari malah saya peroleh banyak sedangkan yang saya gemari malah menjadi ilmu tambahan. Sekali lagi ini soal passion dan bukan maksud saya untuk mengatakan bahwa bekerja di Power Plant tidak baik lho, toh kalau tidak ada Power Plant mana bisa industri lain tetap berjalan, iya kan? 🙂

Prioritas saya saat ini dalam memulai karir adalah untuk mencari ilmu, for now salary is not the most important issue for me (sadaaap hahaha) untuk sekarang loh kalo nanti-nanti ngga tau deh 😆 jadi yaa tentu prioritas saya adalah tempat kerja yang bisa membuat saya berkembang dan bidangnya benar-benar seputar instrumentasi, kontrol dan elektronika, syukur bisa mendapatkan pengetahuan tambahan dari disiplin ilmu lain 😀

Bagi saya, membuat ataupun mendesain suatu sistem di industri lebih mengasyikkan daripada hanya tinggal menjalankan sistem tersebut.

Kemudian alasan berikutnya yaitu entah kenapa saya merasa malas jika harus bekerja di daerah yang lokasinya nanggung alias PINGGIRAN JAKARTA! misalnya seperti: Bekasi, Cikarang, Karawang, Cilegon, Tangerang, dsb. Saya merasa mantap kalau lokasi kerja berada di Jakarta sekalian atau diluar Jakarta tapi yang jauh sekalian! 😆 contohnya: Sumatera, Kalimantan, Sulawesi, dsb. Tapi ya balik lagi ke orang tua saya juga sih 😐 hahaha tapi kalo di Tangerang Selatan seperti di Serpong dan sekitarnya saya kira ngga masalah karena masih dekat dengan rumah wkwkwk.

Jadi, hal-hal tersebutlah yang membuat saya menganggur berbulan-bulan, tapi tidak masalah karena selama status saya ‘pengangguran’ isi kepala saya tidak menganggur, ada banyak hal yang saya kerjakan selama mengisi waktu luang tersebut, salah satunya mengikuti beberapa kursus untuk menambah kemampuan personal.

Berikut beberapa jenis perusahaan idaman yang saya urutkan sesuai prioritas:

  1. Kerja di EPC (IKPT, Tripatra, Rekayasa Industri, JGC, Cinovasi, Wifgasindo, dll)
  2. Kerja di sistem integrator, jujur sebetulnya saya belum begitu tau banyak soal sistem integrator karena beberapa perusahaan EPC juga memiliki peran sebagai sistem integrator (Smartadeco, Scada Prima Cipta, Jetec, Integra Automasi, dll)
  3. Kerja di oil and gas (Badak NGL, Donggi Senoro LNG, Medco Energi)
  4. Kerja di vendor electrical (Schneider, ABB, General Electric, dll)
  5. Kerja di perusahaan rekayasa elektronika (LEN, Innovative Electronics, Adafruit, Sparkfun, dll)
  6. Pilihan terakhir saya bekerja menjadi PNS (LAPAN, LIPI dan BPPT)

Yaa walaupun pengalaman kerja saya belum ada, hanya sebatas kerja praktek, tapi keinginan saya untuk bekerja di perusahaan service company memang kuat sekali, saya memiliki pandangan bekerja di perusahaan tersebut sangat seru, dengan berbagai macam client yang beraneka ragam, tentunya akan memberikan tantangan tersendiri, dan juga ilmu yang segudang pastinya.

Sampai saat ini, saya sudah mencoba mengirim lamaran ke beberapa perusahaan yang sudah saya jelaskan diatas, saya juga galau sekali karena beberapa teman saya yang sudah bekerja di sektor migas berkata bahwa saat ini sektor migas sedang down, salah satu akibatnya karena penemuan shale gas di Amerika, pusing kepala saya dibuatnya, belum lagi saat tulisan ini saya buat sembaring menonton berita dengan headline “Pendapatan Negara Anjlok 50% dari Ladang Minyak” kemudian di channel stasiun tv lain “Perusahaan pendukung minyak melakukan efisiensi 30%”. Alhasil hal ini tidak hanya berdampak pada owner company tapi juga pada support/service company seperti EPC.  Aaaah sudahlah yang penting saya coba saja lewat website perusahaan langsung, jobstreet dan sebagainya, semoga diberikan yang terbaik oleh Allah SWT, aamiin.

Sekali lagi ini hanya curahan hati yang saya dedikasikan untuk teman-teman saat kuliah dahulu yang saat ini sudah mulai berkarir, ini hanya sebagai jawaban bagi mereka yang sering menanyakan seputar ke-pengangguran-an saya hahaha. Semoga Allah memudahkan jalan kita semua dalam berkarir, aamiin.

Selamat belajar dan selamat berkarya! 😀

Automation Studio P6: Belajar Otomasi Industri

AP6

Saat ini perkembangan software simulasi khususnya HMI (Human Machine Interface) semakin berkembang pesat. Banyak software simulasi yang menyediakan berbagai macam fitur sehingga software tersebut dapat menampilkan parameter-parameter yang sama dengan kondisi di lapangan. Dari beberapa software simulasi/HMI yang pernah saya gunakan, saya terpikat pada satu software yang memiliki banyak fitur dari berbagai bidang di industri, software tersebut adalah Automation Studio.

Sesuai dengan namanya, Automation Studio merupakan software otomasi industri yang memiliki fungsi untuk melakukan desain dan simulasi sistem yang ada di industri. Software yang satu ini mirip sekali dengan software simulasi hidrolik/pneumatik pada postingan sebelumnya yakni FluidSIM . Namun, Automation Studio memiliki banyak kelebihan dibandingkan dengan FluidSIM karena modul dan perpustakaan (library) yang ada didalamnya lebih lengkap dan tampilannya pun terlihat elegan. Bisa dikatakan segala fitur yang ada pada FluidSIM ada pada Automation Studio dan sebaliknya tidak semua fitur pada Automation Studio ada pada FluidSIM.

Sebagai contoh, kita dapat membuat sebuah sistem hidrolik/pneumatik dimana seluruh komponen dalam sistem tersebut dapat diprogram dengan menggunakan ladder PLC dan dikendalikan menggunakan kontrol elektrik, bahkan kita juga dapat menggunakan HMI dalam mengoperasikan sistem tersebut. Sangat menarik bukan? 😀

PLC

Interface Automation Studio

Automation Studio sudah dikenal sebagai software untuk melakukan desain & simulasi sistem yang mencakup berbagai macam proyek/mesin seperti: hidrolik, pneumatik, listrik, kontrol, HMI, komunikasi bahkan sampai pemrograman PLC. Dengan begitu, sangat mudah untuk menggabungkan berbagai teknologi dalam merancang dan mensimulasikan suatu sistem secara lengkap.

ASP6

Automation Studio mencakup berbagai macam disiplin ilmu / bidang industri

Automation Studio dilengkapi dengan beberapa modul dan perpustakaan yang sangat lengkap. Tidak hanya itu saja, modul-modul ini juga mengikuti berbagai macam standar elektrikal, seperti: JIC, IEC, NEMA, dsb. Semua modul dan perpustakaan berinteraksi satu sama lain selama proses simulasi sehingga memungkinkan kita untuk membuat sebuah sistem otomasi industri yang dapat berperilaku seperti di kehidupan nyata.

Selamat belajar dan selamat berkarya! 😀

Festo FluidSIM 4.2 : Simulasi Pneumatik & Hidrolik

fluidsim-4

Pada dasarnya kinerja dari sistem hidrolik dan pneumatik sangat bergantung pada pengaturan aliran yang dilakukan oleh katup-katup kontrol. Apabila hal tersebut tidak dapat dipahami dengan baik, maka tentunya kita akan mengalami kesulitan dalam mengamati pola aliran fluida (hidrolik) maupun udara bertekanan (pneumatik) pada suatu sistem.

Hal inilah yang saya alami saat duduk di bangku kuliah, sulit untuk mem-visualisasikan pergerakan dari katup-katup bahkan membayangkan kinerja dari sistem secara keseluruhan saja tidak terbayang, disisi lain mungkin karena tingkat intelegensi saya yang dibawah rata-rata hahaha :lol:.

Setelah lulus kuliah, barulah saya menemukan solusi berupa sebuah perangkat lunak yang dapat digunakan untuk membuat simulasi sistem hidrolik dan pneumatik. Agak telat memang, tapi tidak ada kata terlambat untuk selalu menimba ilmu :D. Software tersebut adalah FluidSIM yang merupakan perangkat lunak buatan vendor otomasi terkenal Jerman yaitu FESTO.

FluidSIM adalah software yang dapat digunakan untuk pembuatan simulasi dan studi tentang sistem pneumatik dan hidrolik. Software ini juga dapat digunakan untuk merancang dan menguji suatu sistem sebelum sistem tersebut benar-benar diterapkan dalam keadaan real (nyata). Semua fungsi dari software ini cukup mudah digunakan, baik untuk pelajar maupun engineer.

fsim

Interface FluidSIM 4.2

Software ini dapat digunakan untuk merancang sistem hidrolik dan pneumatik sekaligus mem-visualisasikannya dalam bentuk animasi sehingga aliran fluida atau udara bertekanan, gerakan-gerakan dari setiap valve (katup) yang teraktuasi, dan gerak yang dihasilkan oleh sistem (gerak dari aktuator) akan dapat terlihat dengan jelas.

Software ini juga menyediakan fitur yang dapat digunakan untuk melakukan pengaturan pada valve, seperti: pemilihan metode aktuasi, jumlah port valve, jumlah posisi valve, dll.

fsim2

Pengaturan valve (katup)

Tidak hanya menyediakan komponen-komponen yang berkaitan dengan sistem hidrolik dan pneumatik, software ini juga menyediakan komponen-komponen elektrik yang dapat digunakan untuk melakukan simulasi sistem kontrol elektrik seperti starter motor, namun memang library yang disediakan cukup terbatas karena hanya sebatas komponen pendukung saja.

Berikut saya berikan link untuk mendownload software FluidSIM 4.2 dimana software ini terpisah menjadi dua bagian, yakni FluidSIM Pneumatic dan FluidSIM Hydraulic. Untuk mendownload softwarenya dapat dilakukan dengan cara klik link dibawah ini.

Download FESTO FluidSIM 4.2

Selamat belajar dan selamat berkarya! 😀

Cara Kalibrasi Sensor Gas MQ-7

Salah satu sensor yang sering digunakan dalam proyek-proyek elektronika adalah sensor gas MQ buatan Hanwei. Sering sekali saya melihat beberapa pertanyaan baik itu di forum tertentu ataupun pada suatu postingan yang ada di blog tentang bagaimana cara mengkalibrasi sensor gas MQ agar dapat melakukan pengukuran konsentrasi gas dalam satuan ppm (part per milion). Oleh karena itu, saya akan menceritakan pengalaman saya saat mengkalibrasi sensor MQ-7 dengan alat ukur gas standar.

Sekilas tentang MQ-7

MQ-7

Grafik Karakteristik Sensitivitas MQ-7

Jika kita melakukan analisa terhadap grafik diatas, maka terlihat bahwa rasio resistansi sensor gas MQ-7 (Rs/Ro) akan bernilai ≈ 1 pada saat konsentrasi gas CO ≈ 100 ppm. Artinya adalah pada saat konsentrasi gas CO ≈ 100 ppm maka nilai Rs = Ro. Hal ini dapat dibuktikan dengan persamaan berikut:

100 ppm CO=  Rs/Ro=1          (1)

Rs 100 ppm CO=Ro          (2)

Informasi inilah yang dapat dimanfaatkan untuk mendapatkan nilai Ro, karena nilai Ro secara definitif tidak dijelaskan pada lembar data sensor (Hanwei).

Pengujian MQ-7

Pengujian saya lakukan di laboratorium Balai HIPERKES dan K3 Yogyakarta dengan menggunakan alat ukur konsentrasi gas Karbon Monoksida (CO) “Krisbow KD09-224 Carbon Monoxide Meter” yang berfungsi sebagai kalibrator. Dalam pengujian ini rentang pengukuran disesuaikan dengan kebutuhan, yakni 20 – 200 ppm CO.

IMG_0258

Krisbow KD09-224 Carbon Monoxide Meter

Pada dasarnya nilai konsentrasi gas CO dalam satuan ppm dapat diketahui dengan cara mengambil beberapa data Rs (resistansi sensor MQ-7 pada tingkatan konsentrasi gas yang berbeda-beda) dan kemudian dicari model matematisnya (persamaan garis) terhadap setiap perubahan konsentrasi gas CO. Nilai pembacaan tegangan keluaran (Vout) yang dibaca oleh mikrokontroler dalam bentuk ADC kemudian diolah untuk mendapatkan nilai dari Vout, Rs dan Rs/Ro.

Vout = (ADC/1023) . Vcc          (3)

Rs = (Vcc.RL/Vout) – RL          (4)

ADC1

Hasil pengujian sensor (ADC) dengan kalibrator (ppm)

Pada tabel diatas dapat dilihat bahwa nilai Rs pada saat konsentrasi gas CO 100 ppm adalah sebesar 6.89 kΩ. Sesuai dengan persamaan (2) maka nilai Ro secara definitif dapat langsung diketahui, yaitu sebesar 6.89 kΩ.

Selanjutnya hubungan antara ppm CO dan Rs/Ro dituangkan ke dalam bentuk grafik untuk kemudian dicari persamaan atau model matematisnya. Untuk memudahkan plotting data ke dalam grafik serta mencari persamaan tersebut maka saya menggunakan perangkat lunak MS.Excel.

ADC2

Grafik ppm co vs Rs/Ro

Dengan menggunakan regresi (trendline) power maka diperoleh persamaan (y = 96.311x^-1.239) yang merupakan hubungan antara ppm CO dengan Rs/Ro. Trendline tersebut dipilih karena melihat bentuk kurva pada grafik, selain itu juga dari sisi komputasi dengan menggunakan trendline tersebut akan lebih mudah diterapkan pada mikrokontroler.

Pada lembar data sensor MQ-7 (Hanwei) terdapat penjelasan mengenai karakteristik sensor sebagai berikut.

ADC3

Karakteristik sensitivitas MQ-7

Hasil Pengujian MQ-7

Berdasarkan pengujian didapat nilai resistansi sensor (Rs) saat konsentrasi gas CO sebesar 100 ppm adalah 6.89 kΩ. Karena pengujian sensor hanya sampai pada konsentrasi 200 ppm (Rs = 3.44 kΩ) maka untuk mengetahui nilai Rs saat konsentrasi CO sebesar 300 ppm dilakukan dengan menganalisa data pada tabel hasil pengujian. Nilai Rs semakin berkurang seiring bertambahnya konsentrasi gas CO. Oleh karena itu, dapat dipastikan bahwa nilai Rs saat konsentrasi CO sebesar 300 ppm adalah < 3.44 kΩ. Sebagai contoh digunakan nilai 3.40 kΩ sebagai perumpamaan dari nilai Rs saat konsentrasi CO sebesar 300 ppm.

Concentration slope rate : Rs (300 ppm) / Rs (100 ppm CO ) < 0.5
Concentration slope rate : ((3.40 kΩ) / 6.89 kΩ)) < 0.5
Concentration slope rate : 0.49 < 0.5

Dengan menggunakan perumpamaan tersebut nilai concentration slope rate sudah bernilai < 0.5. Maka dapat dipastikan bahwa nilai concentration slope rate pada saat konsentrasi gas CO sebesar 300 ppm akan bernilai < 0.49. Dengan demikian sensitivitas sensor MQ-7 yang digunakan sudah sesuai dengan karakteristik pada lembar data (Hanwei) .

ADC4

Hasil pengujian sesuai dengan karakteristik sensitivitas MQ-7

Contoh penggunaan model matematis sensor MQ-7 yang telah diperoleh (y = 96.311x^-1.239) pada kode Arduino dengan menggunakan fungsi pow.

R = Rs/Ro;
p = -1.239;
z = pow(R,p);
ppm = 96.311*z;

Untuk mendapatkan hasil maksimal, ada baiknya jika sensor dilakukan pengujian kembali untuk mengetahui akurasi pembacaan sensor terhadap konsentrasi gas CO dalam satuan ppm. Selamat mencoba dan semoga berhasil! 😀