Modul solid state relay

Mengenai EMR (Electromechanical Relay) telah dicatatkan di dua post terdahulu, di link ini dan di link ini. Dalam post ini akan diungkap mengenai penggunaan SSR (Solid State Relay).

Ada banyak tipe dan instalasi SSR, salah satu modul yang cukup mudah ditemui dalam bidang elektronika adalah seperti pada Gambar 1 dan Gambar 2.

Gambar 1.

http://artofcircuits.com/wp-content/uploads/2016/06/1-CH-2A-240VAC-SSR-Module-2.jpgGambar 2. [sumber]

Gambar 3. [sumber]

Pada tabel di Gambar 3 (screenshot dari datasheet) bisa dilihat bahwa tipe G3MB ini sudah discontinued, artinya secara resmi sebenarnya produksinya telah dihentikan oleh produsennya. Di sana tabel yang sama juga bisa dilihat bahwa ada dua jenis SSR tipe ini, yang menggunakan zero crossing dan yang tidak (disebut juga random turn-on). Jenis G2MB-202P adalah jenis yang di dalamnya terdapat zero cross.

Gambar 4. [sumber]

Sekadar sebagai gambaran untuk mempermudah membayangkan cara kerja SSR, dapat dilihat rangkaian pada Gambar 4. Prinsip/dasar kerjanya tidaklah rumit, triac berfungsi sebagai sakelar utama, dibantu oleh phototriac sebagai sakelar yang menghubungkan antara input dengan sakelar utama. Phototriac memberikan isolasi galvanis, artinya input (misalnya dari Arduino) tidak terhubung langsung secara elektrikal dengan triac.

Jika suatu saat diperlukan atau dikehendaki prinsip blok rangkaian pada Gambar 4 bisa diwujudkan dengan komponen-komponen distrik seperti pada Gambar 5. Namun untuk banyak keperluan modul SSR yang sudah dalam bentuk yang terintegrasi lebih memudahkan, seperti pada Gambar 6 yang merupakan komponen utama dari papan pada Gambar 1 dan Gambar 2.

Image result for omron g3mbGambar 5. [sumber]

Gambar 6. [sumber]

SSRGambar 7. [sumber]

Rangkaian papan SSR pada [ps2id url=’#gambar2′ offset=’300′]Gambar 2[/ps2id] dapat lebih mudah dipahami dengan melihat pada Gambar 7. Semua komponen terdapat di papan SSR (lihat Gambar 2), tidak diperlukan lagi komponen tambahan. Tiga masukan berasal dari pengendali digital, semisal papan Arduino M0 atau GPIO Raspberry Pi atau papan TI Launchpad. Polaritas catu daya jangan sampai terbalik meskipun di papan telah dipasang diode.

Gambar 8. Ringkasan spesifikasi papan SSR Omron G3MB [sumber]

Gambar-gambar berikut adalah contoh penerapan papan SSR.

Image result for arduino ssrGambar 9. [sumber]Image result for arduino ssr ACGambar 10. [sumber]Image result for arduino omron ssr wiring ACGambar 11. [sumber]

Gambar 11.

Uji coba untuk melakukan pemrograman pengujian awal bisa dilakukan dengan konfigurasi DC seperti pada Gambar 11. Meski harus tetap diingat bahwa SSR ini adalah untuk beban AC (lihat [ps2id url=’#gambar6′ offset=’300′]Gambar 6[/ps2id]), bukan beban DC. Sehingga meskipun SSR sudah dimatikan (off) tetap ada aliran arus DC ke beban.

const uint8_t IND_LED_PIN = LED_BUILTIN;
const uint16_t DELAY02 = 2000; 

#define BLINK_DELAY 500

#define SSR_ON HIGH
#define SSR_OFF LOW

#define LED_SRC 7

#define CH1 8
#define CH2 9




void safeSSRinit(void)
{
  digitalWrite(CH1, LOW);
  digitalWrite(CH2, LOW);
  delay(100);
  pinMode(CH1, OUTPUT);
  pinMode(CH2, OUTPUT);
}


void ssrTest001(void)
{
  digitalWrite(CH1, LOW);
  delay(2000);
  digitalWrite(CH1, HIGH);
  delay(2000);

  digitalWrite(CH2, LOW);
  delay(2000);
  digitalWrite(CH2, HIGH);
  delay(2000);  
}

void ssrTest002(void)
{
  digitalWrite(CH1, SSR_ON);
  delay(DELAY02);
  digitalWrite(CH1, SSR_OFF);
  delay(DELAY02);
}

void testPola01(void)
{
  digitalWrite(LED_SRC, HIGH);
  ssrTest002();
  digitalWrite(LED_SRC, LOW);
}

void testPola02(void)
{
  digitalWrite(LED_SRC, HIGH);

  digitalWrite(CH1, SSR_ON);
  delay(DELAY02);
  digitalWrite(LED_SRC, LOW);
  delay(DELAY02);
  digitalWrite(CH1, SSR_OFF);
  delay(DELAY02);

  digitalWrite(LED_SRC, LOW);
}

void testPola03(void)
{
  delay(DELAY02);
  digitalWrite(IND_LED_PIN, HIGH);
  delay(DELAY02);
  digitalWrite(CH1, SSR_ON);
  delay(DELAY02);  
  digitalWrite(LED_SRC, HIGH);
  delay(DELAY02);
}

void testPola04(void)
{
  digitalWrite(LED_SRC, LOW);
  delay(DELAY02);
  digitalWrite(CH1, SSR_ON);
  delay(DELAY02);
  digitalWrite(LED_SRC, HIGH);
  delay(DELAY02);
  digitalWrite(CH1, SSR_OFF);
  delay(DELAY02);
  digitalWrite(LED_SRC, LOW);
}

void setup(void)
{
  safeSSRinit();
  delay(10);

  pinMode(LED_SRC, OUTPUT);
  digitalWrite(LED_SRC, LOW);

  pinMode(IND_LED_PIN, OUTPUT);
  digitalWrite(IND_LED_PIN, LOW);

  delay(1000);
  digitalWrite(IND_LED_PIN, HIGH);
  delay(1000);
  
  // ssrTest001();

  for (int i = 0; i < 3; ++i)
  {
    /* code */
    // ssrTest002();
    // testPola01();
    // testPola02();
    // testPola03();
    testPola04();
  } 
  digitalWrite(IND_LED_PIN, LOW);
}


void loop(void)
{

}

Dengan kode yang sama, bisa dilakukan pengujian untuk beban AC seperti pada Gambar 12 dengan daya AC, tegangan listrik sebesar kurang-lebih 220 V dari jala-jala PLN. Hasil unjuk kerja akan berbeda dengan percobaan pada Gambar 11 (beban DC). Pada pengendalian beban AC, pemutusan berlangsung seperti yang seharusnya sebab kondisi latching dan (terutama) holding akan terhenti saat nilai arus turun menuju crossing.

Gambar 12.

[su_panel color=”#010101″ border=”0px none #cccccc” shadow=”0px 0px 0px #ffffff” text_align=”center”]

Solid State Relay G3MB by Sunu Pradana on Scribd

[/su_panel]

Untuk mempelajari lebih lanjut tentang pengoperasian SSR, silakan membaca dokumen dan artikel berikut:

 

Modul dua relay

Sebelumnya saya sudah membuat catatan tentang Arduino shield yang berisi empat relay. Di pasaran lokal, pembeli perlu cermat karena rating relay bisa jadi tidak sesuai dengan aplikasi yang direncanakan.

Gambar 1.

Kali ini adalah catatan tentang papan relay (relai) seperti pada Gambar 1. Rating relai dapat dibaca di bagian atas masing-masing relai, untuk kemudian bisa dibandingkan dengan datasheet yang sesuai. Yang sangat penting diperhatikan adalah mengenai single-line header yang tampak sebagai selection jumper pada bagian kiri dari Gambar 1. Di sana tertulis JD-VCC, VCC dan GND. Lebih detail bisa dilihat pada Gambar 2.

Gambar 2. [sumber]

Posisi jumper secara default dari awal adalah terhubung antara JD-VCC dengan VCC. Konfigurasi ini berarti catu daya untuk optocoupler, transistor BJT dan relai berasal dari catu daya VCC yang sama untuk pemberian sinyal ke optocouler. Perlu berhati-hati VCC pada header ini secara elektris terhubung dengan header VCC untuk masukkan, bisa dilihat langsung pada bagian bawah PCB. Begitu pula GND pada header yang sama.

Gambar 3. [sumber]

Gambar 3 menyampaikan informasi yang sama dengan cara yang berbeda. Di sini bagian GND pada header dihilangkan sehingga jelas bahwa jumper itu bukanlah selector-jumper. Jangan menghubungkan antara VCC dengan GND! Fungsi pin GND pada header itu adalah untuk penyambungan ke sumber catu daya lain. Dua kabel yang perlu disambungkan adalah JD-VCC dan GND, sehingga GND dari catu daya ini akan terhubung dengan GND pada papan pengendali (mikrokontroler seperti ATmega328P atau sistem Arduino).

 

Dari situs http://howtomechatronics.com, bisa juga dilihat gambar yang memberi keterangan tentang sambungan daya.

Gambar 4. Menggunakan catu daya Arduino [sumber]

Gambar 5. Menggunakan catu daya terpisah (sambungkan juga GND) [sumber]

Gambar 6. Papan sistem menggunakan active-low [sumber]

Keterangan yang lebih baik bisa diperoleh langsung dari situs aslinya di link ini: howtomechatronics.com .

Berdasar pengetahuan yang diperoleh dari Gambar 6, kita bisa melakukan pengaturan pada kode progam sehingga penggunaan relai tidak terganggu dengan kode program yang janggal atau tidak natural.

const uint8_t IND_LED_PIN = 1;
#define BLINK_DELAY 500
#define RELAY_ON LOW
#define RELAY_OFF HIGH
#define IN1 3
#define IN2 4


void safeRelayInit(void)
{
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, HIGH);
  delay(100);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
}


void relayTest001(void)
{
  digitalWrite(IN1, LOW);
  delay(2000);
  digitalWrite(IN1, HIGH);
  delay(2000);

  digitalWrite(IN2, LOW);
  delay(2000);
  digitalWrite(IN2, HIGH);
  delay(2000);  
}

void relayTest002(void)
{
  digitalWrite(IN1, RELAY_ON);
  delay(1000);
  digitalWrite(IN1, RELAY_OFF);
  delay(1000);

  digitalWrite(IN2, RELAY_ON);
  delay(1000);
  digitalWrite(IN2, RELAY_OFF);
  delay(1000);  
}

void setup(void)
{
  safeRelayInit();
  delay(10);


  pinMode(IND_LED_PIN, OUTPUT);
  digitalWrite(IND_LED_PIN, LOW);

  

  delay(1000);
  digitalWrite(IND_LED_PIN, HIGH);
  delay(1000);
  
  // relayTest001();

  for (int i = 0; i < 2; ++i)
  {
    /* code */
    relayTest002();
  } 


  digitalWrite(IND_LED_PIN, LOW);

}


void loop(void)
{

}

Gambar 7. Papan SRD-05VDC-SL-C

Gambar 8.

[su_panel color=”#010101″ border=”0px none #cccccc” shadow=”0px 0px 0px #ffffff” text_align=”center”]

SONGLE SRD relay by Sunu Pradana on Scribd

[/su_panel]

Relay shield

Papan relay shield dijual dengan lebih dari satu rating tegangan listrik, berikut dua contoh.

Gambar 1. Arduino Relay Shield v1.0 5V 4-Channel Relay Module [sumber]

 

https://images-na.ssl-images-amazon.com/images/I/71JfWudPY9L._SL1067_.jpgGambar 2. Seeed Arduino Relay Shield V2.0 [sumber]

 

Gambar 1 dan Gambar 2 menunjukkan dua sistem relay yang berbeda, tetapi pengoperasiannya sama. Berikut kutipan data untuk relay HJR4102.

Gambar 3. [sumber]

Gambar 4. [sumber] [su_panel color=”#010101″ border=”0px none #cccccc” shadow=”0px 0px 0px #ffffff” text_align=”center”]

Relay HJR4102 by Sunu Pradana on Scribd

[/su_panel]