Dimmable LED bulb

Pencahayaan merupakan aspek kebutuhan yang bisa di optimasi sehingga memberikan kenyamanan, ketelitian, keakuratan dan seterusnya. Bola lampu (bulb) merupakan sumber cahaya yang disediakan pabrikan dalam bermacam ukuran, secara awam diberikan dalam satuan Watt. Namun dalam pencahayaan, dibutuhkan besaran lumen yang mampu di hasilkan oleh titik bola lampu. Apabila bola lampu digunakan untuk menerangi bisang di depannya, maka rata-rata kecerahan bidang tersebut adalah jumlah lumen di bagi luas area yang terpapar dalam satuan lux.

Standar pencahayaan menetapkan beberapa ukuran yang diperlukan untuk menerangi area, diantaranya :

Ruangan Tingkat Pencahayaan
Teras 60
Ruang tamu 120 ̴ 150
Ruang makan 120 ̴ 250
Ruang kerja 120 ̴ 250
Kamar tidur 120 ̴ 250
Kamar mandi 250
Dapur 250
Garasi 60

Dalam beberapa aplikasi pencahayaan diperlukan kecerahan yang akurat, untuk keperluan itu dibutuhkan bola lampu yang bisa diatur keluaran intensitas cahaya/lumen-nya. Selain itu keuntungan lainnya menggunakan dimmer seperti bisa diatur tingkat kesilauan, rendering warna, panas, daya.

Projek kali ini akan mencoba membuat bola lampu LED yang bisa diredupkan. Karena jenis bola lampu ini tidak banyak dijual atau jarang tersedia di toko listrik, kita bisa memodifikasi bola lampu led biasa menjadi bola lampu yang bisa di redupkan/dimmable.

Komponen yang diperlukan adalah :

  • Bola lampu LED yang punya cukup ruang bebas di dalamnya
  • Transformator, ukuran ampere dan tegangannya disesuaikan
  • Dioda bridge
  • kapasitor

rakit komponen tersebut menurut skema berikut:

Rangkaian ini berupa penyearah pada umumnya yang dihubungkan dengan led pada bola lampu. Pada percobaan ini led-led dikelompokkan dalam 3 led seri dan dihubungkan dengan sumber tegangan dari trafo 12v–6v (~18v ac) disesuaikan dengan spesifikasi komponen yang digunakan.

berikut adalah contoh pemasangan lampu led dimmable:

 

Dimmer LED bulb ini bisa di kontrol dengan arduino menggunakan skema berikut:

 

Gunakan koding dimmer bola lampu led ini untuk menguji modifikasi lampu led yang dapat diredupkan:

#define pinPWM          3
#define pinZCD          2
#define frekuensi       50 //50 Hz
#define inputSerial     false

#define fCPU            16e6
#define prescaler       1024
#define lebarZCD        500e-6//s
#define freqDutyCycle   (fCPU / (1.0 * prescaler * 2 * frekuensi))
#define minTrigger      ((lebarZCD/2) / (prescaler / fCPU)) + 1
#define maxTrigger      (freqDutyCycle * 0.85)

volatile uint16_t dutyCycle;
volatile intptr_t *portPWM;
volatile byte bitPWM;

void setup() {
  Serial.begin(9600);
  Serial.println("Dimmer LED arduino");
  Serial.println("https://www.project.semesin.com/");
  Serial.println();

  pinMode(pinPWM, OUTPUT);

  dutyCycle = setDutyCycle(0);

  TCCR2A = _BV(WGM21);
  TCCR2B = _BV(CS22) | _BV(CS21) | _BV(CS20);// clk/1024
  OCR2A = maxTrigger - 1;
  OCR2B = dutyCycle;
  TIMSK2 = _BV(OCIE2B);

  portPWM = (volatile intptr_t *) portOutputRegister(digitalPinToPort(pinPWM));
  bitPWM = digitalPinToBitMask(pinPWM);

  attachInterrupt(digitalPinToInterrupt(pinZCD), zcdChange, RISING);

  Serial.print("minTrigger=");
  Serial.println((int)minTrigger);
  Serial.print("maxTrigger=");
  Serial.println((int)maxTrigger);
}

void loop() {
#if inputSerial

  if (Serial.available())
  {
    int data = Serial.parseInt();
    dutyCycle = setDutyCycle(data);

    while (Serial.available())
    {
      Serial.read();
      delay(2);
    }
  }

#else

  for (byte i = 1; i <= 100; i++)
  {
    dutyCycle = setDutyCycle(i);
    delay(20);
  }
  for (int8_t i = 99; i >= 0; i--)
  {
    dutyCycle = setDutyCycle(i);
    delay(20);
  }
  delay(1000);

#endif

}
uint16_t setDutyCycle(uint8_t dutyCycle)
{
  uint8_t trigger = map(dutyCycle, 0, 100, maxTrigger, minTrigger);

  //  Serial.print("dutyCycle=");
  //  Serial.print(dutyCycle);
  //  Serial.print(" trigger=");
  //  Serial.println(trigger);

  return trigger;
}

void zcdChange()
{
  TCNT2 = 0;
  OCR2B = dutyCycle;
}

ISR (TIMER2_COMPB_vect)
{
  *portPWM |= bitPWM;
  delayMicroseconds(10);
  *portPWM &= ~bitPWM;
}

Rangkaian Dimmer lampu yang dikendalikan oleh sinyal PWM digital

Lampu merupakan komponen yang mengubah energi listrik menjadi energi cahaya. Untuk mengontrol intensitas cahaya lampu kita biasa menggunakan dimmer/peredup. Dimmer umumnya dikendalikan oleh potensio, yang mengontrol waktu penyalaan SCR.

Rangkaian dimmer ac:

Untuk mengontrol intensitas cahaya lampu menggunakan sinyal PWM digital memiliki beberapa kendala yaitu :

  1. Waktu penyalaan, sinyal bolak-balik (AC) senantiasa bergerak naik dan turun, maka sinyal pengontrol PWM haruslah dimulai saat sinyal AC meninggalkan nilai nol
  2. Frekuensi AC, Sinyal pengontrol PWM juga harus memiliki frekuensi tepat dengan frekuensi sinyal AC (listrik)

Akibat dari frekuensi yang tidak pas tepat adalah intensitas cahaya lampu yang tidak rata.

Permasalahan waktu penyalaan bisa dideteksi dengan rangkaian zero crossing detector (ZCD), dan permasalahan frekuensi AC bisa dideteksi dengan melakukan pengukuran rentang frekuensinya.

Namun perangkat digital juga memiliki tick point yang tidak singkron dengan sinyal AC misalnya faktor pergeseran frekuensi akibat pembagian bilangan yang tidak sempurna. Sebagai contoh perangkat digital akan sulit mencapai frekuensi 50,00019 Hz.

Untuk mengatasi pemasalahan tersebut rangkaian peredup lampu (Dimmer) didesain dengan penggunaan frekuensi yang lebih tinggi dari frekuensi sinyal AC tanpa memperhatikan waktu nol dan nilai frekuensinya.

Sinyal PWM bisa diperoleh dari rangkaian pembangkit PWM (PWM generator) atau dari mikrokontroller seperti arduino. Aplikasi rangkaian dimmer lampu arduino (rangkaian dimmer arduino) bisa menggunakan perintah analogWrite().

Berikut komponen elektronika yang digunakan dalam perancangan dimmer PWM lampu 220v:

  1. Dioda 1N5408 4 buah
  2. Dioda 1N4007
  3. Dioda zener 10V
  4. Resistor 220 ohm 2 buah
  5. Resistor 330 ohm
  6. Resistor 68 Kohm
  7. Kapasitor 2.2 uH
  8. Optocoupler 4N35
  9. Mosfet IRF 830
  10. Lampu dan Fitting

Berikut skema rangkaian dimmer lampu dc/ac yang dikontrol PWM:

 

update: https://www.project.semesin.com/2018/05/01/dimmer-pwm-arduino/