Универсальный блок Капля 8266. Часть 1
День добрый.
Прежде всего, хочу выразить свою благодарность создателям, а также всем разработчикам, участвующим в проекте по созданию программного обеспечения “FLProg.”
Действительно программа позволяет быстро и без особых познаний в языках создавать небольшие системы автоматики с широкими возможностями. Программа “FLProg.” позволяет работать с широко распространенными, недорогими, легкодоступными модулями, выпускаемыми серийно, такие как модули Arduino и ESP. Также немаловажно то, что на просторах интернета есть много информации о работе с ними.
Все это выше перечисленное и зародило идею о создании небольшого универсального модуля, который мог бы справиться с решением разносторонних задач по автоматизации.
Методикой его изготовления в домашних условиях (сборка на коленках), схемами, и GERBER файлами для заказа плат в Китае я и хочу поделиться.
В общем, не судите строго за дизайн, название ( Капля 8266) и конструкция пришла как то внезапно.
Вид на внутренние поверхности (ESP12F)
Вид на внутренние поверхности (ARDUINO NANO)
Назначение:
Использование в различных схемах автоматизации технологических процессов, например таких как:
- Автоматика небольших твердотельных котлов (контроль, управление разряжением и подачей воздуха в топку, контроль температуры воды в контуре, загазованность, аварийная сигнализация и т. Д.)
- Автоматика на даче или огороде ( Полив растений, контроль и управление проветриванием теплиц и т. Д.)
- Умный дом и все что связано с ним.
- Автоматика устройств которые перемещаются в пространстве ( Телеги силосные)
- Автоматика, использующая RFID считыватели.
- Автоматика использующая WIFI и GSM.
Цель:
- Создать универсальный модуль, который мог бы выполнять функции управляющего контроллера или устройство сбора информации и управления.
- Комплектация модуля, должна быть зависимой от поставленной задачи по автоматизации.
- Использовать возможность замены управляющих модулей ARDUINO NANO, ESP12F на другие вновь созданные устройства.
Задачи:
- Крепление модуля должно осуществляться на DIN рейку 35мм.
- Написание программ для модуля должно происходить в программе FLProg, но не исключать возможность программирования в других средах.
- Гальваническая изоляция внешних цепей от контроллера.
И так для того чтобы начать изготовление этого устройства необходимы GERBER файлы для заказа в Китае печатных плат. Они расположены в двух архивах:
Просто надо скачать и сделать заказ на изготовление плат, собственно неважно даже где.
Конструкция устройства подразумевала использование различных модулей, электронных компонентов и других вещей выпускаемых промышленностью. Ссылки по которым делались заказы перечислены в Детали на заказ.txt . Все заказанные детали были удачно доставлены в течении 4 недель.
Мне пришел заказ из Китая через 3,5 недели качество мне нравиться. Вот так это выглядит.
Заказ представляет собой 2 упаковки по 10 плат размером 100Х100 мм.
При заказе изготовитель спросит подтверждение на распилку плат на кусочки, я отказался и распилил сам в ручную, использовал круги отрезные FIT с алмазным напылением. Дело нудное но не долгое.
На фотографии есть пометки, для каких целей предназначены платки. В данной части описание я буду знакомить с двумя основными платами (KaplyaBrain8266) и (KaplyaShasy8266). Описания других плат будит в другой части, когда у меня появятся детали, и возможность спаять и испытать их.
В двух словах о них:
- (KaplyaAnalog) – это плата имеет 8 аналоговых выходов с унифицированным токовым сигналом 4…20мА. с гальванической развязкой на шине I2C и 8 дискретных выходов 24в с гальванической развязкой шина SPI. Данную плату планировалось использовать для управления частотными преобразователями, и задвижками типа (belimo LM24A-SR).
- (KaplyaRS485)-плата гальванической развязки RS Данная плата предназначена для совместной работы с преобразователем USB-TTL . Реализован пин приема/ передачи RE/DE. Осталось за малым найти программиста, чтобы этот пин начал работать в программах.
- (KaplyaDIP)-плата переходник позволяющий устанавливать модули ESP12F и подобные в макетные платы с шагом 2.54.
Описание конструкции модуля.
Общие данные.
Изначально планировалось создать устройство, которое работало только на основе модулей ESP. В процессе экспериментов оказалось, что неплохо бы иметь на борту возможность установки модулей Arduino, что дало бы большую универсальность данной конструкции. В качестве такого модуля был выбран ARDUINO NANO.
Конструкция устройства (Капля 8266) состоит из двух плат KaplyaBrain8266 и KaplyaShasy8266. Компоненты электрических схем сгруппированы таким образом, что можно было бы использовать эти платы как совместно с друг другом, так и независимо от себя, то есть являются функционально завершенными блоками.
(KaplyaBrain8266) – плата на которой установлены модули ARDUINO NANO, ESP, SIM800L, реализованы шины с гальванической развязкой I2C, SPI и гальванически развязанных RS485 -2шт. гнездо для подключения RFID RC522 по шине SPI.
(KaplyaShasy8266) –Плата на которой установлена микросхема MCP23017, а также 16 универсальных входов, с гальванической изоляцией, и возможностью переделки их в дискретные выхода. Микросхема MCP23017 связана с KaplyaBrain8266 по шине I2C, что дает возможность использовать ее автономно для расширения количества входов/выходов. Тем не менее, есть ограничения: на шину I2C нельзя повесить более 8 устройств на основе MCP23017 и общая емкость шины с подключенными к ней нагрузками не должна превышать 400pf (документация на микросхему ADUM1251).
Принципиальные схемы можно скачать по следующим ссылкам:
(KaplyaBrain8266 princip)— принципиальная схема.
(KaplyaShasy8266 princip)— принципиальная схема.
(KaplyaBrain8266.zip) — архив принципиальная схема, монтажные схемы слоев TOP и BOT, перечень компонентов устанавливаемых на плату.
(KaplyaShasy8266.zip) — архив принципиальная схема, монтажные схемы слоев TOP и BOT, перечень компонентов устанавливаемых на плату.
ВНИМАНИЕ
На первый взгляд может показаться, что на принципиальных схемах все компоненты электрических цепей соединены в одну кучу или запараллелены между собой и вся схема представляет собой сплошное короткое замыкание. Связано это с тем, что устройство (Капля 8266) разрабатывалось как универсальное, и по этим принципиальным схемам изготавливались печатные платы. В связи с этим запрещается устанавливать все компоненты из перечня компонентов “ДНОВРЕМЕННО” не разобравшись в работе принципиальной электрической схеме.
Для упрощения понимания принципиальных схем на ее полях оставлены комментарии. Далее будут представлены 2 таблицы, позволяющие упростить изучение данных схем.
ПРЕДУПРИЖДЕНИЕ : Если вдруг показалось, что на принципиальных схемах слишком много оптопар и микросхем участвующих в цепях гальванической развязки, а также резисторов подтяжек и блокировочных конденсаторов, то не стоит ими пренебрегать. В противном случае можно оказаться участником паранормальных исследований например как этих: (Raspberry Pi зависает от фотовспышки).
Ниже приведена таблица, которая отображает некоторые из возможных конфигурации платы (KaplyaBrain8266) применяемых для решения часто возникающих задач.
Таблица 1 — (Конфигурация KaplyaBrain8266.xlsx)
На основании этой таблицы и принципиальной схемы можно подобрать необходимые компоненты для сборки устройства под сои задачи. Данная таблица не ограничивает возможности данного устройства. Например, можно установить вместо микросхем ADUM1251, микросхему ADUM1250, и реализовать 2 канала 1-Wire. Вместо модулей ARDUINO NANO или ESP12 другие модули самостоятельного изготовления например AЦП, или микроконтроллеры STM32. Фантазия бесконечна, а потому и описать все сложно.
В связи с тем, что программа FLProg использует библиотеки Arduino ide, о которой на просторах интернета писалось очень много, можно узреть что, некоторые пины модулей, микросхем и т. д. зарезервированы под определенные задачи. В ниже приведенной таблице отображено соответствие ног и их назначение для модулей ARDUINO NANO или ESP12.
Таблица 2 — (Распиновка ESP8266 и Arduino .xlsx)
Из таблицы видно, что существуют колонки NodeMCU V3.0 и ESP12F, на самом деле это одно и тоже, просто одно является частью другого. При прошивки скетча в Каплю 8266 я выставляю NodeMCU V3.0 .
Если все выше описанное не вызывает вопросов, то следующий раздел можно пропустить.
Описание поэтапной сборки устройства.
Для того, чтобы было более наглядно, в процессе сборки делались фотографии и некоторые простенькие программки, для тестирования железа написанные на FLProg. Так как устройство поддерживает работу разных модулей ARDUINO NANO и ESP12F, то и разложено будит все по своим архивам.
1 Этап.
Устанавливаем на плату элементы минимальной комплектации. При данной комплектации можно только заливать прошивку в модули.
(ARDUINO NANO минимальная комплектация.zip)
(ESP12F минимальная комплектация.zip)
2 Этап.
Устанавливаем на плату элементы двух RS485 и элементы их гальванической развязки . При данной комплектации устройство может работать как управляющий контроллер по RS485, а совместно с ESP12F как мост.
3 Этап.
Добавляем на плату элементы шины I2C с гальванической развязкой . При данной комплектации устройство может выполнять предыдущие функции, а также работать с устройствами поддерживающими эту шину например вот такой маленький как на фотографии в архиве выдержал температуру на улице -32С, хотел испытать при -45С, но не успел, уехал в командировку, а когда приехал снова потеплело.
(ARDUINO NANO+2RS485 +I2C.zip)
4 Этап.
Добавляем на плату элементы аппаратного сторожевого таймера. Те, кто не верит в зависание микроконтроллеров, элементы может не устанавливать.
(ARDUINO NANO+2RS485 +I2C +WDT.zip)
5 Этап.
Добавляем на плату элементы в зависимости от поставленных задач, пользуясь принципиальной электрической схемой. Особое внимание необходимо уделять питающим цепям , так как различные модули имеют разные напряжения питания. Вот например фотографии различных устройств.
На фотографиях видно, что не установлены элементы, относящиеся к RS485 -1, в связи с тем что ноги модулей ARDUINO NANO и ESP12F заняты модулем SIM800L или считывателем RFID RC522.
(ARDUINO NANO+2RS485 +I2C +WDT +SIM800L.zip)
(ESP12F+1RS485 +I2C +WDT +SPI RC522.zip)
6 Этап.
Устанавливаем на плату (KaplyaShasy8266) элементы согласно поставленной вами задачи. В моей задаче требовалось реализовать контроль 8 датчиков с выходным сигналом 220в AC. А также иметь 2 линии RS485. Собственно как это выглядит можно посмотреть в архиве.
(KaplyaShasy8266 -8входов 220В.zip)
7 Этап.
Установка в корпус.
********************************************************************************
Продолжение следует в следующих частях.