Рассматриваемая нами система домашней автоматизации, как вы помните из предыдущих публикаций, состоит из двух основных сегментов – централизованного и распределенного. Распределенный сегмент – это контроллеры, разнесенные территориально и подключаемые к Raspberry Pi через интерфейс RS485. Централизованный сегмент – это релейные модули, модули дискретных входов, часы реального времени, различные датчики температуры, давления и т.д, подключаемые непосредственно к портам GPIO Raspberry Pi.
Так как компоненты централизованного сегмента системы автоматизации сгруппированы фактически в одном месте, то для них была разработана объединительная плата (кросс-плата), что позволило выполнить все «межблочные» соединения этого сегмента на уровне печатных проводников. Часть компонентов размещается непосредственно на кросс-плате, а другая часть в виде отдельных модулей подключается через разъемные соединения.
Рис.1
В состав кросс-платы входят:
- Разъем 2х20 для подключения портов GPIO Raspberry B+ (или Pi 2);
- Блок питания 5В/2А на импульсном стабилизаторе LM2576 для питания Raspberry Pi и некоторых датчиков. Наличие выходного напряжения 5В индицируется светодиодом VD4;
- Выход для подключения в буферном режиме резервного аккумулятора;
- 8 гальванически развязанных дискретных входов, выполненных на оптронах PC817;
- 8 релейных выходов, реализованных на двух четырехканальных релейных модулях. Конструкция платы позволяет использовать как модули с питанием реле 5В, так и модули с питанием 12В. Выбор напряжения питания производится с помощью перемычек JM1-JM2 и JM3-JM4;
- Датчик атмосферного давления и температуры BMP085 (BMP180), работающий по шине I2C;
- Часы реального времени, выполненные на микросхеме DS1307, работающие по шине I2C;
- Клеммный разъем для подключения шины 1-wire;
- Клеммный разъем для подключения шины I2C.
Кроме того, на плате предусмотрены штыревые разъемы для подключения дополнительных устройств через UART и SPI.
Внимание! В настоящее время перечень датчиков, которые можно подключить к кросс-плате значительно расширен. Подробности смотрите здесь.
Raspberry Pi, релейные модули, датчик давления и температуры BMP180 подключаются к кросс-плате через разъемные соединения. Для надежности и придания зафиксированного состояния, устанавливаемые на плату компоненты и модули крепятся к ней через небольшие монтажные стойки с резьбой М2,5 (рис.2).
С помощью таких же монтажных стоек, кросс-плата крепиться к стандартной 35-мм DIN-рейке для установки в монтажный шкаф (рис.3).
Для питания кросс-платы применен готовый импульсный блок питания DR-60-12. Он обеспечивает выходное напряжение 12В (с возможностью регулировки +/- 10%) при токе 4,5А. Резервный аккумулятор 12В/3,3А подключается к выходу блока питания через диод VD5 и работает в буферном режиме.
Питание 5В подается на Raspberry Pi через штатный разъем microUSB. Подключать питание через пины 2 и 4 GPIO настоятельно не рекомендуется, т.к. в этом случае напряжение 5В поступает в обход элементов защиты входа питания, что может в случае нештатной ситуации привести к выходу Raspberry Pi из строя.
Дискретные входы рассчитаны на входное напряжение 12В от отдельного источника питания. В случае необходимости применить более высокое напряжение, требуется подобрать номиналы резисторов R1…R8 в цепях светодиодов оптронов. Как альтернативный вариант, с помощью перемычек JM5-JM6 для входов можно использовать напряжение 12В питания самой кросс-платы.
На рис.4 приведен вид установки кросс-платы с блоком питания и аккумулятором резервного питания в электромонтажный шкаф Legrand 01722 типоразмера 2х12 модуля. Аккумулятор установлен на закрепленных на задней стенке шкафа двух Г-образных перфорированных уголках.
В приложении к статье можно найти два варианта печатной платы. Второй вариант отличается наличием дополнительных светодиодов с токоограничительными резисторами для индикации состояния дискретных входов. Дополнительные светодиоды с резисторами подключаются параллельно входам INPUT 1…INPUT 8.
Кросс-плата, установленная в монтажном шкафу с блоком питания и аккумуляторной батареей, в определенной степени может считаться законченным устройством с возможностью его наращивания и масштабирования через шины RS485 (при применении адаптеров USB/RS485 или UART/RS485 ), 1-wire, I2C и SPI.
Что касается программного обеспечения, то оно рассматривалось в цикле предыдущих статей по Raspberry Pi. Разумеется, не конкретно под эту схему, а в виде отдельных программных и аппаратных модулей. Поэтому, сейчас разрабатывается программная сборка (уже разработана - см. здесь), которая позволит в полной мере охватить и реализовать весь имеющийся потенциал кросс-платы. Но никто не запрещает пользователям самостоятельно реализовать на основе данной платы свои поставленные цели и задачи в плане практической реализации системы домашней автоматизации – все необходимые для этого информационные материалы можно найти на нашем сайте.
P.S. В процессе модернизации кросс-платы были задействованы свободные ранее пины GPIO 17 и 27 для подключения двух датчиков температуры и влажности DHT22. Обратите внимание, что фреймворк WebIOPi не поддерживает работу с указанными датчиками, но их поддержку на Raspberry Pi можно реализовать с помощью сторонних библиотек, в частности Adafruit_DHT.
Принципиальная схема, варианты печатных плат