Муфты электромонтажные от производителя Fucon

Контроллер управления подсветкой рабочей зоны на кухне
Часть 1. Вариант на Arduino

Журнал РАДИОЛОЦМАН, февраль 2017

Вадим Колесник, г. Тирасполь

Общие сведения

В статье пойдет речь о простом устройстве, которое я сконструировал для автоматического управления дополнительной светодиодной подсветкой на кухне. Поводом для разработки послужил ремонт помещения и полная замена кухонной мебели. До этого на старой кухне у меня была подсветка рабочей зоны (рабочий стол и мойка) на светодиодной ленте (светодиоды типоразмера 5050) с отдельным выключателем. После полного обновления интерьера кухни (и демонтажа светодиодной подсветки) стала резко ощущаться нехватка этого локального освещения. С креплением и размещением светодиодной ленты на новой кухне вопросов не возникло, а вот именно из-за отсутствия места для незаметной установки выключателя я и решил собрать устройство автоматического управления, не требующего каких-либо действий от пользователя (Рисунок 1).

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Контроллер управления подсветкой рабочей зоны на кухне
Рисунок 1. Подсветка рабочей зоны на кухне с автоматическим управлением.

Мы рассмотрим два варианта устройства, выполняющих автоматическое управление локальным освещением рабочего стола (рабочей зоны) на кухне, но отличающихся элементной базой и дополнительным функционалом. Автоматическое управление освещением подразумевает плавное поэтапное включение и выключение подсветки на основе данных о текущей освещенности в помещении (и ее изменении) и наличии движения человека. Первый вариант устройства выполнен на Arduino Nano и после простой настройки работает полностью в автоматическом режиме (Рисунок 2). Второй вариант выполнен на Wi-Fi модуле типа NodeMCU (СнК ESP8266, ESP-12E) и, помимо выполнения основной функции, имеет дополнительные возможности онлайн контроля и управления. В последнем случае пользователь может со смартфона или из браузера включить/выключить подсветку, а также получать данные о текущем уровне освещенности и режиме работы контроллера.

Контроллер управления подсветкой рабочей зоны на кухне
Рисунок 2. Контроллер управления подсветкой рабочей зоны на кухне
(версия на Arduino Nano).

В текущих версиях программного обеспечения контроллеров реализованы два основных режима работы: ночной и дневной. Основные режимы состоят из нескольких фиксированных по времени этапов, последовательно выполняющихся в зависимости от активности, которую фиксирует датчик движения, и резкого увеличения уровня освещенности помещения. Более подробно режимы работы рассмотрим в разделе «Скетч Arduino».

В общем случае оба варианта устройства имеют одинаковую структурную схему: микроконтроллер, датчик освещенности (фоторезистор), датчик движения, схема питания, силовой транзистор для управления светодиодами или, как в моем случае, светодиодной лентой. Отличия в схемотехнике двух устройств обусловлены спецификацией СнК ESP8266 (напряжение питания 3.3 В), а также расширенным функционалом устройства на NodeMCU. Идея создания второго варианта контроллера пришла после того, как я узнал об облачном сервисе myDevices Cayenne и оценил его работу на платформе Arduino, принимая во внимание поддержку чипа ESP8266 в интегрированной среде разработки Arduino IDE.

Принципиальная схема контроллера на Arduino

Изображенная на Рисунке 3 принципиальная схема контроллера подсветки очень проста. Оригинал схемы (и проект в целом) доступен пользователям в онлайн сервисе для проектирования электроники EasyEDA, при этом вы можете перенести ее в свой проект, например с целью усовершенствования или модернизации, или экспортировать в графический формат. Интерфейс EasyEDA русифицирован, интуитивно понятен и обеспечивает все необходимые разработчику инструменты, поэтому рисование схемы не вызвало каких-либо затруднений (Рисунок 4). Замечу, что в схеме использованы элементы из основной базы EasyEDA, а также из доступных пользовательских библиотек.

Контроллер управления подсветкой рабочей зоны на кухне
Рисунок 3. Принципиальная схема контроллера подсветки на Arduino.

В качестве датчика освещенности используется миниатюрный фоторезистор VT93N1 номиналом 12 кОм. Резистор R3 с фоторезистором образуют делитель напряжения, который подключается к аналоговому входу A7. Это самый простой способ подключения фоторезистора к Arduino.

Для обнаружения присутствия человека в помещении я использовал ИК датчик движения Фотон-9 от охранной сигнализации. (Важный момент, не путайте с датчиками движения для управления осветительными приборами). Без изменения схемы и прошивки возможно применение любого аналогичного датчика движения с нормально замкнутыми контактами реле и напряжением питания 12 В. Датчик подключается к контроллеру посредством совмещенного разъема TB1-TB2 (клеммники с винтовым зажимом). Сигнальная линия датчика движения (клемма С, см. описание датчика [1]) подключается к порту D2, который настроен как вход с внутренним подтягивающим резистором. К клемме NC датчика подключена «земля». В нормальном состоянии контакты реле датчика движения (NC и С) замкнуты, следовательно, на входе D2 присутствует низкий логический уровень. При обнаружении движения контакты реле датчика размыкаются и, благодаря подтягивающему резистору, на входе D2 появляется высокий логический уровень.

Контроллер управления подсветкой рабочей зоны на кухне
Рисунок 4. Разработка принципиальной схемы в онлайн редакторе EasyEDA.

Отмечу, что ИК датчики движения различных производителей имеют разную чувствительность (которая в большинстве случаев регулируется) и разные диаграммы направленности, поэтому на выбор места установки датчика придется потратить определенное время. В моем случае датчик расположен в верхнем углу напротив входной двери кухни (Рисунок 5) и, благодаря хорошей чувствительности, срабатывает уже при приближении человека к входу в помещение, отчего подсветка включается заблаговременно.

Контроллер управления подсветкой рабочей зоны на кухне
Рисунок 5. Расположение контроллера подсветки, ИК датчика движения и источников
основного освещения в помещении.

Контакт 2 разъема TB2 подключен к свободному порту D3 Arduino и может использоваться для расширения функционала контроллера. Это же относится и к разъемам P2-P4.

Светодиоды или светодиодная лента с напряжением питания 12 В подключаются в разъем DC2. Микроконтроллер реализует ШИМ управление яркостью свечения светодиодов с помощью силового MOSFET NTD3055L (или аналогичного с логическим уровнем управления), затвор которого подключен к цифровому выходу Arduino D5.

Плата Arduino Nano содержит регулятор напряжения 5 В для питания микроконтроллера, поэтому необходимости в использовании дополнительной схемы питания нет, и напряжение 12 В с разъема DC1 поступает непосредственно на вход Vin платы Arduino. Напряжение 5 В с регулятора Arduino поступает на фоторезистор и на контакт 2 разъема P4.

Список использованных библиотечных компонентов, сформированный в редакторе EasyEDA, приведен в Таблице 1.

Таблица 1. Список использованных компонентов.

п/п
Обозначение
в схеме
Количество Корпус в EasyEDA Примечание
1 DC1, DC2 2 DC-5020 Разъем питания DC
2 U1 1 ARDUINO NANO  
3 R1, R2, R3 3 1206 Резисторы SMD 1206
4 Q1 1 DPAK-3 MOSFET
5 C1 1 CAP-D5.0XF2.0  
6 P2,P4 2 HDR-8X1/2.54 Штыревые разъемы
7 P3 1 HDR-1X2/2.54 Штыревой разъем
8 TB1, TB2 2 DG126-02P Клеммник винтовой
9 J1 1 M1X2 Штыревой разъем или
отверстия для установки
фоторезистора

Скетч Arduino

Исходный код программы микроконтроллера (скетч) прост в понимании и снабжен комментариями. Скетч предоставляется «как есть»; не исключена возможность его дальнейшей оптимизации или внедрения дополнительных функций и режимов работы контроллера. Здесь все зависит от вашей фантазии и желания.

Данные о текущей освещенности и ее изменении микроконтроллер получает с фоторезистора. Интегрированный АЦП преобразует значение напряжения на входе A7 в цифровой код, который без каких-либо преобразований в неизменном виде используется в программе. В последующем описании цифровой код АЦП для простоты будем считать некими условными единицами.

Как отмечалось в начале статьи, контроллер работает в ночном и дневном режимах. Это основные режимы работы, которые выполняются поэтапно:

  • Дневной режим работы активен при недостаточной освещенности помещения (15 – 110 единиц):
    • Этап 1:
      При обнаружении движения на 3 минуты плавно включается подсветка с яркостью 20%. Если по завершении этого этапа фиксируется движение, то происходит переход на этап 2. Если движение отсутствует, подсветка плавно выключается;
       
    • Этап 2:
      Яркость подсветки плавно увеличивается до 100%, начинается отсчет 7-минутного интервала. При каждой фиксации движения отсчет сбрасывается и вновь начинается с нуля;
       
    • Этап 3:
      По истечении 7-минутного интервала яркость плавно снижается до 20% и происходит переход на этап 1;
       
  • Ночной режим работы активен при низкой освещенности (менее 15 единиц):
    • Этап 1:
      При обнаружении движения на 3 минуты плавно включается подсветка с яркостью 10%. Если по завершении этого этапа фиксируется движение, то происходит переход на этап 2. Если движение отсутствует, подсветка плавно выключается;
       
    • Этап 2:
      Яркость подсветки плавно увеличивается до 50%, начинается отсчет 7-минутного интервала. При каждой фиксации движения отсчет сбрасывается и вновь начинается с нуля;
       
    • Этап 3:
      По истечении 7-минутного интервала яркость плавно снижается до нуля.

Описание и выбор соответствующих режимов работы в программе микроконтроллера я пояснил комментариями.

Резкое изменение уровня освещенности (включили основной свет) контроллер определяет по разности двух последовательных измерений освещенности, выполняемых каждую секунду. Для этого используется функция LightingChange_Det(). Если выявлено резкое увеличение освещенности (разность более 40 в коде АЦП), то контроллер, в соответствии с текущим основным режимом работы, перейдет на следующий этап, включив подсветку или увеличив ее яркость (Листинг 1).

Листинг 1. Функция контроля освещенности.

void LightingChange_Det () {
  current_luminosity = analogRead(Light_Sensor);
  if ((current_luminosity - previus_luminosity > 40) && (Light_On == false)) {
    mode = 1;    //включили основной свет, подсветка была выключена;
    Mode_Set();  //включаем подсветку (дневной режим, этап 1)
  }
  if ((current_luminosity - previus_luminosity > 40) && (Light_On == true) && (mode == 1)) {    
    mode = 2;    //включили основной свет, подсветка активна (дневной режим);
    Mode_Set();  //увеличиваем яркость (дневной режим, этап 2)
  }
    else if ((current_luminosity - previus_luminosity > 40) && (Light_On == true) && (mode == 4)) {
    mode = 5;    //включили основной свет, подсветка активна (ночной режим);
    Mode_Set();  //увеличиваем яркость (ночной режим, этап 2)
  }
  previus_luminosity = current_luminosity;
  if ((current_luminosity > 110) && (Light_On == true)) {
    mode = 0;    //уровень освещения стал достаточным
    Mode_Set();  //выключаем подсветку
  }
}

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

В программе микроконтроллера все временные задержки формируются без использования функции delay(). Используется конструкция на основе функции millis() (Листинг 2).

Листинг 2. Формирование временных интервалов с помощью функции millis().

if (millis() - timeout_1 >= interval_1) {    //формируем интервал 1 с
   timeout_1 = millis();                     //каждую секунду проверяем уровень освещенности
   LightingChange_Det();                     //и его изменение
 }

Проверка всех условий и установка необходимого режима работы выполняется с помощью операторов «if…else», непосредственное управление ШИМ выходом с учетом установленного режима работы выполняется в отдельной функции Mode_Set(), в которой используется конструкция «switch… case».

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

Исходный код (скетч) доступен для скачивания в разделе загрузок.

Печатная плата

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

Проектирование печатной платы в EasyEDA.
Рисунок 6. Проектирование печатной платы в EasyEDA.

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

Печатная плата двухсторонняя, без межслойных переходов, с заливкой на верхнем и нижнем слое (GND, земля) и шелкографией на верхнем слое (Рисунок 7). Заказ на производство плат оформил непосредственно из редактора, при этом автоматически были сгенерированы Gerber-файлы моего проекта (архив доступен для скачивания в секции загрузок). Кроме того, в EasyEDA встроен очень полезный инструмент для просмотра Gerber-файлов – GerberViewer. Минимальный заказ (5 штук) был выполнен в течение трех рабочих дней и отправлен почтой.

Фото-вид печатной платы в редакторе EasyEDA.
Рисунок 7. Фото-вид печатной платы в редакторе EasyEDA.

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

Комплект печатных плат, изготовленных в EasyEDA
Комплект печатных плат, изготовленных в EasyEDA
Рисунок 8. Комплект печатных плат, изготовленных в EasyEDA.

Вид платы с установленными компонентами показан на Рисунке 9.

Контроллер управления подсветкой рабочей зоны на кухне
Рисунок 9. Плата контроллера подсветки с установленными компонентами.

Ссылки

Материалы по теме

Дополнительные материалы

Загрузки

На английском языке: Controller for automatic lighting of the working area in the kitchen. Part 1 - Arduino Version. Schematic, Sketch and PCB

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения (только последние 20 сообщений):Полный вариант обсуждения »
  • Ну светодиод у меня горит на красном сенсоре только, когда нажимаешь. А на синем , который с ролика ютуба, тому ардуина не нужна. Я думал вообще без ардуино, но у меня кроме белых, еще RGB диоды в ленте, мне бы их тоже использовать, Думал к крану термометр прикрутить, чтобы лента цветом показывала какая вода течет. Как в алиэкспрессовских наконечниках для смесителей. А как на датчике движения полярность можно сжечь? там диод вроде.
  • Приветствую. Датчик движения HC-SR501 (и его аналоги) - в принципе работают хорошо, у меня такой в коридоре установлен (чувствительность правда не постоянная какая-то, но в целом норм). По его настройке и описанию (регуляторы и перемычка) есть много материалов в сети. Проще его проверить и выставить режим работы отдельно на столе, а не в составе схемы (контроллера), с помощью мультиметра. Далее - фоторезистор - тоже сначала проверить мультиметром (увеличение освещенности - уменьшение сопротивления), потом можно проверить и отладись с Arduino (проще - использовать встроенные примеры Arduino IDE, в частности Analog Input) и посмотреть какие данные получаем при том или ином уровне освещенности фоторезистора. Именно фоторезистор, не фотодиод, вот такого типа я использовал [URL="https://www.rlocman.ru/i/File/2017/02/10/vt93n1.pdf"]Фоторезистор[/URL] (стоит в модулях ИК подсветки камеры видеонаблюдения). Из-за этой неразберихи с периферийей мы не можем оценить корректность работы контроллера. Для проверки контроллера фоторезистор можно заменить потенциометром, а вместо датчика движения - использовать кнопку. Когда разберетесь с датчиками можно будет подумать о добавлении управления с пульта ДУ, если нужно будет, думаю, я смогу помочь в этом. Также если не нужно, то из скетча можно исключить обработку фоторезистора и датчика движения...
  • Добрый день! Что у меня получилось.. Залил скетч с сенсорным датчиком. поставил контрольный зеленый светодиод на ногу с датчиком движения (D2), потенциометры на датчике на минимуме, перемычка (Н). 0. колпачок на фоторезисторе снят (день) 1. включил питание 2. датчик движения самотестируется моргает зеленый светодиод. 3. зеленый светодиод гаснет движения нет 4. движение рукой, зеленый светодиод один раз моргает и гаснет 5. ничего не происходит 6. колпачок на фоторезисторе одет (ночь) 7.загорается пол накала синий контрольный светодиод-"мосфет" (D5) 8.плавно гаснет, потом Загорается на весь накал, и снова гаснет. 9. тоже самое мотаю рукой, зеленая лампочка ДД отрабатывает, но синий диод не загорается. 10. сенсорная кнопка включает-выключает синий св.диод на весь накал. Сейчас видео попробую выложить.
  • [url]https://youtu.be/rYgE6Wsn6Nk[/url]
  • Модуль фоторезистора: используете его аналоговый выход AO или цифровой DO? Без отладочных данных могу предположить: в случае "день" - контролллер не включает подсветку по датчику движения, т.к. в помещении "достаточный" уровень освещенности. В случае "ночь" - непонятное поведение, не исключаю что колпачок недостаточно хорошо закрывает фоторезистор. В скетче имеются пороговые значения для датчика освещенности (для разграничивания режимов работы, посмотрите комментарии в скетче) и эти значения подбирались по фоторезистору. Добавьте в скетч операторы Serial.print(), чтобы выводить в вреальном времени значения по освещенности (режим работы и пр) в последовательный порт. Сможете? Знаете как это сделать? Где смотреть выводимые с Ardiuino данные?
  • Модуль фоторезистора АО, вот это место? void LightingChange_Det () { current_luminosity = analogRead(Light_Sensor); if ((current_luminosity - previus_luminosity > 40) && (Light_On == false)) { Lighting_mode = 1; //включили основной свет, подсветка была выключена; Mode_Set(); //включаем подсветку (дневной режим, этап 1) } if ((current_luminosity - previus_luminosity > 40) && (Light_On == true) && (Lighting_mode == 1)) { Lighting_mode = 2; //включили основной свет, подсветка активна (дневной режим); Mode_Set(); //увеличиваем яркость (дневной режим, этап 2) } else if ((current_luminosity - previus_luminosity > 40) && (Light_On == true) && (Lighting_mode == 4)) { Lighting_mode = 5; //включили основной свет, подсветка активна (ночной режим); Mode_Set(); //увеличиваем яркость (ночной режим, этап 2) } previus_luminosity = current_luminosity; if ((current_luminosity > 110) && (Light_On == true)) { Lighting_mode = 0; //уровень освещения стал достаточным Mode_Set(); //выключаем подсветку } } у меня фоторезистор где то 183-215 открытый-светло 416-550 закрытый. куда мне это вставить?
  • Это функция детектора изменения освещенности (если включили основной свет, то подсветка включается в заданный режим, либо переключается из одного режима в другой - кстати очень похоже на сработку данного детектора, когда вы закрываете колпачком фоторезистор, только должно быть наоборот, когда из темного резко в светлое), а также последний оператор сравнения - если уровень освещения в помещении достаточный, то подсветку выключаем. В основном цикле программы также учитывается уровень освещенности, и если он больше установленного значения подсветка не включится. Эти данные по фоторезистору - получили с ардуино? т.е. значения АЦП (analogRead(Light_Sensor); затем serialPrint())? Если так, то что-то не сходится... При увеличении освещенности сопротивление фоторезистора падает, следовательно на аналоговом входе ардуино (вход для датчика освещенности) напряжение должно увеличиваться, соответственно значение должно увеличиваться... Т.е. 183-215 - должно быть при закрытом (и то... это много при закрытом, а также разброс большой), 416-550 - при открытом (но и такого диапазона не должно быть).... У меня просто при подключенном фоторезисторе (по типовой схеме включения с резистором) - в темноте значения с АЦП 1-4, при ярком освещении - редко когда достигает 300...
  • Я еще раз перепроверю.
  • Вот что выходит.[IMG]https://www.rlocman.ru/forum/attachment.php?attachmentid=37555&stc=1&d=1555575598[/IMG]
  • другой поставил: 1016 1016 1016 1016 1016 1017 1017 1017 242 220 234 220 236 224 237 230 241 243 1017 1016 1017 1018 261 246 232 237 235 235 233 233 236 234 247 232 245 233 это четырехногие, вывод АО
  • трехногий DO 1023 1023 1023 22 23 23 23 23 23 еще один трехногий с DO 1022 1022 1022 1022 252 241 253 248 265 250 266
  • который первый но на ноге DO 1023 1023 1023 1023 1023 36 35 35 35 35
  • поставил просто фоторезистор одна нога на 5в, вторая на А7, дальше резистор 10к и GND. Показывает 0 при ночь и около 350 при день
  • Вот это уже то, что надо. Но... по предыдущим показаниям (все что с A0 сняты, т.к. DO - это цифровой выход, на нем либо 900-1023 (высокий уровень), либо от 0 до 23/240/260 (низкий уровень)) оказывается тоже все норм (только разброс большой), я просто сейчас нашел схему этого модуля и в нем резистор в цепи фоторезистора (образует делитель напряжения) на 10кОм подключен к+, а у меня в схеме он подключен к -. Поэтому показания, скажем так, инвертированы. Можно использовать и модуль только в скетче изменить нужно эти значения. К примеру, в скетче в функции LightingChange_Det () используется оператор сравнения if (current_luminosity > 110) ... (если текущая освещенность выше 110 - это "сырое" значение с АЦП, то подсветку выключить). Нам нужно изменить значение и логику работы (т.к. у нас чем больше освещенность тем меншье значение с АЦП). В итоге этот кусок кода быдет выглядеть так: [FONT="Arial"][COLOR="SeaGreen"][SIZE="3"][B]if ((current_luminosity < 350) && (Light_On == true)) { Lighting_mode = 0; //уровень освещения стал достаточным Mode_Set(); //выключаем подсветку }[/B][/SIZE][/COLOR][/FONT] По этой логике нужно поступить и с другими условиями, где используется значение освещенности...
  • Я уже запутался. Если выбрасываем модуль оставляем голый фоторезистор, и цепляем как у вас. Что надо поправить в значениях?
  • Если оставляем как у меня в схеме (фоторезистор + резистор 10 кОм на землю) то править нужно только значения освещенности в скетче (исходя из уровней освещенности в вашем помещении). Если оставляете модуль и используете аналоговый выход AO (получается резистор 10 кОм на "+", а фоторезистор "подтянут" к "-") , то править нужно логику работы и значения освещенности, как я написал в предыдущем сообщении.
  • А можно у вас ваш готовый скетч заказать и к нему ИК ПДУ и RGB добавить? У меня ума не хватает. Ваш за основу.
  • Я не могу сказать, что смогу это сделать оперативно (из-за нехватки времени), но попробовать можно... Дайте тех. задание... какой пульт использовать планируете..? Какой алгоритм управления RGB - просто вкл/выкл каналов, или же с независимым управлением яркостью (ШИМ)?
  • Давайте на следующей неделе сформулирую. Уже на дачу собираюсь. Но ничего мудрого не надо, Ваш скетч расширить на ИК пульт для RGB с пульта 4 цветных кнопки. одна к сенсору параллель. одна типа переливание два три цветовых режима. Пока больше не придумал ништяков на остальные две кнопки. Может третью вытяжку включать на кухне на реле. Ну и чтобы все работало гармонично с моим железом(ардуино нано/про мини, датчики)
  • Ok. И наверное пишите в личные сообщения, а не в теме форума, я думаю так будет правильно.
Полный вариант обсуждения »