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

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

Форум самогонщиков Автоматика
1 ... 35 36 37 38 39 40 41 ... 132 38
игорь223 Академик таганрог 30.2K 20.6K
Отв.740  19 Сент. 17, 10:33
OldBean, спасибо, я понял ход ваших мыслей.

Два соображения на этот счет. Оба ИМХО, естественно.

1. По названию темы.
Автоматизация ректификационной установки в сознании читающего эти слова звучит так
а) есть оборудование для ректификации
б) есть алгоритм ректификации, который изучен "ручками", но вот этими самыми ручками надоело делать
поэтому
в) мы придумали электронику, которая заменяет оператора, освобождает человека от ручного труда
То бишь она реализует штатный алгоритм и контролирует нештатные (читай - аварийные) ситуации, купируя их последствия.

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

2. Со времен Креля (подозреваю, что даже ранее) все велосипеды уже изобретены.
Это не отменяет того факта, что хобби у человека может быть любым, самым экзотическим.
Однако исследование работы бытовой насадочной колонны может доставлять удовольствие лишь самим процессом, но никак не результатом.

Повторюсь, это - мое личное мнение.
ZagAl Доцент Прибалтика 1.9K 916
Отв.741  19 Сент. 17, 11:30, через 57 мин
1. По названию темы.
Автоматизация ректификационной установки...игорь223, 19 Сент. 17, 10:33
игорь223, в названии темы вы упустили слово "ненавязчивая". То есть никому, ничего не навязывается, не обещается и не гарантируется. Идёт исследовательский процесс с одновременным развитием автоматики. Интересен сам процесс. Кому это нравится, тот активно участвует, а кто хочет готовый результат, пусть наберется терпения или поищет его в другой теме.
сообщение удалено
OldBean Доцент Красноярск 1K 1.4K
Отв.742  19 Сент. 17, 15:59
Если рессетнуть малинку и сменить последовательность команд, то... nna_36 работает нормально (фиг.1), а contr.py по прежнему нет. Видимо самостоятельно программа contr.py работать не умеет.gol_avto, 19 Сент. 17, 08:58
gol_avto, самое смешное, что после reset-а (фиг.1) я вижу совершенно нормальную работу. Как скрипта nna_36.py, так и модуля contr.py. Дело в том, что при тестировании модуля contr иллюстрируется работа контроллера ТЭНа в двух ситуациях: с датчиком RMS (на прилагаемом рисунке обведено красным) и без датчика RMS 0обведено синим). Ну Вы хотя бы из любопытства заглянули бы в конец модуля contr (где описано тестирование модуля). Там же почти каждая строчка кода прокомментирована!

По поводу остальных картинок - вижу, что датчик RMS говорит об отсутствии напряжения в сети. Но ничего определенного сказать не могу так как не ясна предыстория этих измерений. Если хотите разобраться - давате повторим тесты и постарайтесь зафиксировать при какой ситуации возникают сбои.
И следующий вопрос. Хочу реализовать систему с тремя клапанами, для раздельного отбора фракций. 2 модуля уже реализовано, жду детальки на 3-йgol_avto, 19 Сент. 17, 08:58
Делается это так.

1. Каждому контроллеру клапана отбора нужно присвоить уникальный адрес на шине I2C. Адрес указывается в скетче, которыми прошиваются соответствующие ардуинки контроллеров. Пусть, для конкретики, это будут адреса: 0x06, 0x07 и 0x08.
2. Производится калибровка каждого клапана и вычисление соответствующих коэффициентов coef1, coef2 и coef3. Эти коэффициенты нужны для правильной установки скорости отбора в реальных единицах (мл/час).
  2.1. Калибровка: определяется расход каждого датчика (уже с жиклером) в полностью открытом состоянии (ШИМ - 100%). На спирту. В месте его установки (или - с эквивалентной высотой столба спирта). В мл/час. Пусть эти значения будут Qmax1, Qmax2 и Qmax3.
  2.2. Коэффициенты вычисляются по формуле: coef1 = Qmax1/100 и так далее для остальных клапанов.
3. Далее, в скрипте автоматизации, создается три объекта класса SD (контроллер клапана отбора). Это делается следующим образом:
sd1 = SD(addr = 0x06, coef = coef1)
sd2 = SD(addr = 0x07, coef = coef2)
sd3 = SD(addr = 0x08, coef = coef3)
4. Все. Клапаны в "сопряженном" виртуальном мире созданы. Теперь, если Вам нужно включить, например, отбор на клапане 2 со скоростью отбора 310 мл/час, просто пишете  в нужном месте скрипта:
sd2.Q = 310
А когда нужно прекратить отбор:
sd2.Q = 0
Это все. Как Вы легко можете видеть - действительно всего несколько строк кода.

gol_avto, я помогу Вам (по мере сил) написать необходимые скрипты. Но (!) при одном условии: Вы предварительно выучите питон. Хотя бы основы. Очень хороших и популярных книжек - тьма. А иначе все бесполезно - будут сплошные мучения и все Ваши замечательные задумки по автоматизации действительно никогда не смогут реализоваться :(

1. По названию темы.
Автоматизация ректификационной установки в сознании читающего эти слова звучит так
а) есть оборудование для ректификации
б) есть алгоритм ректификации, который изучен "ручками", но вот этими самыми ручками надоело делать
поэтому
в) мы придумали электронику, которая заменяет оператора, освобождает человека от ручного труда
То бишь она реализует штатный алгоритм иигорь223, 19 Сент. 17, 10:33
Мне кажется, что у Вас слишком утилитарное представление об автоматизации. Это хорошо видно по фразам "...есть алгоритм ректификации, который изучен "ручками"..." и/или "...она реализует штатный алгоритм...".
А как же быть с научным приборостроением и автоматизацией эксперимента? Или тоже сначала "ручками" по "штатному алгоритму"? :)

Про Креля и велосипеды. Тут мне трудно что-то возразить конкретное, поскольку Вы говорите "в общем", а я специально в свое время проводил анализ литературы по компьютерному моделированию насадочных колонн.
img_01.png
img_01.png Ненавязчивая автоматизация ректификационной установки. Автоматика.
ZagAl Доцент Прибалтика 1.9K 916
Отв.743  19 Сент. 17, 16:40, через 41 мин
3. Далее, в скрипте автоматизации, создается три объекта класса SD (контроллер клапана отбора). Это делается следующим образом:
sd1 = SD(addr = 0x06, coef = coef1)
sd2 = SD(addr = 0x07, coef = coef2)
sd3 = SD(addr = 0x08, coef = coef3)OldBean, 19 Сент. 17, 15:59
OldBean, тогда в contr.py строки в разделе class SD(object): должны выглядеть так?
def __new__(cls, addr, coef, bus=smbus.SMBus(1)):
def __init__(self, addr, coef, bus=smbus.SMBus(1)):
OldBean Доцент Красноярск 1K 1.4K
Отв.744  19 Сент. 17, 17:02, через 23 мин
Не обязательно. Если в функции (в данном случае - в конструкторе) параметрам присваиваются какие-то значения, то это - значения по умолчанию. Их можно не указывать при вызове функции (если, естественно, значения по умолчанию устраивают). Но если при вызове указываются какие-то другие значения этих параметров, то они заменяют значения по умолчанию. Ежели при объявлении функции параметру значения по умолчанию вообще не присвоены, то, при вызове функции, этим параметрам обязательно должны быть присвоены значения. Т.е. в Вашем варианте конструктора параметры addr и coef нужно будет задавать всегда.
игорь223 Академик таганрог 30.2K 20.6K
Отв.745  19 Сент. 17, 17:21, через 19 мин
Мне кажется, что у Вас слишком утилитарное представление об автоматизацииOldBean, 19 Сент. 17, 15:59
Cтопроцентно верно, именно так)))

А как же быть с научным приборостроением и автоматизацией эксперимента?OldBean, 19 Сент. 17, 15:59
Вы говорите про ОКР или про НИОКР?


Или тоже сначала "ручками" по "штатному алгоритму"? УлыбающийсяOldBean, 19 Сент. 17, 15:59
Именно так.
СНАЧАЛА придумывается (если придумывается) какой либо алгоритм работы оборудования.
ПОТОМ он реализуется программно и аппаратно, тестируется.
При этом пишутся логи те параметров, которые интересуют экспериментатора. Которые им и интерпретируются в дальнейшем.


Вы говорите "в общем", а я специально в свое время проводил анализ литературы по компьютерному моделированию насадочных колонн.OldBean, 19 Сент. 17, 15:59
Каким образом компьютерное моделирование колонны относится к данному програмно-аппаратному комплексу?

Вы не обижайтесь, я не пытаюсь "подколоть вас", мне действительно интересна ваша позиция. Поскольку работа проделана очень недетская, что уже само по себе вызывает уважение. Но смысл этой работы, если она делается не ради работы, а ради результата, от меня ускользает.
Результат должен быть прикладным?
Или нет?
А если да - то при чем здесь компьютерное моделирование?
И зачем иметь отдельный от компьютера инструмент, в таком случае, для проверки этой самой модели на реальной колонне?

И кстати да, основной вопрос, в связи с вышеизложенным: модель колонны виртуальная - есть?
OldBean Доцент Красноярск 1K 1.4K
Отв.746  19 Сент. 17, 19:19
Вы говорите про ОКР или про НИОКР?игорь223, 19 Сент. 17, 17:21
Нет. Если пользоваться этими категориями, то это - только НИР. Причем, выполняемые в виде просто хобби. По жизни я работаю совсем в других областях физ-химии.
Именно так.
СНАЧАЛА придумывается (если придумывается) какой либо алгоритм работы оборудования.
ПОТОМ он реализуется программно и аппаратно, тестируется.
При этом пишутся логи те параметров, которые интересуют экспериментатора. Которые им и интерпретируются в дальнейшем.игорь223, 19 Сент. 17, 17:21
Возможно у нас с Вами совершенно разный прикладной опыт в этой области. Мне обычно приходилось иметь дело с системами почти "разовыми". Которые часто достаточно радикально трансформировались после первых же результатов, адаптируясь под эволюционирующую задачу. Не всегда можно все заранее предусмотреть и алгоритмизировать. Хорошо, когда речь идет просто о сборе, накоплении и обработке сравнительно однородных данных. Тогда - да. Но мне обычно скучно не бывает. Поэтому у меня в хозяйстве все в виде "контрукторов LEGO", из которых можно быстро "лепить" все, что нужно. Это касается и железа, и софта. Поэтому в этом вопросе мы вряд ли придем к единой методике.
Каким образом компьютерное моделирование колонны относится к данному програмно-аппаратному комплексу?игорь223, 19 Сент. 17, 17:21
Так я же уже говорил - построить фазовое пространство этой динамической системы и посмотреть есть ли там какие-нибудь интересные особенности. Как с практической, так и с теоретической точек зрения.  И, главное - где они? Если есть. После этого можно попытаться нащупать их в реальном процессе.
Т.е. сначала - численные эксперименты, а потом - натурные. Т.е. модель нужна не только для того, чтобы убедиться, что наши представления о системе правильные (это естественно). А для того, чтобы изучать поведение системы в численных экспериментах. Там, где реальные эксперименты провести сложно/невозможно/дорого или еще что-нибудь. Как эвристический инструмент. В наше время - это достаточно эффективный (и модный) подход к природе :)
И кстати да, основной вопрос, в связи с вышеизложенным: модель колонны виртуальная - есть?игорь223, 19 Сент. 17, 17:21
Увы. В виде кода - пока нет. Хобби - все-таки вещь неторопливая. Весь процесс можно "смаковать". Никакие "концы года" и прочие вехи не давят. Поэтому пока погряз в железе. Вот сделаю вариант LITE, тогда сразу же - к модели колонны.
игорь223 Академик таганрог 30.2K 20.6K
Отв.747  19 Сент. 17, 20:30
OldBean, спасибо за развернутый ответ.
Завидую я вам, честно..белой завистью, конечно же.))) несмотря на то, что телегу вы запрягаете поперед лошади, я понимаю отчего так, и очень, очень-буду-рад, если ваши задумки сбудутся.

Удачи...и выстраивайте этапы "от печки", если это возможно, коллега!!
OldBean Доцент Красноярск 1K 1.4K
Отв.748  20 Сент. 17, 02:44
И Вам - больше творчества и удачи в делах!
U-M Магистр MSK 210 39
Отв.749  04 Окт. 17, 23:00
Отчет в двух словах - наконец=то дособрал "на картонке" систему, со скриптом nna_36 все работает.


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

Есть вопрос по работе автоматики - заметил что некоторые датчики DS показывают 1 знак после запятой, некоторые 2 и 3 знака.
Где-то читал, что китайцы шлют иногда "битые" датчики, которые не могут после снятия питания запомнить с какой разрядностью они должны выдавать температуру.

Насколько важно, сколько знаков после запятой отдает DS и может поправить инициализацию датчиков, чтобы принудительно переключать при каждом запуске скрипта на нужную разрядность?
JackB Специалист Kazan 101 44
Отв.750  23 Окт. 17, 16:01
Написан и отлажен скетч температурного сервера на 4 датчика для модуля ардуинки BogAD (сообщение 626) только с 3-х разрядным индикатором.

gol_avto Доцент Москва - Серпухов - Анапа 1.3K 458
Отв.751  23 Окт. 17, 16:58, через 57 мин
А как на 3-х разрядном индикаторе можно понять с какого датчика индицируются показания, если после точки 1 разряд?
JackB Специалист Kazan 101 44
Отв.752  24 Окт. 17, 09:14
gol_avto, на схеме в 626 сообщении написано: 1. короткое нажатие кнопки - переход к мониторингу следующего датчика.
2. Удержание кнопки - показ номера текущего датчика
gol_avto Доцент Москва - Серпухов - Анапа 1.3K 458
Отв.753  24 Окт. 17, 19:17
А скрипт надо править, чтобы программа поняла, что теперь темп. читать по I2C? Уж извиняйте я слаб, точнее 0 в Python.
U-M Магистр MSK 210 39
Отв.754  24 Окт. 17, 19:26, через 9 мин
Ага, надоть править.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.755  05 Нояб. 17, 13:03
Написан и отлажен скетч температурного сервера на 4 датчика для модуля ардуинки BogAD (сообщение 626) только с 3-х разрядным индикатором.JackB, 23 Окт. 17, 16:01

Класс!
То что надо. Есть повод серым веществом пошевелить. Подмигивающий
Подскажи, JackB, может на аналоговый порт А3 (пин 17) посадить пятую DS-ку? Что-то задумался, и... крайне захотелось под ТСА заложить датчик. А если использовать 4-х разрядный индикатор, то только порт А3 остался.
ps Пробую  под 5 датчиков и 4-х разрядный индикатор подработать твой скотч, на сколько ума хватит.

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

По А3 вопрос стал не актуален.
Для 5 датчиков DS определил все цифровые пины.
U-M Магистр MSK 210 39
Отв.756  07 Нояб. 17, 13:35
Есть один вопрос по скрипту nna:
Переменная Qmax = 900 # Максимальная скорость отбора (для регулятора)

- ее значение это пропускная способность клапана в узле отбора или это некая максимальная величина колонны, при которой колонна может выполнять свою функцию?
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.757  07 Нояб. 17, 15:32
Не буду сильно утверждать, но на сколько понял, это максимальная пропускная способность калиброванной шайбы в клапане. Связка "узел отбора - клапан" должна иметь постоянную размерность, иначе этот параметр будет плавать.
JackB Специалист Kazan 101 44
Отв.758  07 Нояб. 17, 16:46
BogAD, а зачем нужен четырёхразрядный индикатор? Чтобы видеть на платке сотые градуса? Мне достаточно трёх разрядов на показометре. Тогда пины Д9 и Д10 свободны для датчиков. Хотя можно и А3 сконфигурировать, как цифровой.
gol_avto Доцент Москва - Серпухов - Анапа 1.3K 458
Отв.759  07 Нояб. 17, 17:04, через 18 мин
Переменная Qmax = 900 # Максимальная скорость отбора (для регулятора)U-M, 07 Нояб. 17, 13:35
Да, это относится к клапану. У меня при диаметре отв.в шайбе 0,6 мм пропускная способность клапана получилась 1260 мл/час.
P.S. Никто не планирует сделать узел отбора с 3-я клапанами (для 3-х фракций), чтобы посуду не менять? Железо (модули отбора с разными адресами) я себе уже сделал, а вот скрипт править - не судьба.