На мой взгляд будет дороже и менее надежноZagAl, 23 Июля 17, 16:56мне тоже так кажется. проще мотор за 100 р плюс кран из газовой горелки за 400 чем дозирующий насос за 2000
Попытка автоматизации пленочной колонны с паровым отбором
anddin
Магистр
Астрахань
259 121
Отв.240 23 Июля 17, 17:15
anddin
Магистр
Астрахань
259 121
Отв.241 23 Июля 17, 17:21, через 6 мин
До этого регулировку работы колонны проводил с помощью незначительного изменения мощности тэна при статичном уровне подачи воды в дэф. Особой разницы в работе при отборе тела не вижу, но при использовании привода крана можно переходить на полную автоматизацию, включая переход между режимами (отбор голов, тела, хвостов и т.д.)
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.242 23 Июля 17, 17:39, через 19 мин
А если для подачи воды в деф применить дозирующий насос на шаговике и прямо управлять потоком воды?Boozemaker, 23 Июля 17, 16:55отлично работает
но актуально если эта перистальтика уже есть в наличии, новую колхозить под эту задачу не дешево
Boozemaker
Новичок
Комсомольск-на-Амуре
6 1
Отв.243 24 Июля 17, 02:35
Ты имеешь ввиду перестальтику? На мой взгляд будет дороже и менее надежно, так как имеются дополнительные механические узлы
Так механический узел так и так есть - либо мотор управления краном, либо насос.
но актуально если эта перистальтика уже есть в наличии, новую колхозить под эту задачу не дешевоmak, 23 Июля 17, 17:39
А вот тут согласен, перистальтика, пожалуй, дороже будет, особенно если кран уже есть - будет проще сервопривод к нему приколхозить.
anddin
Магистр
Астрахань
259 121
Отв.244 25 Июля 17, 11:46
Привожу пример использования ардуино для управления приводом крана на дэф.
В данном проекте использовано:
Ардуино микро - 2 шт.
весы HX711
реле -1шт
клапан воды -1шт
шаговый двигатель 28BYJ-48 с драйвером ULN2003
кран тонкой настройки от маленькой газовой горелки.
LCD щилд с клавиатурой 1602A
3 датчика температуры DS18B20
провода
корпус
сопротивление 4,7кОм
блок питания 5 вольт или связка - понижающий стабилизатор и блок питания на 12 вольт не менее 2а.
На главном меню в первой строчке отражается 4 значения: первое значение - это температура царги, второе - температура дэфа, третье- температура в кубе и последняя цифра это номер команды для второй ардуино что управляет приводом крана.
Вторая строчка: первое - это значение температуры при которой сработает клапан подачи дополнительной воды в дэф. Это значение можно менять кнопками вверх и вниз. Далее идет заданное нами максимальное значение веса и через дробь фактическое значение веса.
Если нажать селект то попадаем в следующее подменю:
1. Настройка максимального веса тары с жидкостью (при превышении этого значения сработает сигнал тревоги).
2. Настройка скорости отбора в миллилитрах в час. Можно задать от 40 до 1000 мл/час.
3. Настройка интервала времени через который необходимо смотреть сколько накапало в тару. определяется в секундах.
Перемещение по меню происходит кнопками влево и вправо, изменение значений кнопками вверх и вниз.
Возврат в главное меню через кнопку селект.
Алгоритм работы.
После включения, если отбора нет и температура в царге превышает 70С, то подается команда на постепенное закрытие крана до того момента, пока температура в дэфе не начнет расти. С момента начала роста температуры и до момента начала отбора кран более закрываться не будет, а то может получиться ситуация, отбора еще нет а температура уже начала расти, автоматика это не понимает и продолжает закрывать кран, в итоге, когда температура дойдет до своего значения, у нас получится не капельный а такой приличный отбор.
После начала отбора происходит определение и сравнение фактической скорости отбора с заданной скоростью за заданный нами интервал времени, если скорость отбора меньше заданной на 10% то кран чуть закроется, если отбор больше заданного на 10% то кран чуть откроется, причем, закрытие происходит более интенсивно чем открытие крана, основной упор по настройке сделан именно на вывод колонны на режим путем плавного закрытия крана а не его открытия. Если отбор превысит 30% то открытие крана будет более интенсивным, ну а после 40% совсем сильно открутит.
В случае, если значение температуры в царге превысит заданную нами дельту, то сработает клапан (если вы его поставили). В этот момент настройки крана не меняются, это сделано для того что бы не было путаницы, ведь в этот момент дэф охлаждается, отбор стоит а ардуино будет пытаться закрыть кран чтоб возобновить отбор, потом клапан закроется и у нас может возникнуть бешеный отбор. Такое у меня происходило при окончании отбора, когда спирта почти не осталось. Думаю в дальнейшем необходимо будет скорость отбора привязать к температуре в кубе, чем выше температура, тем меньше там спирта и тем меньше должен быть отбор.
При превышении температуры в кубе более 99 градусов также сработает пищалка.
Раньше еще была одна функция, когда пропадает сигнал от какого либо из датчиков более чем на 10 секунд то сработает тревога, запищит пищалка и остановится отбор, тут, на период отладки пока это убрал.
Еще есть управление шаговиком от кнопок влево и вправо соответственно.
Коротко о подключении
D2 - датчик t
D3 - пищалка
D12- клапан (можно подключить к любой из ардуино, работает на обоих)
А1 - DT весы
A2 - SCK весы
А0 - кнопки
Подключение дисплея думаю объяснять нет смысла.
не забудьте про калибровочный коф для весов HX711
работу второй ардуино объяснять не буду, к ней просто подключаем шаговик.
Также нужно две платы ардуино связать между собой через RX TX.
Последнее обновление скетча от 30/07/2017
В данном проекте использовано:
Ардуино микро - 2 шт.
весы HX711
реле -1шт
клапан воды -1шт
шаговый двигатель 28BYJ-48 с драйвером ULN2003
кран тонкой настройки от маленькой газовой горелки.
LCD щилд с клавиатурой 1602A
3 датчика температуры DS18B20
провода
корпус
сопротивление 4,7кОм
блок питания 5 вольт или связка - понижающий стабилизатор и блок питания на 12 вольт не менее 2а.
На главном меню в первой строчке отражается 4 значения: первое значение - это температура царги, второе - температура дэфа, третье- температура в кубе и последняя цифра это номер команды для второй ардуино что управляет приводом крана.
Вторая строчка: первое - это значение температуры при которой сработает клапан подачи дополнительной воды в дэф. Это значение можно менять кнопками вверх и вниз. Далее идет заданное нами максимальное значение веса и через дробь фактическое значение веса.
Если нажать селект то попадаем в следующее подменю:
1. Настройка максимального веса тары с жидкостью (при превышении этого значения сработает сигнал тревоги).
2. Настройка скорости отбора в миллилитрах в час. Можно задать от 40 до 1000 мл/час.
3. Настройка интервала времени через который необходимо смотреть сколько накапало в тару. определяется в секундах.
Перемещение по меню происходит кнопками влево и вправо, изменение значений кнопками вверх и вниз.
Возврат в главное меню через кнопку селект.
Алгоритм работы.
После включения, если отбора нет и температура в царге превышает 70С, то подается команда на постепенное закрытие крана до того момента, пока температура в дэфе не начнет расти. С момента начала роста температуры и до момента начала отбора кран более закрываться не будет, а то может получиться ситуация, отбора еще нет а температура уже начала расти, автоматика это не понимает и продолжает закрывать кран, в итоге, когда температура дойдет до своего значения, у нас получится не капельный а такой приличный отбор.
После начала отбора происходит определение и сравнение фактической скорости отбора с заданной скоростью за заданный нами интервал времени, если скорость отбора меньше заданной на 10% то кран чуть закроется, если отбор больше заданного на 10% то кран чуть откроется, причем, закрытие происходит более интенсивно чем открытие крана, основной упор по настройке сделан именно на вывод колонны на режим путем плавного закрытия крана а не его открытия. Если отбор превысит 30% то открытие крана будет более интенсивным, ну а после 40% совсем сильно открутит.
В случае, если значение температуры в царге превысит заданную нами дельту, то сработает клапан (если вы его поставили). В этот момент настройки крана не меняются, это сделано для того что бы не было путаницы, ведь в этот момент дэф охлаждается, отбор стоит а ардуино будет пытаться закрыть кран чтоб возобновить отбор, потом клапан закроется и у нас может возникнуть бешеный отбор. Такое у меня происходило при окончании отбора, когда спирта почти не осталось. Думаю в дальнейшем необходимо будет скорость отбора привязать к температуре в кубе, чем выше температура, тем меньше там спирта и тем меньше должен быть отбор.
При превышении температуры в кубе более 99 градусов также сработает пищалка.
Раньше еще была одна функция, когда пропадает сигнал от какого либо из датчиков более чем на 10 секунд то сработает тревога, запищит пищалка и остановится отбор, тут, на период отладки пока это убрал.
Еще есть управление шаговиком от кнопок влево и вправо соответственно.
Коротко о подключении
D2 - датчик t
D3 - пищалка
D12- клапан (можно подключить к любой из ардуино, работает на обоих)
А1 - DT весы
A2 - SCK весы
А0 - кнопки
Подключение дисплея думаю объяснять нет смысла.
не забудьте про калибровочный коф для весов HX711
работу второй ардуино объяснять не буду, к ней просто подключаем шаговик.
Также нужно две платы ардуино связать между собой через RX TX.
Последнее обновление скетча от 30/07/2017
ZagAl
Доцент
Прибалтика
1.9K 916
Отв.245 25 Июля 17, 15:38
anddin, Андрей, хотя у тебя система заработала, тем не менее почивать на лаврах рановато. Поэтому выскажу свои пожелания в дальнейшем совершенствовании алгоритма и программы.
Программу нужно разбить на части:
1)Прогрев колонны - анализируется температура в царге, подача воды в деф закрыта, мощность близкая к максимальной. Как только температура в царге достигнет 50 градусов (ориентировочно, потом можно подкорректировать), мощность переключается на рабочую, открывается подача воды в дефлегматор до необходимо-достаточной, чтобы колонна заработала на себя.
2)Работа колонны на себя (стабилизация) - мощность рабочая для конкретной колонны; подача воды в деф достаточно-необходимая, чтобы не было отбора - контроль по температуре выше дефа; фиксация стабильной температуры в царге и отсчет времени стабилизации. Если колонна работает на себя в ожидании смены тары, то время не засекается.
3)Отбор голов - мощность та же, подача воды в деф уменьшается до тех пор пока не стабилизируется температура выше дефа (мой вариант дефа), при этом она будет немного ниже температуры стабилизации колонны. Как только начнутся показания весов - рассчет скорости отбора голов и корректировка, если необходимо. Отбор необходимого количества голов контролируется по весам (можно и в разные емкости по желанию); увеличиваем подачу воды в деф до прекращения отбора - контроль по весам и термометру выше дефа. Работа на себя. Сообщение оператору на смену тары.
4)Отбор тела - мощность та же; подача воды в деф уменьшается; по весам устанавливается заданная скорость отбора; после того как скорость отбора установилась, контроль по температуре царги (предлагаю дельту 0,2); по достижению дельты величивается подача воды в деф - таким образом дойдем до прекращения отбора - контроль по весам и температуре выше дефа (будет падать). фактически колонна перейдет в состояние работы на себя, но в царге выше термометра еще будет спирт. Сообщение оператору на смену тары.
5)Отбор хвостов - подача воды в деф перекрывается, устанавливается мощность необходимая для отбора голов. Окончание по температуре в кубе.
И еще аварийные ситуации продумать можно будет. Нужно конечно еще обдумать.
У кого есть дополнения, замечания, исправления? Высказывайтесь, создадим сообща рабочий алгоритм, потом блоксхему.
Программу нужно разбить на части:
1)Прогрев колонны - анализируется температура в царге, подача воды в деф закрыта, мощность близкая к максимальной. Как только температура в царге достигнет 50 градусов (ориентировочно, потом можно подкорректировать), мощность переключается на рабочую, открывается подача воды в дефлегматор до необходимо-достаточной, чтобы колонна заработала на себя.
2)Работа колонны на себя (стабилизация) - мощность рабочая для конкретной колонны; подача воды в деф достаточно-необходимая, чтобы не было отбора - контроль по температуре выше дефа; фиксация стабильной температуры в царге и отсчет времени стабилизации. Если колонна работает на себя в ожидании смены тары, то время не засекается.
3)Отбор голов - мощность та же, подача воды в деф уменьшается до тех пор пока не стабилизируется температура выше дефа (мой вариант дефа), при этом она будет немного ниже температуры стабилизации колонны. Как только начнутся показания весов - рассчет скорости отбора голов и корректировка, если необходимо. Отбор необходимого количества голов контролируется по весам (можно и в разные емкости по желанию); увеличиваем подачу воды в деф до прекращения отбора - контроль по весам и термометру выше дефа. Работа на себя. Сообщение оператору на смену тары.
4)Отбор тела - мощность та же; подача воды в деф уменьшается; по весам устанавливается заданная скорость отбора; после того как скорость отбора установилась, контроль по температуре царги (предлагаю дельту 0,2); по достижению дельты величивается подача воды в деф - таким образом дойдем до прекращения отбора - контроль по весам и температуре выше дефа (будет падать). фактически колонна перейдет в состояние работы на себя, но в царге выше термометра еще будет спирт. Сообщение оператору на смену тары.
5)Отбор хвостов - подача воды в деф перекрывается, устанавливается мощность необходимая для отбора голов. Окончание по температуре в кубе.
И еще аварийные ситуации продумать можно будет. Нужно конечно еще обдумать.
У кого есть дополнения, замечания, исправления? Высказывайтесь, создадим сообща рабочий алгоритм, потом блоксхему.
anddin
Магистр
Астрахань
259 121
Отв.246 25 Июля 17, 16:52
почивать на лаврах рановатоZagAl, 25 Июля 17, 15:38Тут упрощенный вариант, он должен был только решить вопрос заработает или нет, ведь многие говорили что не получится.
Теперь можно точно сказать как можно заставить работать основную часть программы, а любые хотелки добавить это уже не долго.
Я специально хотел сделать легко повторяемый вариант, ведь чем больше человек его повторит, тем лучше можно развить все это.
Основная программа у меня уже более 1000 строк, там кстати есть разгон.
ZagAl
Доцент
Прибалтика
1.9K 916
Отв.247 25 Июля 17, 18:31
Основная программа у меня уже более 1000 строкanddin, 25 Июля 17, 16:52Вот это и пугает. Предлагаю все же идти по пути OldBean. Делать блочную систему с понятными и относительно короткими кодами. Каждый блок выполняет свою задачу. Ты же сделал сейчас на двух ардуинках, почему не продолжить в том же духе?
anddin
Магистр
Астрахань
259 121
Отв.248 26 Июля 17, 05:54
У меня получается три блока как ты и говоришь. Один блок это управление тэном, один управление мотором и последний блок где сидит основная программа. В головном блоке программа разделена на пять частей. Это основная часть программы и остальные четыре блока-это меню для каждого из режимов со своими настройками и условиями работы. Я понимаю, что если мой индийский код переработает специалист, то она станет намного меньше и проще. Основная работающая часть кода тут представлена, я выделил его из основной программы, ведь так его проще будет понять, далее любой может создать что хочет. Не все могут редактировать код, потому нужно будет создать готовый вариант для желающих, тогда такой проект будет развиваться.
Когда я делал пробный перегон, то выставление скорости отбора и интервала отбора были через компьютер, для упрощения пользования пришлось сделать подменю и только после этого я выложил код тут. Мне хотелось сделать простую программу для пользователя, чтоб поставил, настроил именно под себя и пользуешься.
Когда я делал пробный перегон, то выставление скорости отбора и интервала отбора были через компьютер, для упрощения пользования пришлось сделать подменю и только после этого я выложил код тут. Мне хотелось сделать простую программу для пользователя, чтоб поставил, настроил именно под себя и пользуешься.
anddin
Магистр
Астрахань
259 121
Отв.249 26 Июля 17, 06:19, через 26 мин
1)Прогрев колонныZagAl, 25 Июля 17, 15:38Разгон есть, разгон работает для всех режимов(далее режимы это головы, тело и тд). Мощность разгона в ватах задается оператором отдельно и хранится в памяти. Мощность тэна у меня 3квт и розетки такую мощность не выдерживают, поэтому и была реализована возможность ограничения максимальной мощности работы тэна. Режим разгона ориентируется на показания температуры царги (как Александр ты и говоришь), только я выставил 60 градусов, если меньше 60 то колонна еще долго разкачегаривается, если больше то инерция слишком большая.
Про подачу воды в дэф. Для себя я воду открываю сразу а не в процессе, мне так проще. Наверно лучше будет сделать в меню выбор для пользователя где он определит подать воду сразу или после прогрева.
Фактическая мощность работы тэна определяется ASC712 и выводится на экран в ватах, в ватах же и задается желаемая нами мощность, это намного удобнее и информативнее, хотя, кто работает с РМ2 давно приспособились и знают свои режимы.
anddin
Магистр
Астрахань
259 121
Отв.250 26 Июля 17, 06:25, через 6 мин
Работа колонны на себя (стабилизация)ZagAl, 25 Июля 17, 15:38У меня отдельной стабилизации пока нет. Когда я включаю колонну, то температуру дельты я просто ставлю ниже чем обычно, получается что колонна думает что залет и сама подает через клапан излишнюю воду в дэф, после прогрева и стабилизации температуры в царге, я выставляю дельту +0,5г и начинается отбор.
Работу стабилизации нужно обсудить чуть позже. сейчас нет времени.
anddin
Магистр
Астрахань
259 121
Отв.251 26 Июля 17, 06:41, через 16 мин
Отбор головZagAl, 25 Июля 17, 15:38Мощность отбора голов задаем отдельно, пусть 250 вт (так по крайней мере у меня), это значение будет храниться в памяти. Далее колонна будет закрывать кран пока не начнется отбор. Отбор выставляем примерно 50 мл/час. Еще выставляем для весов какой объем хотим получить и идем курить. При достижении заданного объема отбор остановится, колонна будет пищать.
Если честно, то отбор голов в автоматическом режиме у меня не работал, правда регулировка была мощностью тэна а не расходом воды. Фактически я делал так - просто выставил расход воды через дэф 1 капля в сек, далее подогнал мощность чтоб отбор голов был 1 капля в 3 секунды, задал для весов сколько должно накапать и пошел гулять, колонна работала сама по себе.
Позже я проверю и отлажу этот режим.
anddin
Магистр
Астрахань
259 121
Отв.252 26 Июля 17, 06:47, через 7 мин
Отбор телаZagAl, 25 Июля 17, 15:38На отборе тела мощность у меня выше, где-то 650-700 вт. Мощность я выставляю по тонометру, чтоб не меньше 2 делений, иначе просто не успевает вырабатываться достаточное количество спирта и колонна постоянно заскакивает за дельту.
Итак, выставляем мощность, выставляем скорость отбора, выставляем требуемый вес, выставляем дельту, вроде все. Все значения хранятся в памяти, выставить их нужно 1 раз, кроме дельты, ее выставлять нужно каждый раз, но это удобно реализовано на первой странице меню. Можно конечно сделать чтоб дельта определялась автоматически после стабилизации колонны, хотя мне нравится ручной режим.
anddin
Магистр
Астрахань
259 121
Отв.253 26 Июля 17, 06:51, через 4 мин
Отбор хвостовZagAl, 25 Июля 17, 15:38Мощность для хвостов выставляется равная мощности разгона, процесс останавливается по температуре в кубе. Я не отбираю хвосты, потому этот режим я пока не отрабатывал.
anddin
Магистр
Астрахань
259 121
Отв.254 26 Июля 17, 06:55, через 5 мин
аварийные ситуацииZagAl, 25 Июля 17, 15:38Если любой из датчиков температуры отвалился на более чем 10 секунд, то работа останавливается и начинает пищать пищалка.
Если температура в кубе превысила 99 градусов при режиме отбора тела, то работа останавливается и пищит пищалка.
Остальное не помню, нужно посмотреть.
Efisher
Кандидат наук
КБР07-Дивноморское123
359 114
Отв.255 26 Июля 17, 11:50
Режим разгона ориентируется на показания температуры царги (как Александр ты и говоришь), только я выставил 60 градусов, если меньше 60 то колонна еще долго разкачегаривается, если больше то инерция слишком большая.anddin, 26 Июля 17, 06:19При 50 гр в царге,температура в кубе~82гр.Разгон надо делать по кубовой температуре.Стабилизация-нужна.Тем более она легко контролируется процом.И не надо будет её каждый раз в ручную выставлять.
Отв.256 26 Июля 17, 11:58, через 8 мин
При 50 гр в царге,температура в кубе~82грEfisher, 26 Июля 17, 11:50Эти две величины никак не взаимосвязаны.
Разгон надо делать по кубовой температуре.Efisher, 26 Июля 17, 11:50При разной крепости навалки температура в кубе будет всегда разная. Абсолютно нет никакого смысла так делать.
Efisher
Кандидат наук
КБР07-Дивноморское123
359 114
Отв.257 26 Июля 17, 16:41
Эти две величины никак не взаимосвязаны.SA1348, 26 Июля 17, 11:58Сегодня перегонял СС и посмотрел эти значения и написал сюда.После твоего высказывания,поднял видео архив,примерно за два месяца.Там прослеживается эта зависимость.
При разной крепости навалки температура в кубе будет всегда разная. SA1348, 26 Июля 17, 11:58Это понятно,но нам то каким она боком.
Абсолютно нет никакого смысла так делать.SA1348, 26 Июля 17, 11:58Разгон надо делать по кубовой температуре.Нет не какого резона,разгонять по дэфу а работать по кубу.У меня на разгон стоит 76 гр,можно разгонять до 80 гр а после включать воду в дэф,так как в дэфе только 50 гр.
Esc
Профессор
Москва
2.1K 2.1K
Отв.258 26 Июля 17, 17:43
При 50 гр в царге,температура в кубе~82гр.Efisher, 26 Июля 17, 11:50Температура кипения кубовой жидкости зависит от крепости содержимого куба. Мол чем выше крепость навалки, тем при меньшей температуре она кипит. А на температуру в царге может повлиять множество причин ... в том числе и изменение погоды на Марсе.
Разгон есть, разгон работает..И как режим разгона смотрится в графическом виде.
... Режим разгона ориентируется на показания температуры царги ...
... я выставил 60 градусов, если меньше 60 то колонна еще долго разкачегаривается, если больше то инерция слишком большая.anddin, 26 Июля 17, 06:19
Добавлено через 22мин.:
Разгон надо делать по кубовой температуре. У меня на разгон стоит 76 грEfisher, 26 Июля 17, 16:41Крепость кубовой навалки разная. Значит и температура при которой закипит содержимое куба изменяется от погона к погону.
А теперь представь себя мыслительный процесс автоматики.
- Ага, вчера куб у меня вскипел, допустим при 76°С и я разгонную мощность понизила до рабочей;
- Сделаю и на сегодняшнем погоне то же самое;
- Нет, вы все таки растолкуйте мне, какого хрена хозяин кроет меня трехэтажным матом...
Глупышка все просто.
- Вчера у тебя была крепкая навалка и ее температура кипения была равна 76°С.
- Сегодня навалка менее крепкая и ее температура закипания, градусов эдак на десять выше...
Efisher
Кандидат наук
КБР07-Дивноморское123
359 114
Отв.259 26 Июля 17, 19:09
Да.Я не уточнил.Куб у меня 24 л а навалка до 20 л.Обычно от 18-20 л.АС в кубе от 3 до 3,5 л.На ректификацию уходит 16-18 час.Спиртуозность навалки,развожу-18 гр.Поэтому и значения практически одинаковые.Случай у меня был не хороший.Термометр дэфа по ошибки воткнул в ТСА.Как я вовремя заметил,я не знаю.Ну прям,чуть чуть осталось.С тех пор регулировка стоит по кубу.А там конструкция датчика,не перепутаешь.Вот на этой фотографии,видно датчик дэфа и куба.Если вам нравится температура по дэфу то надо предусмотреть в проге изменять датчик разгона.