1 2 3 4 5 6 7 8 9 10 9/10 8,94оценок: 17

Smarthome - самому и бюджетно?

Тема в разделе "Умный дом", создана пользователем vores8, 31.10.09.

  1. Smart Master
    Регистрация:
    23.09.11
    Сообщения:
    15
    Благодарности:
    4

    Smart Master

    Участник

    Smart Master

    Участник

    Регистрация:
    23.09.11
    Сообщения:
    15
    Благодарности:
    4
    Адрес:
    Одесса
    Цена 1289 р.
    Вот ссылка на цену
    arc.com.ru/catalog/regulator/4135/element269193.php
     
  2. Dan!la
    Регистрация:
    30.01.09
    Сообщения:
    6.875
    Благодарности:
    9.188

    Dan!la

    Ваш каркасник

    Dan!la

    Ваш каркасник

    Регистрация:
    30.01.09
    Сообщения:
    6.875
    Благодарности:
    9.188
    Адрес:
    Санкт-Петербург
    О, даже ещё меньше :)
    Ну значит вот, вырисовывается для топикстартера бюджетная система управления освещением! :)]
     
  3. vores8
    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238

    vores8

    Живу здесь

    vores8

    Живу здесь

    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238
    Адрес:
    Нижний Новгород
    Итак, чтоб не думали что тема потерялась :)

    Наконец-то закончился летний строительный период и появилось время (и деньги) для копошения с электричеством. Закуплено железо на один этаж

    контроллер ОВЕН ПЛК 100
    блоки ввода/вывода МДВВ и МВУ8

    итого 20 входов и 22 выхода. Всего на этаже 9 выключателей и 18 лампочек. За вечер был собрано представленное ниже фанерно-электронное чудовище :)
    которое было подключено к компу и восприняло предварительно написанную программу. Результат: все работает :) Что особенно радует, что теперь можно управлять несколькими лампочками от одного выключателся. Суть такая - если просто нажать на выключатель (а они естественно кнопочные), то естественно, включится свет. Если нажать и удерживать клавишу, то начинается циклическое переключение сцен. На один выключатель можно повесить до 15 сцен по 8 лампочек в каждой. Сцена задается битовой маской например 0х00000001 означает включить первую лампочку, 0х00001100 - третью и четвертую, ну и так далее. При отпускании клавиши остаются гореть те лампочки, которые были выбраны на тот момент. При следующем коротком нажатии свет собсно гаснет. При следующем коротком нажатии включаются лампочки из последней выбраной сцены.

    Что не получилось. С удивлением узнал, что линия RS485 (по которой модули связываются друг с другом) требует терминальных резисторов, которых дома в 10 вечера ессно не оказалось :) Посему нужные резисторы с утра куплены (нижегородский радиорынок - это что-то! но выбирать не из чего :(). так что на вечер запланирована модернизация чудовища и опробывание в боевом режиме

    [​IMG]


    По бюджету. Контроллер с модулями ВВ обошелся в 14 тыр. Плюс 2.5 тыр ушло на выключатели АВВ (10 штук).

    Да, великобританский магазин skyview.co.uk прислал 10 штук датчиков температуры и влажности малоизвестного бренда Technoline, а на самом деле широкоизвестных La Crosse TX3-TH, умеющих передавать данные на частоте 433 мгц и широко используемых самодельщиками например в связке с arduino. надеюсь, что когда нибудь руки дойдут до мониторинга температуры в доме.

    [​IMG]


    ну и для интересующихся - текст программы управления светом на этаже

    in_2B1_proc(switch:=_2DI_0_11.0);
    in_2B2_proc(switch:=_2DI_0_11.1);
    in_2B3_proc(switch:=_2DI_0_11.2, scene:= const_scene_2_running, num_scenes:=2);
    in_2B4_proc(switch:=_2DI_0_11.3, scene:= const_scene_2_cumul, num_scenes:=2);
    in_2B5_proc(switch:=_2DI_0_11.4, scene:= const_scene_2_cumul, num_scenes:=2);
    in_2B6_proc(switch:=_2DI_0_11.5, scene:= const_scene_2_running, num_scenes:=2);
    in_2B7_proc(switch:=_2DI_0_11.6);
    in_2B8_proc(switch:=_2DI_0_11.7);


    _light_2_C1 := bind_output(scene:=in_2B1_proc.out_scene, n:= 0);
    _light_2_C3 := bind_output(scene:=in_2B2_proc.out_scene, n:= 0);
    _light_2_C4 := bind_output(scene:=in_2B3_proc.out_scene, n:= 0);
    _light_2_C5 := bind_output(scene:=in_2B3_proc.out_scene, n:= 1);
    _light_2_C7 := bind_output(scene:=in_2B4_proc.out_scene, n:= 0);
    _light_2_C9 := bind_output(scene:=in_2B4_proc.out_scene, n:= 1);
    _light_2_C11 := bind_output(scene:=in_2B5_proc.out_scene, n:= 0);
    _light_2_C12 := bind_output(scene:=in_2B5_proc.out_scene, n:= 1);
    _light_2_C14 := bind_output(scene:=in_2B7_proc.out_scene, n:= 0);
    _light_2_C15 := bind_output(scene:=in_2B7_proc.out_scene, n:= 1);
    _light_2_C17 := bind_output(scene:=in_2B8_proc.out_scene, n:= 0);
    _light_2_C18 := bind_output(scene:=in_2B8_proc.out_scene, n:= 0);
    _light_2_C171 := bind_output(scene:=in_2B9_proc.out_scene, n:= 0);

    _2DO0 := bool_to_1000(on:=_light_2_C1);
    _2DO1 := bool_to_1000(on:=_light_2_C3);
    _2DO2 := bool_to_1000(on:=_light_2_C4);
    _2DO3 := bool_to_1000(on:=_light_2_C5);
    _2DO4 := bool_to_1000(on:=_light_2_C7);
    _2DO5 := bool_to_1000(on:=_light_2_C9);
    _2DO6 := bool_to_1000(on:=_light_2_C11);
    _2DO7 := bool_to_1000(on:=_light_2_C12);
    _2DO8 := bool_to_1000(on:=_light_2_C14);
    _2DO9 := bool_to_1000(on:=_light_2_C15);
    _2DO10 := bool_to_1000(on:=_light_2_C17);
    _2DO11 := bool_to_1000(on:=_light_2_C18);
    _2DO12 := bool_to_1000(on:=_light_2_C171);



    остальные фотки тут
     
  4. Smart Master
    Регистрация:
    23.09.11
    Сообщения:
    15
    Благодарности:
    4

    Smart Master

    Участник

    Smart Master

    Участник

    Регистрация:
    23.09.11
    Сообщения:
    15
    Благодарности:
    4
    Адрес:
    Одесса
    vores8, А что вы использовали в качестве диммирующего устройства?


    Сразу не въехал - лампочки на вашем стенде не диммируются.
     
  5. vores8
    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238

    vores8

    Живу здесь

    vores8

    Живу здесь

    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238
    Адрес:
    Нижний Новгород
    в принципе МДВВ может выдавать на выходах ШИМ сигнал (именно поэтому в последних строчках на выходы прописывается значение 1000 если нужно тупо зажечь свет). У меня все лампочки энергосберегающие (кфл), поэтому я их не диммирую. Но по моему дилетантскому представлению ШИМ это вобщем-то почти что диммер (да поправят меня гуру)
     
  6. vores8
    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238

    vores8

    Живу здесь

    vores8

    Живу здесь

    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238
    Адрес:
    Нижний Новгород
    вобщем полноценный запуск чудовища откладывается до завтра. оказывается для подключения модулей ВВ нужно их сперва сконфигурировать, для чего потребен переходник rs485-usb. Упоминание о нем конечно есть на странице 10 руководства (но могли бы и на первой странице это написать крупными буквами)

    Вобщем скороспешно найден умелец, который завтра к вечеру обещался сей конвертер сваять. Соответственно все откладывается до завтра...
     
  7. sly2k
    Регистрация:
    22.02.08
    Сообщения:
    529
    Благодарности:
    122

    sly2k

    Живу здесь

    sly2k

    Живу здесь

    Регистрация:
    22.02.08
    Сообщения:
    529
    Благодарности:
    122
    Адрес:
    деревня Мякинино
    А можете подробнее про датчики температуры и влажности рассказать? какова цена вопроса и что еще нужно докупить чтобы вводить с них данные в контроллер или ПК?
     
  8. vores8
    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238

    vores8

    Живу здесь

    vores8

    Живу здесь

    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238
    Адрес:
    Нижний Новгород
    датчики покупал тут

    протокол описан тут

    почти готовое устройство тут ну и вообще погуглите на тему "arduino weather"
     
  9. Dan!la
    Регистрация:
    30.01.09
    Сообщения:
    6.875
    Благодарности:
    9.188

    Dan!la

    Ваш каркасник

    Dan!la

    Ваш каркасник

    Регистрация:
    30.01.09
    Сообщения:
    6.875
    Благодарности:
    9.188
    Адрес:
    Санкт-Петербург
    Ну круто, поздравляю! :)
    Всегда приятно сделать что-то своими руками, а тем более ТАКУЮ нужную штуковину для дома! :super:
    Но не очень понятна логика работы. Я про удерживание клавиш. Обычно, если удерживаешь, то группа диммируется. Или это именно вы в своей программе такой алгоритм прописали?
    Почему именно на русские девайсы выбор пал?
    Насчет резисторов удивили. Обычно, если линия короткая (несколько десятков метров), то резисторы попросту не нужны. Да и садят передатчик они прилично.
    Я не припомню объектов, где бы мы ставили 120-омные резисторы, хотя линии общей длиной доходили до 100 м.

    Кстати, как программить в CoDeSys? Сильно геморно?
    Не знаю, по мне так проще что-нибудь на WM 5CE или другая винда: слил, залил, тут же интерфейс загрузил, порт инициализировал и т.д. :)
     
  10. vores8
    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238

    vores8

    Живу здесь

    vores8

    Живу здесь

    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238
    Адрес:
    Нижний Новгород
    про логику. поскольку у меня везду понатыканы душевые люминесцентные лампочки из икеи
    [​IMG] то они естественно не диммируются. поэтому было решено на один выключатель повесить несколько лампочек с возможностью их включать постепенно. жмешь на клавишу выключателя и удерживаешь - включается сначала первая группа, потом она гаснет и включается вторая, потом гаснет вторая и включается третья, ну и обратно по циклу. или включается первая, потом к ней добавляется вторая, потм третья и снова по циклу. можно припрограммировать например дабл-клик, чтобы сразу включались все лампочки в комнате - ну тут уж на что фантазии хватит. у меня в планах еще привесить радиореле с пультом (для этого оставлены свободные входы на контроллере), чтобы можно было лежа в кроватке например выключить свет в комнате (или во всем доме).

    про российского производителя - исключительно из-за цены (см начало топика)

    про резисторы - ну да, я ламер в проводах. но учусь :)

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


    FUNCTION_BLOCK scene_idx
    VAR_INPUT
    switch :BOOL := FALSE;
    override : BOOL := FALSE;
    scene: ARRAY[0..15] OF BYTE;
    num_scenes : INT := 1;
    END_VAR
    VAR_OUTPUT
    out_scene : BYTE;
    END_VAR
    VAR
    light : BOOL := FALSE;
    can_off : BOOL := FALSE;

    switch_delay: TP;
    switch_off: F_TRIG;
    override_on : R_TRIG;
    scene_demo : TP;
    scene_cnt : CTU;
    END_VAR

    IF switch = TRUE AND light = FALSE THEN
    light := TRUE;
    END_IF

    switch_off(CLK := switch);
    override_on(CLK := override);


    IF num_scenes > 1 THEN
    switch_delay(IN := switch, PT:= const_delay_scm);
    scene_cnt(CU:=scene_demo.Q, pv:=num_scenes, reset:= scene_cnt.Q);
    scene_demo(in:= (NOT scene_demo.Q) AND switch AND (switch_delay.ET = const_delay_scm), pt:=const_delay_demo);
    IF scene_demo.Q AND switch THEN
    can_off := FALSE;
    END_IF
    END_IF

    IF switch_off.q THEN
    IF can_off THEN
    light := FALSE;
    ELSE
    can_off := TRUE;
    END_IF
    END_IF

    IF override_on.Q AND NOT switch THEN
    light := NOT light;
    END_IF


    IF global_off THEN
    light := FALSE;
    END_IF;


    IF light THEN
    IF num_scenes = 1 THEN
    out_scene := 1;
    ELSE
    out_scene := scene[scene_cnt.CV];
    END_IF
    ELSE
    out_scene := 0;
    can_off := FALSE;
    END_IF


    по поводу интерфейса. поскольку контроллер может вещать по modbus tcp (слейвом), то к нему можно прицепить какой-нибудь готовый умный дом. я пока остановился на m2m mango . вывод у нее на веб морду, так что в качестве устройства для взаимодействия подойдет практически все (посматриваю на китайский андроидный планшет за 65 баксов и тачскрин накладку на 17" монитор)
     
  11. Андрей-АА
    Регистрация:
    25.11.09
    Сообщения:
    21.268
    Благодарности:
    15.264

    Андрей-АА

    Умный дом, резервное питание. См. профиль

    Андрей-АА

    Умный дом, резервное питание. См. профиль

    Регистрация:
    25.11.09
    Сообщения:
    21.268
    Благодарности:
    15.264
    Адрес:
    Новая Москва
    А что за язык? На древний Алгол похож:).
     
  12. vores8
    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238

    vores8

    Живу здесь

    vores8

    Живу здесь

    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238
    Адрес:
    Нижний Новгород
    Скорее на чуть менее древний паскаль :) это язык программирования среды codesys. Их там 4: LD, IL, ST и еще что-то. И все такиеже забавные :)

    это был собственно ST (structured text)
     
  13. Андрей-АА
    Регистрация:
    25.11.09
    Сообщения:
    21.268
    Благодарности:
    15.264

    Андрей-АА

    Умный дом, резервное питание. См. профиль

    Андрей-АА

    Умный дом, резервное питание. См. профиль

    Регистрация:
    25.11.09
    Сообщения:
    21.268
    Благодарности:
    15.264
    Адрес:
    Новая Москва
    А трансляция/интерпретация и закачка в контроллер как производятся?
     
  14. Dan!la
    Регистрация:
    30.01.09
    Сообщения:
    6.875
    Благодарности:
    9.188

    Dan!la

    Ваш каркасник

    Dan!la

    Ваш каркасник

    Регистрация:
    30.01.09
    Сообщения:
    6.875
    Благодарности:
    9.188
    Адрес:
    Санкт-Петербург
    Да все они паскалеподобные :) Зато всё ясно и понятно.

    Я думал на чем-нибудь типа этого собрать:
    https://www.nnz-ipc.ru//show/1820372/1820237/
    Есть возможности расширения, думаю, можно в Ethernet-сеть его подключить, а там и до управления с помощью гаджетов недалеко :)

    Либо сразу что-нибудь такое: http://www.nnz-ipc.ru//show/1821439/1821438/
     
  15. vores8
    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238

    vores8

    Живу здесь

    vores8

    Живу здесь

    Регистрация:
    26.12.07
    Сообщения:
    367
    Благодарности:
    238
    Адрес:
    Нижний Новгород
    кодесис может работать в режиме эмуляции (без реального контроллера). Если контроллер подключен, то как правило проект можно заливать в него налету.

    Вобщем погуглите про кодесис, да и на сайте производителей контроллера много инфы