Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Усовершенствованный вариант программного обеспечения системы управления. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Радиолюбителю-конструктору

Комментарии к статье Комментарии к статье

Описаны изменения и дополнения, которые автор статьи внес в программное обеспечение "любительской" системы управления "умным домом", описанной им в [Л].

В первую очередь, исправлены ошибки, влияющие на стабильность работы модуля ihsc.exe. Чтобы повысить устойчивость работы всей системы, был создан контролирующий процесс (модуль ihsc_guard.exe), который начинает работать автоматически при запуске ihsc.exe. При сбое основного модуля происходит его автоматический перезапуск.

В новой версии программного обеспечения веб-сервер научился принимать информацию от браузера. Атрибут "action" веб-формы должен содержать скрипт, который будет передан серверу и выполнен при нажатии на экранную кнопку на html-странице. Доступ к системе через Интернет производится с помощью андроид-смартфона с браузером Mozilla Firefox.

Была обновлена и программа микроконтроллера для универсальных устройств UD. Изменения коснулись компонента системы "Одиночная выходная линия управления". Теперь этот компонент может иметь датчик, контролирующий фактическую подачу напряжения на нагрузку, который может быть собран, например, по схеме, изображенной на рисунке. С помощью него можно контролировать исправность силовой части устройства или плавкой вставки. При создании конфигурации устройства значение поля "Датчик напряжения: Антидребезг 0,1 с * на..." для этого датчика нужно установить равным 30 (3 с), чтобы избежать ложных срабатываний.

Усовершенствованный вариант программного обеспечения системы управления
Рис 1. Схема датчика

В скриптовый язык добавлен оператор exit, останавливающий выполнение текущего скрипта.

Приведу пример того, как можно расширить возможности описанного в [Л] устройства № 12, изменив набор скриптов. Его можно загрузить в работающее устройство, открыв на графическом терминале пункт меню "Сервис→Редактор скриптов...".

Научим устройство № 12 включать светильник, если в течение минуты после его автоматического выключения сработал датчик движения. Это даст возможность снова включить освещение, например, помахав рукой, если до этого он более 15 мин не был замечен датчиком движения, который и выключил освещение, сочтя, что в комнате никого нет. Набор скриптов, решающих эту задачу, приведен в табл. 1.

Таблица 1

Усовершенствованный вариант программного обеспечения системы управления

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

Рассмотрим еще два примера с использованием датчика движения. Предположим, на входе в дом установлены две двери - наружная и внутренняя. Они расположены на небольшом расстоянии одна от другой, поэтому при входе или выходе из дома существует отрезок времени, в течение которого обе двери открыты одновременно. Над наружной дверью установлен уличный светильник. В прихожей установлены потолочные светильники, управляемые некоторым устройством № 4.

Необходимо сделать так, чтобы в темное время суток при выходе из дома включался на несколько минут уличный светильник, а при входе в дом включалось освещение в прихожей. Эту задачу решает набор скриптов, приведенный в табл. 2.

Таблица 2

Усовершенствованный вариант программного обеспечения системы управления

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

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

Создаваемому устройству присвоим номер 3. К нему подключим два геркона - это датчики открытых дверей (наружной и внутренней), спрятанные внутри дверной коробки. Еще подключим кнопку звонка. Управлять устройство будет наружным светильником и звонком.

Переменная step принимает значение 1, когда устройство предполагает, что человек выходит из дома, или значение 2, когда он входит в дом.

Переменная still предназначена для блокировки автоматического включения освещения. Например, если требуется посмотреть в окно в сумерки или не открывать дверь нежелательным гостям.

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

Через 2 мин после запуска устройства переменной dark присваивается значение текущего уровня освещенности, полученное от устройства № 10 (метеостанции). В дальнейшем обновление значения этой переменной происходит через каждые 15 мин. Локальное хранение медленно изменяющегося параметра позволяет ускорить выполнение скрипта, так как не приходится всякий раз тратить время на опрос соседнего устройства. А двухминутная задержка нужна для того, чтобы метеостанция успела измерить освещенность, если питание на все устройства системы подано одновременно.

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

Скрипт 2 устройство выполняет при нажатии на кнопку звонка.

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

Таблица 3

Усовершенствованный вариант программного обеспечения системы управления

Переменная t принимает значение 0, если дверь в помещение закрыта и там никого нет; значение 1 - если открылась дверь и человек заходит в помещение; значение 2 - если он вошел в помещение и закрыл за собой дверь; значение 3 - если открылась дверь и человек выходит из комнаты.

Алгоритм правильно работает, если весь цикл выполняют без ошибок, т. е. дверь не забывают открывать и закрывать. Если же человек выйдет из комнаты и не истечении 6 мин освещение будет выключено, но переменная t останется равной 3 в ожидании, что дверь закроют. Если через некоторое время в открытую дверь войдет человек, сработает датчик движения, и переменной t будет присвоено необходимое значение 1 .

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

Благодаря датчику открытой двери освещение включается моментально при ее открывании. Но поскольку датчик движения реагирует только на присутствие человека внутри комнаты, освещение не включается при проходе мимо двери, если по какой-либо причине она оставлена открытой.

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

Для проверки скриптов на синтаксические ошибки при загрузке в контроллер можно пользоваться встроенным в графический терминал редактором скриптов ("Сервис→Редактор скриптов...”). Нужно помнить, что переменные создаются при первом использовании в операторе присваивания. Поэтому перед проверкой работы условного оператора, в котором имеются переменные, их нужно создать. А при использовании значений параметров компонентов системы соседних устройств программа предложит ввести значение вручную, имитируя отправку запроса и получение значения нужного параметра.

У программы появились также возможности, которые на практике пока не применялись, но доступны для тестирования:

- возможность запуска стороннего приложения для синтеза звука. Для этого в поле, где ранее указывали имя wav-файла для проигрывания, нужно ввести командную строку, запускающую стороннее приложение;
- ТСР-сервер предоставляет доступ к сообщениям, которыми устройства обмениваются по системной шине. Выбрать порт можно в пункте меню "Сервис→Настройка". При подключении к ТСР-серверу будет запрошен пароль Администратора (по умолчанию 1234).

Доработанное программное обеспечение можно скачать с ftp://ftp.radio.ru/pub/2017/02/ihsc.zip.

Литература

  1. Антонов М. "Любительская" система управления "умным домом". - Радио, 2016, № 6, с. 31-35; № 7, с. 33-37.

Автор: М. Антонов

Смотрите другие статьи раздела Радиолюбителю-конструктору.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Оптимальная продолжительность сна 12.11.2025

Сон играет ключевую роль в поддержании здоровья, когнитивных функций и общего самочувствия. Несмотря на широко распространенный стереотип о восьмичасовом сне, последние исследования показывают, что оптимальная продолжительность сна для большинства здоровых взрослых ближе к семи часам. Эволюционный биолог из Гарварда, Дэниел Э. Либерман, утверждает, что традиционная норма восьми часов сна - это скорее культурное наследие индустриальной эпохи, чем биологическая необходимость. По его словам, полевые исследования, проведенные в сообществах, не использующих электричество, показывают, что средняя продолжительность сна составляет 6-7 часов, что значительно отличается от общепринятого стандарта. Современные эпидемиологические данные подтверждают этот взгляд. Исследования выявили так называемую "U-образную кривую" зависимости между продолжительностью сна и рисками для здоровья. Минимальные показатели заболеваемости и смертности наблюдаются именно у людей, спящих около семи часов в сутки. ...>>

Дефицит кислорода усиливает выброс закиси азота 12.11.2025

Парниковые газы играют ключевую роль в изменении климата, а закись азота (N2O) - один из наиболее опасных среди них. Этот газ не только втрое сильнее углекислого газа в удержании тепла, но и разрушает озоновый слой. Недавнее исследование американских ученых показало, что микробы в зонах с низким содержанием кислорода активно производят N2O, усиливая глобальные климатические риски. Команда из Университета Пенсильвании изучала прибрежные воды у Сан-Диего и провела наблюдения на глубинах от 40 до 120 метров в Восточной тропической северной части Тихого океана - одной из крупнейших зон дефицита кислорода. Исследователи сосредоточились на том, как морские микроорганизмы превращают нитраты в закись азота. В ходе работы выяснилось, что существует два пути образования N2O. Один путь начинается с нитрата, другой - с нитрита. На первый взгляд более короткий путь должен быть эффективнее, однако микробы, использующие нитрат, продуцируют больше газа, поскольку этот "сырьевой" источник более д ...>>

Омега-3 помогают молодым кораллам выживать 11.11.2025

Сохранение коралловых рифов становится все более актуальной задачей в условиях глобального изменения климата. Молодые кораллы особенно уязвимы на ранних стадиях развития, когда стрессовые условия и нехватка питательных веществ могут привести к высокой смертности. Недавнее исследование ученых из Технологического университета Сиднея показывает, что специальные пищевые добавки способны существенно повысить выживаемость личинок кораллов. В ходе работы исследователи разработали особый состав "детского питания" для коралловых личинок. В него вошли масла, богатые омега-3 жирными кислотами, а также важные стерины, необходимые для формирования клеточных мембран. Личинки, получавшие эти добавки, развивались быстрее, становились крепче и демонстрировали более высокую устойчивость к стрессовым факторам. Особое внимание ученые уделили липидам. Анализ показал, что личинки активно усваивают эти вещества, что напрямую влияет на их жизнеспособность. Стерины, содержащиеся в корме, повышают устойчи ...>>

Случайная новость из Архива

Интеллектуальный датчик STMicroelectronics на базе IO-Link-трансивера L6364W 10.01.2022

Компания STMicroelectronics представила набор STEVAL-IOD04KT1, предназначенный для создания современного интеллектуального промышленного датчика с возможностью подключения по интерфейсу IO-Link.

Набор содержит основную плату STEVAL-IOD004V1 с двухканальным трансивером L6364W (отдельно плата недоступна), программатор STLINK-V3MINI, 14-контактный плоский кабель и адаптер промышленных разъемов M8-M12. На плате установлен микроконтроллер STM32G071EB для запуска демо-версии стека IO-Link v.1.1 и программного кода управления трансивером L6364W и промышленными MEMS-датчиками.

Питание микроконтроллера, датчиков и других микросхем на плате обеспечивается за счет DC/DC-преобразователя на 3,3 В, встроенного в L6364W. Для подключения платы к интерфейсу IO-Link предназначен адаптер M8-M12.

рограмматор STLINK-V3MINI подключается к плате по плоскому кабелю. Благодаря малым размерам CSP-корпусов микросхем L6364W и STM32G071EB основная плата имеет миниатюрные размеры 45,8 х 8,3 мм и легко встраивается в корпуса промышленных датчиков.

Состав набора:

плата STEVAL-IOD004V1;
программатор-отладчик STLINK-V3MINI;
адаптер разъемов M8-M12 с кабелем 20 см;
14-контактный плоский кабель.

Компоненты и характеристики основной платы:

микроконтроллер STM32G071EB (доступен программный пакет STSW-IOD04K для запуска стека IO-Link v.1.1 и управления MEMS-датчиками);
промышленный разъем M8;
светодиоды для индикации состояния, передачи, программирования/отладки и ошибок;
перемычки на выводах CQ и DIO микросхемы L6364W для выбора независимого или совместного режимов;
переключатель для выбора режима передачи (transparent, single или multioctet);
кнопка сброса;
10-контактный разъем для возможности расширения функций платы;
SWD-разъем для отладки и программирования;
рабочее напряжение 7...32 В;
защита от скачков тока (до +- 3 А с резистором 500 Ом) и обратной полярности;
соответствие стандартным требованиям по электромагнитной совместимости и излучению;
сертификация RoHS.

Другие интересные новости:

▪ Брюки с электроприводом для активного отдыха

▪ Светящиеся отпечатки пальцев

▪ Новый цифровой драйвер IGBT

▪ Сетевое хранилище Thecus N4810

▪ Прицеп-зарядка для электрокаров

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Синтезаторы частоты. Подборка статей

▪ статья В жизни всегда есть место подвигу. Крылатое выражение

▪ статья Почему верблюды способны долго обходиться без воды? Подробный ответ

▪ статья Инженер по надзору за строительством. Должностная инструкция

▪ статья Обозначение систем заземления для электроустановок напряжением до 1 кВ. Энциклопедия радиоэлектроники и электротехники

▪ статья Нормы приемо-сдаточных испытаний. Электрофильтры. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2025