Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Ненавязчивая автоматизация ректификационной установки

Форум самогонщиков Автоматика
1 ... 109 110 111 112 113 114 115 ... 132 112
makh Профессор Sаmara 2.1K 1.1K
Отв.2220  07 Окт. 21, 01:40
Да, получится гирляндаBogAD, 06 Окт. 21, 22:56
Как раз таки пользовательский интерфейс может быть и без проводов. Хоть в телефоне, как счас модно. А вот мозги с датчиками и исполнительными устройствами надо проводами. И дело тут не столько в батарейках, сколько в стабильности этой самой беспроводной связи. Совсем говно надежность по сравнению с проводами, даже в отсутствие соседа с недорогим тиговым сварочником.. Или соседского пионэра, учащегося ломать вафлю .)
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.2221  07 Окт. 21, 08:46
... сколько в стабильности этой самой беспроводной связи. Совсем говно надежность по сравнению с проводами, даже в отсутствие соседа с недорогим тиговым сварочником.. Или соседского пионэра, учащегося ломать вафлю .)makh, 07 Окт. 21, 01:40
И это тоже имеем ввиду...

Добавлено через 6дн. 6ч. 35мин.:

Не умею писать красиво как Сергей. Попробую изложить мысли свои.
Начну с модуля расширения Малинки.
Schematic_Expansion board_2021-10-13.png
Schematic_Expansion board_2021-10-13. Ненавязчивая автоматизация ректификационной установки. Автоматика.

Питаемся только от РоЕ. Я буду применять DC/DC конвертер FDC20-24S05W. Ни что не мешает заменить его другим модулем. Потом добавлю безперебойник для малинки.
На согласователь уровня поставил 2-канальные оптоизоляторы CPC5902. Жирновато конечно, но, я буду использовать их, за пару не разорюсь. Ими развяжу и согласую уровни I2C, Int, Res.
Уcилитель I2C... Как определились, будет P82B715P. Тут же будет стоять BMP280.

Плата "База PoE-I2C"
Schematic_PoE-I2C_2021-10-13.png
Schematic_PoE-I2C_2021-10-13. Ненавязчивая автоматизация ректификационной установки. Автоматика.

Эта плата одна на каждый отдельный блок в корпусе. Платой I2C усиливаются P82B715P, сигналы Int и Res остаются без преобразований. Подготавливается питание от PoE до 5в блоком DC/DC. I2C, Int, Res, 5в сводится в ленточный шлейф из 10 проводов. В этом этом же шлейфе есть отведеный провод под Zero.
Через эту плату, по необходимости, подается питание РоЕ в Ethernet линию.

Далее, ленточным кабелем, параллельно как в крейте, подключаются модули AtMega.
Schematic_AtMega board_2021-10-13.png
Schematic_AtMega board_2021-10-13. Ненавязчивая автоматизация ректификационной установки. Автоматика.

Модули все одинаковые, с минимальным обвесом. Вывел с избытком - 14 пинов, включая AREF, GND и AGND. Ну и ISP не забыл. Возможно все ни когда не будут использоваться, но, как говорится на "все случаи..."
Каждый МК модуль, согласно залитой прошивки, будут управлять по проводному соединению исполнительными устройствами или работать на прием и обработку сигналов.
Своеобразные предложенные Сергеем платы, которые вставляются в крейт, только разделенные на отдельные модуль МК и исполнительское устройство. Так удобней будет создать устройство в оптимальном корпусе.
Погоня за универсальностью, так сказать.

Модуль HUB
Schematic_HUB 1-Wire_2021-10-13.png
Schematic_HUB 1-Wire_2021-10-13. Ненавязчивая автоматизация ректификационной установки. Автоматика.

Ни чем не отличается от варианта Сергея, кроме шины подключения, но, пока писал пост, появилась идея использовать и тут модуль AtMega. Только нужно сигнал INT от PD3 отключаемый сделать.
Жаль что поздно идея пришла. Вчера уже заказал платы...

В итоге, получается такая структура:
Структура.JPG
Структура. Ненавязчивая автоматизация ректификационной установки. Автоматика.

Платы уже отрисованы.
OldBean Доцент Красноярск 1K 1.4K
Отв.2222  13 Окт. 21, 17:04
Александр, к сожалению у меня сейчас нет возможности активно участвовать в процессе. Второй отпуск закончился, началась пора отчетов и прочей нездоровой активности к концу года. Работы стало совсем невпроворот :(((

Позже посмотрю схемы подробнее, но один момент сразу бросился в глаза и несколько смутил. Вы объединили 7 и 8 линии RJ-45 для питания PoE, а силовую землю, судя по всему, пустили по тоненькой, длинной сигнальной земле (3-я линия). Мне кажется, что это не очень хорошее решение. Особенно при импульсных нагрузках на PoE. Наверное было бы правильней 7 и 8-ю линии разъединить и одну из них использовать непосредственно для силовой (т.е. PoE-шной) земли.

Или я что-то недопонял?
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.2223  13 Окт. 21, 19:00
Наверное было бы правильней 7 и 8-ю линии разъединить и одну из них использовать непосредственно для силовой (т.е. PoE-шной) земли.OldBean, 13 Окт. 21, 17:04
Рациональное замечание, но, я так сделал, чтоб случайно не спалить сетевое оборудование Ethernet, если случайно перепутать кабель установки с линией в домашнюю сеть. Я раньше об этом упоминал, если не ошибаюсь...

Добавлено через 14мин.:

пока писал пост, появилась идея использовать и тут модуль AtMega. Только нужно сигнал INT от PD3 отключаемый сделать.
Жаль что поздно идея пришла. Вчера уже заказал платы...BogAD, 07 Окт. 21, 08:46
Еще порт PD0 (Zero) забыл.
Схему модуля AtMEGA переработал. Плату подправил.
Schematic_AtMega board INT_2021-10-13.png
Schematic_AtMega board INT_2021-10-13. Ненавязчивая автоматизация ректификационной установки. Автоматика.

Если поставить перемычку на J1 и J2, то Int и Zero с шлейфа ленточного кабеля будут поступать в порты AtMEGA. Если убрать перемычки, то порты PD0 и PD3 можно использовать для других целях, не просаживая Int и Zero в шлейфе.

Добавлено через 2мин.:

пора отчетов и прочей нездоровой активности к концу года. Работы стало совсем невпроворот Грустный((OldBean, 13 Окт. 21, 17:04
Увы, нас тоже штормит еще. Не успели финансовый год закрыть, проверки нагрянули... Гости высокопоставленные зачастили...

Добавлено через 35мин.:

Рациональное замечание, но, я так сделал, чтоб случайно не спалить сетевое оборудование Ethernet, если случайно перепутать кабель установки с линией в домашнюю сеть. Я раньше об этом упоминал, если не ошибаюсь...BogAD, 13 Окт. 21, 19:00
Немного поясню. 100Мб сеть не использует 4-5 и 7-8 пару, но гигабитная сеть использует все пары, а сейчас значительное оборудование поддерживает гигабитку.
У нее все пары завязаны на гальванические трансформаторы развязки, так называемые Магнетики. Можно их увидеть на это схеме
9.png
9. Ненавязчивая автоматизация ректификационной установки. Автоматика.

Я бы не стал испытывать их и длительно подать на эти трансформаторы постоянное напряжение более 5В, примеру 24 вольта. Они не для этого...
OldBean Доцент Красноярск 1K 1.4K
Отв.2224  14 Окт. 21, 03:01
я так сделал, чтоб случайно не спалить сетевое оборудование Ethernet, если случайно перепутать кабель установки с линией в домашнюю сеть.BogAD, 13 Окт. 21, 19:00
Но, в результате, появляются риски наводок на сигнальных линиях. Сигнальные земли будут подпрыгивать при импульсных нагрузках по линии PoE. Например, при срабатывании низковольтных клапанов, стартах сервомашинок, шагах шаговичков и т.п.. Если эти устройства питать через PoE.

Еще вопрос по плате расширения малинки. Точнее - в целом по питанию модулей. Возможно, я что-то не заметил, но не увидел каких-то вариантов легкого подключения альтернативных вариантов питания. Почему бы не сделать как-нибудь попроще и поуниверсальней :))). Например так, как я предлагал в первой схеме в этом топике?
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.2225  14 Окт. 21, 11:00
Еще вопрос по плате расширения малинки. Точнее - в целом по питанию модулей. Возможно, я что-то не заметил, но не увидел каких-то вариантов легкого подключения альтернативных вариантов питания. Почему бы не сделать как-нибудь попроще и поуниверсальней Улыбающийся)). Например так, как я предлагал в первой схеме в этом топике?OldBean, 14 Окт. 21, 03:01
Да, схему видел. Единственно, я не поставил разъем питания и диоды Шоттки. В моем варианте это не нужно. Хочу донести свое виденье по питанию. Как бы интересно не смотрелся вариант пропуска +5В по Ethernet-кабелю, я не сторонник этому.

Обрати внимание, что я пишу везде "РоЕ" без величины напряжения. Т.е. каждый выберет тот уровень питания PoE, который удобней ему. А 12В для РоЕ маловато будет....
Я не думаю, что кто-то будет делать сборную солянку, более 2-х уровней, от принятого уровня РоЕ и 5В. Даже если нужен другой уровень, к примеру 12В, то не составит труда найти преобразователь на это напряжение.
Я в этом посту и в этом, более подробно подробно останавливался на моих соображениях. Модели блоков dc/dc, которые я указал на схеме, не обязательны. Я поставил их с соображении доступности для меня и чтоб оттрассировать PCB платы. А переделать платы под другие варианты DC/DC преобразователи не сложно. Конкретный тип преобразователей, чтоб удовлетворил каждого, мне трудно выбрать, их громадное множество. Главное то, что модульные DC/DC преобразователи в основном с широким входным напряжениям. К примеру номинал на 24В, диапазон допуска на вход, в основном, 18-36В, а это значит, что возможное падение РоЕ на линии легко скомпенсируется блоком и выдаст на выходе стабильные 5В.
А линейные стабилизаторы я отмёл сразу - прошлый век.

Сигнальные земли будут подпрыгивать при импульсных нагрузках по линии PoE. Например, при срабатывании низковольтных клапанов, стартах сервомашинок, шагах шаговичков и т.п.. Если эти устройства питать через PoE.OldBean, 14 Окт. 21, 03:01
Сергей, ты говорил про питание "казявок". Они все равно на прямую не будут подключаться к кабелю без "промежуточной" платы с P82B715P. Т.е. плату надо все же делать и нам ни чего не мешает добавить на эту плату еще одну "козявку" - мини DC/DC преобразователь на 5В от РоЕ.
Другой вариант - подключение козявок до ближайшего блока со своей "базой PoE-I2C". К примеру, к HUB 1-Wire подключим "Датчик кубового давления на базе MPX5010DP с 1-Wire интерфесом".

Сигнальные земли будут подпрыгивать при импульсных нагрузках по линии PoE. Например, при срабатывании низковольтных клапанов, стартах сервомашинок, шагах шаговичков и т.п.. Если эти устройства питать через PoE.OldBean, 14 Окт. 21, 03:01
Хорошая емкость с развязывающим диодом по питанию и диодом противо-ЭДС, думаю, уберут эти проблемы.

Вернусь к этому
Вы объединили 7 и 8 линии RJ-45 для питания PoE, а силовую землю, судя по всему, пустили по тоненькой, длинной сигнальной земле (3-я линия). Мне кажется, что это не очень хорошее решение. Особенно при импульсных нагрузках на PoE. Наверное было бы правильней 7 и 8-ю линии разъединить и одну из них использовать непосредственно для силовой (т.е. PoE-шной) земли.OldBean, 13 Окт. 21, 17:04
Да, я пожертвовал 1 линией GND. По ней можно пропускать, или 5в, или GND. Усилить линии GND можно за счет экрана экранированного патч-корда, хотя это не правильно.
Но, все же, при компоновки системы, надо учитывать где будет стоять основной источник AC/DC, там и подключать основные импульсные нагрузки. Это позволит не допускать силовые токи импульсных нагрузок в линии Ethernet. По линии РоЕ нужно питать "спокойные" нагрузки - измерители и саму малинку...

Добавлено через 21мин.:

Еще добавлю... Сергей, обрати внимание, что источник питания для РоЕ подключается на основной плате "База PoE-I2D". Я завел вход +PoEс учетом того, что будет питание линии Ethernet и тут же, в этой плате, через DC/DC преобразователь, понижаться до 5в. Эти 5в запитывают саму плату и идут по внутриблочному шлейфу, по шине "блочного крейта". Но это питание только плат AtMega, хотя и вывел 5В на 17 пиновый разъем, но как говорится, без фанатизма! Используем их с умом. Нам ни чего не мешает для импульсных нагрузок организовать правильное питание в пределах силового блока так, чтоб эти импульсы от нагрузки по попадали на плату "База PoE-I2D" и не шли по внешнему Ethernet -кабелю.

Добавлено через 7мин.:

Во, к примеру, американская "казявка" из Чип и Дипа...

Добавлено через 2мин.:

Или такая...
OldBean Доцент Красноярск 1K 1.4K
Отв.2226  14 Окт. 21, 13:36
Хорошая емкость с развязывающим диодом по питанию и диодом противо-ЭДС, думаю, уберут эти проблемы.BogAD, 14 Окт. 21, 11:00
Странно, что объединение сигнальных и силовых земель в сети i2c Вас не смущает, а небольшие возможные просадки по 5 V, фактически с тем же средствами компенсации (если, вдруг, что...), смущают фатально.

Хотя, что тут спорить? В конце концов, PoE - дело добровольное. Привилегия разработчика. ;))) В общем-то, ни на что принципиально не влияющая. Посмотрим как и что у Вас получится.

Ну все. Я все-таки пока отключаюсь.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.2227  14 Окт. 21, 16:46
Странно, что объединение сигнальных и силовых земель в сети i2c Вас не смущает, а небольшие возможные просадки по 5 V, фактически с тем же средствами компенсации (если, вдруг, что...), смущают фатально.OldBean, 14 Окт. 21, 13:36
Фатально не смущают, я же 1 провод в витой паре оставил под 5в. Улыбающийся
Еще раз посмотрел твою схему из этого топика и как говорится, понял, что случились разночтения...
Твое предложение: на один камень МК, один усилитель I2C, соответственно, вопрос питания, соответственно, поставлен остро, т.к. лучше от PoE питаться, чем для каждого МК соображать свой отдельный DC/DC преобразователь. С этим я согласен! При такой компоновке это так и есть.

Мое предложение другое: Объединяем модули МК в группы по общему функционалу. На каждую такую группу поставим во главе одну базу, в которой будет один усилитель P82B715P на все МК и узел общего питания группы. ​В этом случае нам не нужно для каждого МК ставить усилитель I2C и соображать с каких источников будем питать МК в каждом отдельном случае...
По факту, источник питания может быть каскадный в схеме №1: AC/DC 220/"PoE" - DC/DC "PoE"/5v. Это когда в блоке присутствует 220. По схеме №1 идет подача питания в цепи "РоЕ" в целях обеспечения потребности питания других групп системы автоматизации, которые будут нуждаться в схеме №2.
Схема №2: DC/DC (PoE/5v), т.е. питаемся только от РоE, когда 220 в блоке просто не нужны, т.к. нет потребности в высоком напряжении и больших нагрузок. Это в основном измерительные блоки. Допускаю низковольтные клапана и сервомашинку, при условии отдельного DC/DC с электролитом на выходе не менее 1000 uF.

Если обзорно взглянуть, то получается "модернизированный" крейт версии LITE, так сказать... )))
OldBean Доцент Красноярск 1K 1.4K
Отв.2228  14 Окт. 21, 18:44
понял, что случились разночтения...BogAD, 14 Окт. 21, 16:46
Да. Похоже.

Я вот как-то так представлял i2c-сеть в приложении к классической ректификационной установке.
сеть_i2c.gif
сеть_i2c. Ненавязчивая автоматизация ректификационной установки. Автоматика.

Крейта там нет. Это "распределенная" автоматика :)))
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.2229  14 Окт. 21, 20:00
Не, не так думаю. Считаю, что нужно последовательно строить нашу сеть, по линейной топологии. Только так можно контролировать целостность её. Тут я уже "думал", на счет схемного "И", тутт было одобрение от тебя на счет этого.
ОК, Сергей. Железо будет на руках, поясню на фотках...
ps меня так это зацепило, аж конструктив снится...
makh Профессор Sаmara 2.1K 1.1K
Отв.2230  15 Окт. 21, 01:55
"распределенная" автоматикаOldBean, 14 Окт. 21, 18:44
Вот по итогам как-то так и оказывается удобно, особым образом в контексте нескольких конфигураций самогонного железа.
OldBean Доцент Красноярск 1K 1.4K
Отв.2231  15 Окт. 21, 02:44, через 50 мин
Считаю, что нужно последовательно строить нашу сеть, по линейной топологии.BogAD, 14 Окт. 21, 20:00
Александр, физическая топология (линейная шина, "звезда" или "снежинка") - дело абсолютно десятое. Это зависит от конфигурации конкретной установки и предпочтений разработчика. Логически же, для малинки, это все равно будет та же самая, одна шина i2c, на которую подвешены исполнительные устройства и датчики. Со своими уникальными 7-битными адресами. Как и в варианте с крейтом.

Мне кажется, модули будущего "ЛЕГО самогонщика" как раз и должны быть спроектированы так, чтобы позволять реализовывать любую физическую топологию i2c сети. В том числе - и любимую Вами "гирлянду" со схемным "И" по линии INT и заглушкой на конце. Если есть какие-то повышенные риски обрыва сети. А иначе - ну какое же это будет ЛЕГО?! :)))
OldBean Доцент Красноярск 1K 1.4K
Отв.2232  23 Окт. 21, 03:34
Может я что-то в datasheet не понял, но усилители P82B715PN в упор отказываются у меня работать :(
Коллеги, может кто-нибудь работал с этими чипами? Есть ли там какие-то особые особенности?


PS
Описание ситуации.

Заказал на али небольшую партию (5 шт) в DIP-корпусах. Макет платы расширения сделал раньше. Для P82B715PN впаял панельку. Пришли чипы, вставил в панельку - буферированная часть i2c не работает. Обе линии глухо подтянуты к +5V. Без усилителей все работает.

Решил проверить усилители напрямую... Собрал макет. Прям по datasheet. Ну, тут проще показать, чем описывать. Вот все на рисунке ниже. Ардуинка используется в качестве генератора меандра (ноль или третье состояние, моделирует мастера).

sh_proto_osc.png
Sh_proto_osc. Ненавязчивая автоматизация ректификационной установки. Автоматика.


Итог. Все 5 чипов - "глухие". Такое ощущение, что прислали просто "пустышки". Микросхемы недорогие. Заказал для проверки от других поставщиков, в том числе и SOIC. Ну интересно же...!
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.2233  23 Окт. 21, 10:05
Все 5 чипов - "глухие". Такое ощущение, что прислали просто "пустышки".OldBean, 23 Окт. 21, 03:34
Сергей, вполне возможно. Грешат желтые братья часто...
До меня пока не дошла посылка.

Добавлено через 5ч. 42мин.:

пробежался по ресурсам, не было ни у кого таких проблем!
Испанец вполне доволен...
Однозначно, перемаркировка...
OldBean Доцент Красноярск 1K 1.4K
Отв.2234  24 Окт. 21, 05:03
Однозначно, перемаркировка...BogAD, 23 Окт. 21, 10:05
Тоже склоняюсь к этому.


С возрастом становишься фаталистом. Начинаешь прислушиваться к сигналам откуда-то свыше. Интуиции начинаешь доверять чуть больше... Милый сюрприз из Китая с усилителями P82B715P, заставил задуматься вот на такую тему: а нужны ли нам для "распределенного" крейта какие-то дополнительные усилители? Может быть воспользоваться давним советом коллеги makh - просто уменьшить подтягивающие резисторы и использовать "подручные" усилители, которые и так уже есть у нас в системе?

Действительно, смотрим, что у нас висит шине на i2c. Микроконтроллеры ATMega328P. Порты 328-го могут выдавать до 40 мА. Это даже больше, чем может выдавать P82B715P. Они выдают до 30 мА. Т.е. для МК усилители в общем-то не нужны. Сами МК смогут качать шину не хуже.

Следующее звено - малинка. Это действительно слабое звено. Но! Мы ставим на малинку преобразователи уровней 3.3 <-> 5 В. Я, например, использую преобразователи на полевиках. Это вполне "макроскопические" полевики, которые обеспечат токи, ну по крайней мере, на уровне сотен мА (например, 220 мА даже на постоянке для полевичков типа BSS138). Т.е. после преобразователей уровня усилители тоже в общем-то не нужны. Я бы сказал - даже вредны :)

Остальные "слабые звенья" - датчики температуры с i2c интерфейсом. Эти ведомые "клопики-козявочки", конечно, не смогут качать длинную линию SDA, передавая свои данные мастеру-малинке. Но если пока (!) ограничиться нашими любимыми DS18B20 с 1-Wire хабом, который сам на 328-м МК, то проблем с датчиками температуры опять же таки не возникает.

Может и впрямь, как мне сказали сверху, P82B715P - лишнее звено? :)))
Постараюсь в ближайшее время проверить это. С пристрастием...

Добавлено через 9ч. 49мин.:

Немножко повозился с проблемой. В первом приближении вроде бы все работает. Даже без уменьшения подтягивающих резисторов. На снимке ниже - рабочий макет. Со стороны малинки (i2c мастера) - только преобразователь уровней 3.3-5V на полевиках. Дополнительные подтягивающие резисторы не ставил. Для подтяжки используются резисторы преобразователя. Если не ошибаюсь, там стоят 10k. С другой стороны линии - ардуинка в качестве ведомого i2c устройства. В варианте "эха". Т.е. то, что получит - то и отправляет назад малинке. Пакеты по 8 байт, случайные числа. Малинка в цикле формирует эти пакеты, посылает ардуинке, читает то, что отправляет ардуинка назад и сравнивает с тем, что послала. В случае несовпадения - ругается. Сама линия - это 2 патч-корда по 3 м каждый, соединенные последовательно сплиттером. Так что в сумме - 6 м. Питание на ардуинку тоже идет по патч-корду. Линии "обвивки" линий SDA (это +5V) и SCL (земля).
patch_cord_33m.JPG
Patch_cord_33m. Ненавязчивая автоматизация ректификационной установки. Автоматика.

Результаты, конечно, пока предварительные. Сопливые. Но, похоже, что в этом направлении и стОит поработать...
makh Профессор Sаmara 2.1K 1.1K
Отв.2235  24 Окт. 21, 18:18
пока (!) ограничиться нашими любимыми DS18B20 с 1-Wire хабом, который сам на 328-м МКOldBean, 24 Окт. 21, 05:03
А потом доработать 1-Wire хаб до более универсального измерительного сервера. Имеющего на борту датчики давления и способного работать с любыми датчиками температуры. Типа как на моей фоточке с предыдущей странички. ИМХО незачем высокоуровневым мозгам что-то знать о драйверах и адресации градусников..

Добавлено через 13мин.:

BTW, девайс на фоточке с предыдущей странички может быть с полтыка интегрирован в ненавязчивую. Там на борту два абсолютных датчика давления MS5611, и четыре порта для градусников, в каждый из которых можно включать ds18b20 или si7051. Читаем оттуда готовые показания датчиков привязанные к портам. Исходники могу поискать выложить если интересно.
OldBean Доцент Красноярск 1K 1.4K
Отв.2236  25 Окт. 21, 08:27
А потом доработать 1-Wire хаб до более универсального измерительного сервера. Имеющего на борту датчики давления и способного работать с любыми датчиками температуры. Типа как на моей фоточке с предыдущей странички. ИМХО незачем высокоуровневым мозгам что-то знать о драйверах и адресации градусников..makh, 24 Окт. 21, 18:18
Да. К этому все идет. Я обратил внимание на фоточку. Кластеризация устройств по некоторым критериям мне тоже по душе. Вопрос только в принципах кластеризации. Вот тут-то пока моск на раскоряку :)

1. Один вариант кластеризации - по типу объединяемых устройств (или интерфейсов). Типа как Ваш измерительный сервер (объединение датчиков) или 1-Wire хаб (объединение по интерфейсу, правда пока только датчики, до исполнительных устройств уже руки не дошли). Это хороший и очень практичный вариант.

2. Другой вариант - кластеризация по месту расположения устройств. Вот здесь простенький пример сети трех кластеров. Такой вариант тоже неплох и удобен с практической точки зрения.

3. Третий вариант, ИМХО, самый интересный. Это функциональная кластеризация. Внешне он похож на предыдущий, но логика кластеризации и управления устройствами совсем другая. Ядром каждого кластера является исполнительных устройств. В этот же кластер входят датчики и, возможно, другие исполнительные устройства, обеспечивающие работу и защиту "ядреного" исполнительного устройства. Такая кластеризация, в принципе, позволяет перевести управление (программирование) автоматики на следующий уровень абстракции, чем сейчас, и существенно уменьшить "порог вхождения" в программирование конкретных процессов.

Рассмотрим этот вариант кластеризации на примере простейшего кластера, управляющего отбором. Исполнительным устройством пусть будет клапан (понятно, что это может быть и насос, или еще что-нибудь). В этот кластер входит еще и датчики температуры в нижней царге, дефлегматере и ТСА (для полного счастья) и датчик атмосферного давления. Возможно, имеет смысл присоединить к этому кластеру и второе исполнительное устройство - фракционник. Таким образом этот "кластер отбора" представляет собой вполне самодостаточное устройства отбора и сможет работать без какой либо перманентной опеки со стороны малинки. От малинки это устройство просто получает стартовую команду и далее может работать совершенно самостоятельно как некий автоматический (и автономный) регулятор. В данном случае - регулятор отбора. Стартовая команда содержит номер алгоритма регулирования отбора (например, релейный (типа старт-стоп), ПИД или еще какой-нибудь), уставку, которую нужно "держать сверху" и условие окончания выполнения задания (например, - "завязывай" когда средняя скорость отбора станет меньше такой-то, или просто по объему отобранного, или еще как-нибудь...). Класс такого кластера отбора, естественно, должен генерироваться автоматически исходя из обнаруженного оборудования (и, возможно, неких файлов конфигурации) и содержать всего лишь три пользовательских метода: Start(параметры), Stop() (это - рубильник малинки, на всякий случай :) и Info(параметры), смысл которых понятен из их названий.

Аналогично может быть устроен и "кубовой кластер", который отвечает за работу куба и решает две задачи: разгон и поддержание рабочего режима (по мощности, давлению в кубе или еще чему-нибудь).

Сейчас большая часть функционала, который в принципе мог бы выполняться на контроллерах кластеров выполняется малинкой. Хорошо было бы его перенести в "правильное" место.

Исходники могу поискать выложить если интересно.makh, 24 Окт. 21, 18:18
Интересно. Если не очень сложно, конечно, выкладывайте. С удовольствием посмотрю. Просмотр чужих кодов - всегда полезное дело.




По поводу сети i2c. К сожалению, преобразователи уровней 3.3-5V на полевиках (которые на малинке) не решают проблему усилителей. Спады импульсов (разрядка линий связи) действительно происходят быстро (полевики работают в своем естественном положении), но первоначальные зарядки линий (это фронты импульсов) происходит через паразитный диод мосфета и большой (10k) подтягивающий резистор на низковольтной стороне (3.3V). Существенно уменьшить этот резистор не получится (порты малинки не потянут). В принципе, на скорости i2c 100 кбит/сек сеть работает, но фронты и форма импульсов не удовлетворительные. В более экстремальных условиях сеть наверняка будет сбоить. Так что все равно на малинку (после преобразователя уровней) усилители (типа P82B715 или что-нибудь другое) все равно придется ставить.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.2237  25 Окт. 21, 09:21, через 54 мин
Один вариант кластеризации - по типу объединяемых устройств (или интерфейсов). Типа как Ваш измерительный сервер (объединение датчиков) или 1-Wire хаб (объединение по интерфейсу, правда пока только датчики, до исполнительных устройств уже руки не дошли). Это хороший и очень практичный вариант.OldBean, 25 Окт. 21, 08:27
Согласен. Упрощенно я предполагал подобное чуть выше на этой странице. Только обозвал не "Кластер", а "Модуль".

Другой вариант - кластеризация по месту расположения устройств. Вот здесь простенький пример сети трех кластеров. Такой вариант тоже неплох и удобен с практической точки зрения.OldBean, 25 Окт. 21, 08:27
И так можно. Взяв за основу LEGOлизацию узлов, можно собрать и по такому варианту. Опять смотрим чуть выше.

Третий вариант, ИМХО, самый интересный. Это функциональная кластеризация. Внешне он похож на предыдущий, но логика кластеризации и управления устройствами совсем другая. Ядром каждого кластера является исполнительных устройств. В этот же кластер входят датчики и, возможно, другие исполнительные устройства, обеспечивающие работу и защиту "ядреного" исполнительного устройства. Такая кластеризация, в принципе, позволяет перевести управление (программирование) автоматики на следующий уровень абстракции, чем сейчас, и существенно уменьшить "порог вхождения" в программирование конкретных процессов...OldBean, 25 Окт. 21, 08:27
Назревает вопрос, кто будет "ядром" кластера? Отдельный МК один на все устройства и датчики или по старой схеме? Если по старой схеме, кому-то из МК все же нужно выполнять "корневого ядра" кластера для общения с RPi. А как решим вопрос общения всех МК в кластере? Если оставим по I2C, то надо решать вопросы множества мастеров по шине, т.к. "корни ядра", в своем кластере должны быть мастерами, но при общении с RPi - Slave.
Заморочено, как то...

Все же, считаю, нужна LEGOлизация.
Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.

Классный термин...
Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.


По поводу сети i2c. К сожалению, преобразователи уровней 3.3-5V на полевиках (которые на малинке) не решают проблему усилителей...OldBean, 25 Окт. 21, 08:27
Почему-то сразу думал, что это без смазки не пролезет. Оставляем P82B715.
Платы уже в пути, придут, буду тихонько собирать мой вариант LEGO...
OldBean Доцент Красноярск 1K 1.4K
Отв.2238  25 Окт. 21, 12:23
Назревает вопрос, кто будет "ядром" кластера? Отдельный МК один на все устройства и датчики или по старой схеме? Если по старой схеме, кому-то из МК все же нужно выполнять "корневого ядра" кластера для общения с RPi. А как решим вопрос общения всех МК в кластере? Если оставим по I2C, то надо решать вопросы множества мастеров по шине, т.к. "корни ядра", в своем кластере должны быть мастерами, но при общении с RPi - Slave.
Заморочено, как то...BogAD, 25 Окт. 21, 09:21
Третий вариант - это не "на сейчас". Просто держу его в голове, чтобы не "наворотить" решений, которые сделают его реализацию невозможной в будущем. Без существенных переделок.

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

По поводу обмена. Протокол i2c допускает работу нескольких мастеров на одной шине по принципу "кто первый встал, того и тапки". Те, кто остался босиком, автоматически на время становятся слейвами. Но, конечно, нужно посмотреть, как это все реализовано в железе малинки и МК. Я с такими вариантами i2c-сетей никогда не работал - очень интересно будет поразбираться.

Если такой вариант (единой сквозной шины) по какой-то причине окажется нерабочим или неудобным, то можно организовать несколько шин. Одна общая для связи с руководством (малинкой-мастером), а другие - локальные сети внутри каждого кластера. Они могут быть тоже i2c (только другие шины), 1-Wire или еще что-нибудь. 1-Wire хаб, если его МК дополнительно "нагрузить" функционалом какого-нибудь исполнительного устройства (например, силового модуля) - хороший пример организации кластера с внутренней локальной сетью на базе протокола 1-Wire.
makh Профессор Sаmara 2.1K 1.1K
Отв.2239  26 Окт. 21, 04:56
Вопрос только в принципах кластеризацииOldBean, 25 Окт. 21, 08:27
Тут сильно зависит.. Кто с какими сущностями привычный.. И с каким зоопарком оборудования, и с какой тягой к экспериментам..
Даже если только в контексте ректификационной установки, насколько может быть по-разному -- у кого-то труба стационарно на стене висит, а кто-то каждый раз из кладовки достает со всей бородой..

У мну кластеризация произошла лениво-естественным образом, от неизбежного. В любой конфигурации железа как минимум надо мерять температуру и рулить какими-то нагрузками. Поэтому модули -- измерительный и симисторный -- не лишние сущности. ПВК хотелось автономный и в широком диапазоне мобильный, поэтому там это все собрано в классической одной коробке с дисплеем-кнопками и возможностью передать все хозяйство под внешнее управление. РК стационарно висит со всем обвесом, там измерительный модуль живет на колонне, а регулятор где-то на полу у ризетки.. А есть еще холодильно-вакуммная установка в процессе, там еще один измеритель и включатель мощных высоковольтных нагрузок, пока просто на соплях.. Если модуль по итогам попадает в коробку с мозгами -- подключается внутрикоробочным I2C, если сам по себе -- можно и через USB-serial, чтоп порулить по-быстрому просто с нотика.. С не-лишними сущностями на данном этапе как-то так исторически сложилось..

В аттаче что нашлось по измерительному модулю.

Добавлено через 22мин.:

Симисторный модуль наверное мутный пояснений требует. Давний концепт, aka умная ризетка.
Каждая ризетка управляется мощным триаком, и имеет два параметра -- период и скважность, устанавливаемые в 10 мс интервалах (полупериод от 50-ти герц). Если период установлен в ноль -- ризетка работает как PDM регулятор мощности (ака Брезенхэм, алгоритм c коррекцией постоянной составляющей спионерил у коллеги OldBean из ненавязчивой автоматизации), если период равен единице -- ризетка в режиме вкл/выкл, если период больше единицы (max 65535) -- тривиальный PWM. Т.е. любой ризеткой можно греть кубы, включать/выключать какие-то девайсы, по-разному дергать разного назначения клапанами, и т.д. -- не модифицируя фирмварь железки.makh, 08 Апр. 17, 04:51
tmp.7z 25.6 Кб