СПОСОБЫ УПРАВЛЕНИЯ ОСВЕЩЕНИЕМ НА СВЕТОДИОДАХ

Если для освещения вашего помещения используются светодиодные лампочки, ленты, и/или мощные светодиоды и вам необходимо управлять их включением и яркостью, вам будет полезна эта статья.

Также вы можете обратиться в нашу компанию и мы спроектируем и смонтируем для вас систему освещения любого уровня сложности с применением стандартных изделий и/или уникальных контроллеров и драйверов.

Переход от традиционного освещения с использованием ламп накаливания к светодиодному освещению создал проблему управления яркостью свечения светодиодов. Диммеры, которые ранее применялись для регулирования яркостью ламп накаливания, существенно ограничены в применении. Только некоторые светодиодные лампочки, оснащенные специальными драйверами (блоками питания), могут работать с классическими диммерами, которые предназначены для ламп накаливания. Эти светодиодные лампочки имеют специальную маркировку (Dimmable), которая указывает на такую возможность.

Устройство светодиодной лампы
Если для освещения применяются светодиодные ленты, то, как правило, их питание осуществляется через драйвера (блоки питания) 12 или 24В. Включение и выключение осуществляется путем подачи напряжения 220В на блок питания через механический выключатель. Используя такой способ, вы не можете регулировать яркость свечения светодиодов. Также при включении блоков питания могут возникать мощные импульсы тока, которые разрушают выключатель и вызывают электромагнитные помехи и колебания (мигание) напряжения в сети 220В. Этот способ управления приемлем, если речь идет об 1-2 групп освещения или декоративной подсветке небольшой мощности до 100-150Вт. Если же вы захотите отрегулировать яркость свечения светодиодной ленты, возникнет та же проблема, как и со светодиодными лампами. Блок питания должен поддерживать возможность диммирования. Обозначаются такие блоки питания как Triac Dimming Constant Voltage. Ниже на принципиальной схеме показаны оба варианта. Выше - классическая схема управления через механические выключатели, ниже, как соединяются диммер, диммируемый блок питания и светодиодная лента.


Схема подключения диммера, блока питания и светодиодов светодиодной LED ленты


В случае, если нужно управлять большим количеством групп светодиодного освещения большей мощности (от 150Вт) с возможностью централизованного управления и изменения яркости, например в офисе, магазине, кафе, ресторане, описанные выше способы не подходят. Не подходят эти способы и в случае если необходимо организовать современное управление через смартфон, планшет или компьютер.

Для таких случаев существуют несколько технологий управления яркостью свечения светодиодов в основе которых лежит принцип PWM (Pulse-width modulation) или по другому - ШИМ (широтно-импульсная модуляция):
 • собственно управление PWM сигналом;
 • управление по протоколу DMX-512;
 • управление по протоколу DALI;

Структурная схема такой системы управления яркостью светодиодных лент на протоколе DMX-512 с использованием 4-х канального усилителя мощности LIC CONTROL выглядит следующим образом.

схема DMX 512 управления мощной светодиодной LED лентой с усилителем тока


Управление осуществляется с DMX512 консоли или через компьютер, смартфон или DMX панель. Это позволяет иметь до 512 независимых групп управления. Для каждой группы можно установить свою яркость свечения светодиодов. DMX сигнал декодируется с помощью DMX декодера в PWM сигнал и поступает на 4-х канальный усилитель мощности LIC CONTROL. 4-х канальный усилитель мощности обеспечивает на каждый канал ток до 20А без применения активного обдува (охлаждения).
Для защиты от короткого замыкания служат плавкие предохранители по 4 шт на каждый канал. На практике это позволяет защитить каждые 10-15 метров LED ленты. Для защиты от перегрева на каждый канал предусмотрен отдельный термопредохранитель.

Технические характеристики 4-х канального усилителя мощности

PWM УПРАВЛЕНИЕ СВЕТОДИОДНЫМИ ЛЕНТАМИ НА ARDUINO

Ниже приводится принципиальная схема управления четырмя группами освещения на светодиодной (LED) ленте с помощью микроконтроллера Arduino Nano с применением технологии PWM. Данная схема позволяет управлять включением/выключением и яркостью каждой группы освещения а также автоматизировать этот процесс. Одно нажатие на клавишу выключателя включает/выключает группу света. При длительном нажатии яркость будет изменяться циклически (больше-меньше-больше). Также, доработав программу можно вместо выключателей подключить датчики движения и датчики освещенности. При использовании светодиодной (LED) ленты мощностью 10 Вт/м вы сможете управлять четырьмя отрезками ленты по 2.5м каждый при питании 12В.
Если использовать ленту и блок питания на 24В, длина ленты в каждой группе может увеличится до 5м. Мощность блока питания для подключения четырех групп ленты должна быть не менее 250 Вт.
Ограничение по мощности подключаемых лент обусловлено нагревом силового MOSFET транзистора IRF540. Если ему обеспечить дополнительное охлаждение, например с помощью радиатора, можно увеличить длину и/или мощность подключаемой ленты.

схема управления светодиодной LED лентой на Arduino Nano

Текст программы для микроконтроллера Arduino Nano
      
/*
(C)2020 ООО "ЛИК", http://lic.com.ua  
PWM КОНТРОЛЛЕР ДЛЯ УПРАВЛЕНИЯ СВЕТОДИОДНЫМИ ЛЕНТАМИ
Схема: http://lic.com.ua/article20.htm
Входа для подключения выключателей: A0,A1,A2,A3
PWM-выхода для подключения силового MOSFET транзистора: 9,6,5,3    
*/

const int pins_in_count=4; //Входа для подключения выключателей
int pins_in[pins_in_count]  = {A0,A1,A2,A3};

const int pins_out_count=4; //Выхода PWM, управляющий группой
int pins_out[pins_out_count] = {9,6,5,3}; 

//Массив для хранения текщего состояния группы света: вкл/выкл
int pins_state[pins_in_count];      
//Массив для хранения текщего состояния уровня яркости
int pins_pwm[pins_in_count];        
//Массив для хранения текщего состояния направления изм.яркости
int pins_dir[pins_in_count];        
//Массив для хранения предыдущего состояния группы света
int pins_old_state[pins_in_count];  

//Опрашиваем состояния входов на предмет 
//обнаружения нажатия клавиши выключателя
void ReadInputPins() {
  unsigned long PressTime = 0; 
  int d=0;
  for (int i=0; i<pins_in_count; i++) {
    d = digitalRead(pins_in[i]);
    if ((pins_old_state[i] == HIGH)and(d == LOW)) {
      PressTime = millis();
      while ((d == LOW) and ((millis()-PressTime)<200)) {
        d = digitalRead(pins_in[i]);
        delay(10);
      }
      int dt = millis()-PressTime;
      if ((dt>50)and(dt<200)) {
        //Было короткое нажатие, переключаем состояние выхода
        pins_state[i] = not pins_state[i];
        if (pins_state[i]==0) {
          analogWrite(pins_out[i],0);
          Serial.println("LED("+String(i)+"), OFF!");
        } else {
          if (pins_pwm[i]==0) pins_pwm[i] = 100;
          analogWrite(pins_out[i],int(2.55*pins_pwm[i]));
          Serial.print("LED("+String(i)+")");
          Serial.print(", ON! PWM="+String(pins_pwm[i]));
        }
      } else { 
        //Было длинное нажатие, изменяем уровень яркости
        while (d == LOW) {
          d = digitalRead(pins_in[i]);
          pins_pwm[i] += pins_dir[i];
          if ((pins_pwm[i]>100)or((pins_pwm[i]<0))) {
             pins_dir[i] = (-1) * pins_dir[i];
             pins_pwm[i] += pins_dir[i];             
          }
          analogWrite(pins_out[i],int(2.55*pins_pwm[i]));
          delay(10);
          Serial.print("LED("+String(i)+")");
          Serial.print(", STATE="+String(pins_state[i]));
          Serial.println(", PWM="+String(pins_pwm[i]));
        }
        pins_dir[i] = (-1) * pins_dir[i];
      }
     }
    pins_old_state[i] = d; 
  } 
}

void setup() {
  Serial.begin(9600);
  Serial.println("START PROGRAMM!");
  //Инициализация входов к которым 
  //подключены клавиши выключателей
  for (int i=0;i<pins_in_count;i++) {
    pinMode(pins_in[i], INPUT_PULLUP); 
    pins_state[i] = LOW;
    pins_old_state[i] = HIGH;
    pins_dir[i] = 1;
  }    
}

void loop() {
  ReadInputPins();
  delay(1);
}