Понедельник, 29.04.2024, 14:01
| RSS
Поиск
Главная |
Защита, контроль, управление
Форма входа
Логин:
Пароль:

Меню

Авторские проекты

Статьи

Raspberry Pi

Полезная информация

Обратная связь

Ссылки

Форум

Чат

Канал YouTube

Группа в Facebook


Календарь
«  Август 2015  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31

Наш опрос

Ссылки


Яндекс.Метрика





.
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Raspberry Pi для домашней автоматизации. Контроллер RS485. Версия 2

Raspberry Pi для домашней автоматизации. Контроллер RS485. Версия 2

Наш канал в YouTube


RS485 контроллер для Raspberry Pi

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

Для использования платы термоконтроллера в качестве обычного контроллера достаточно входы датчиков DS18B20 задействовать в качестве обычных дискретных входов, а резервный вход применить для подключения дополнительных цифровых датчиков. Принципиальная схема устройства показана на рис.1.

 

Схема контроллера RS485

Рис.1

 

Контроллер имеет четыре релейных выхода (К1-К4), к которым можно подключать различные нагрузки, четыре входа (INP1-INP4) для подключения датчиков с двумя состояниями (замкнут/разомкнут) и цифровой вход для датчика температуры и влажности DHT22. Кроме того, этот выход планируется использовать и для других типов датчиков. Датчик является необязательным элементом контроллера, т.е его можно не устанавливать.

Состояние входов и выходов контроллера, показания температуры и влажности, выводятся на дисплей контроллера (рис.2)

 

Дисплей контроллера RS485

Рис.2

 

В верхней строке дисплея отображаются показания температуры и состояние входов контроллера, в нижней - показания влажности и состояние выходных реле контроллера. На приведенном рисунке входы 2 и 4 замкнуты, 1 и 3 – разомкнуты, реле на выходах 1 и 3 включены, на выходах 2 и 4 – выключены.

В контроллере предусмотрена функция местного управления выходными реле. Это может пригодится, когда необходимо включить/отключить нагрузку непосредственно на месте установки контроллера, а не удаленно через web-интерфейс. Алгоритм местного управления очень простой – для этого достаточно нажать и удерживать кнопку S2. При этом на дисплее последовательно будут показываться сообщения OUT1 ON, OUT1 OFF, OUT2 ON и т.д, сопровождаемые звуковым сигналом (рис.3). При появлении нужного сообщения необходимо отпустить кнопку и включение/выключение выбранного реле будет выполнено.

 

Дисплей контроллера RS485 Raspberry Pi

Рис.3

 

Адрес контроллера состоит из двухзначного числа в ASCII коде и хранится в последних двух ячейках EEPROM микроконтроллера (ячейка EFдесятки адреса, ячейка FFединицы адреса). Так же в EEPROM (ячейка F8) хранится последнее установленное значение выходов контроллера. Если произойдет сброс микроконтроллера по сторожевому таймеру или каким-либо иным причинам, эта функция позволит вернуть реле в состояние, в котором они находились до момента сброса.

Расположение ячеек EEPROM показано на рис.4. Здесь адрес контроллера установлен 61 (EF = 36, FF=31), все реле выключены (F8 = 00).  Значения в EEPROM записываются на этапе прошивки микроконтроллера 16F876A.

 

EEPROM Raspberry Pi

Рис.4

 

В web-интерфейсе отображается статус соединения сервера с контроллером, текущие дата и время, состояние входов контроллера, кнопки управления и состояние выходных реле контроллера, значения температуры и влажности, получаемые от датчика DHT22 (рис.5).

 

web интерфейс контроллера RS485

Рис.5

 

Необходимо отметить, что самая первая версия контроллера RS485 имеет очень незначительные отличия от рассматриваемой здесь схемы и при необходимости может быть очень легко модернизирована.

Все интересующие вопросы по контроллеру задаем в соответствующем форуме и в комментариях в статье.

 


 

Принципиальная схема, печатная плата, прошивка, web-интерфейс

 

Содержание всех статей сайта по теме Raspberry Pi




Категория: | Просмотров: 9133 | Добавил: Admin | Теги: управление Raspberry Pi через web, управление Raspberry Pi RS485, Контроллер RS485 Raspberry Pi | Рейтинг: 5.0/2 |
Всего комментариев: 8


8 Zoolu  
А можно ли на этом контроллере устроить счетчик импульсов? Например от счетчиков воды. Хотелось бы вести подсчет импульсов и при достижении какого-то значения count создавать новую запись в БД.

6 123ksn  
Вставлю еще свои пять копеек. У малины нет встроенных часов. Было бы здорово, что бы на внешних контроллерах стояли часы, типа DS1307. И данные, поступающие с контроллеров протоколировались (вёлся лог-файл).

7 Admin  
0
Часы, безусловно, нужны. Можно, конечно обойтись и без них, если малина постоянно подключена к интернету и может информацию о времени забирать с него. Но это неправильно, т.к. в случае "падения" интернета или работе в автономном режиме время мы не получим.
Поэтому в самое ближайшее время часы RTC будут интегрированы в нашу систему

3 123ksn  
Сегодня хотел провести испытание механического терморегулятора из Китая, который из холодной и горячей воды делает теплую. Вспомнил, что делал когда-то плату под несколько датчиков... и заблудился. Уважаемый автор, было бы здорово, если бы Вы дали своим проектам более конкретные названия. Смотрю сей проект и думаю каким боком здесь в названии RS485, если RS485 используется и в Контроллер температуры и влажности, и в Контроллер температурного регулирования.  В этих проектах одна плата, но разные прошивки? Разобраться, конечно, можно. Но зачем так всё усложнять лишними словами? Ясно, что контроллер. Ясно, что с интерфейсом RS485. Может лучше указать особенности, типа, "термостат: DS18B20 (4шт) +реле (4шт) +RS485" или "8-канальный индикатор температуры и влажности на DHT11 / DHT22+RS485". Разумеется всё IMHO.

4 Admin  
0
Нисколько не отрицая справедливость критики, хочу отметить следующее. Изначально "Контроллер RS-485" назывался "Универсальный контроллер". Но тоже были вопросы, причем справедливые - а что в нем универсального? Наличие входов/выходов плюс входы температурных датчиков? Поэтому как-то сложилось, что его все стали называть просто контроллер RS-485. Поэтому я и изменил название. Но видимо, не совсем корректно, наверное проще было бы назвать его просто "Контроллер входов/выходов".
Ну а касательно остального, так вроде бы все понятно, что собой представляет каждый контроллер, указано здесь - http://lock.3dn.ru/news....-15-127 Другой вопрос, что в связи с развитием системы, указанная информация на сегодняшний день требует актуализации.

5 123ksn  
1)Ссылочка не открывается.
2)Актуальность... Так я и высказал свои наблюдения на сей момент, а не вчера или завтра.
3)Успехов Вам.

1 123ksn  
Спасибо за Ваш труд!
Однако, если "имеет очень незначительные отличия от рассматриваемой здесь схемы и при необходимости может быть очень легко модернизирована" может быть правильнее было бы в статье перечислить эти доработки. Приложить фото двух вариантов. А пользователь сам решит что ему проще: сделать новую плату или дорабатывать имеющуюся.
И еще. Из описания непонятно чем вызвана новая разработка. Хорошо бы табличку, где видно, что может 2-я версия и что могла первая.

2 Admin  
0
Согласен, что описание не самое полное, но так как есть довольно подробное описание первой версии контроллера, то здесь я старался отметить только те функции, которые появились в новой версии.

Доработка касается печатной платы, а так как плату для первой версии я вообще не разрабатывал, то как бы и сравнивать не с чем sad Там только добавляются четыре транзисторных ключа с реле, две кнопки и бузер.

И почему непонятно, чем вызвана доработка? В самом начале статьи ведь об этом сказано :

"Создание данного контролера ставило собой цель применять в системе домашней автоматизации на Raspberry Pi идентичные аппаратные средства для различного назначения".

Ведь данный контроллер очень похож по схеме с 4-х канальным термоконтроллером, так зачем делать различное "железо", если можно это "железо" унифицировать?
Это первое. Ну а второе - на форуме неоднократно возникали вопросы по поводу реализации местного управления выходными реле. Что и было реализовано в текущей версии. Фактически, это пока все нововведения этой версии. А что будет в неё ещё добавлено, я отмечал на форуме.





T2M © 2024
Сайт управляется системой uCoz