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

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

Форум самогонщиков Автоматика
1 ... 76 77 78 79 80 81 82 ... 132 79
nic2015 Магистр Феодосия 219 56
Отв.1560  20 Февр. 19, 08:45
Ну есть же зависимость температуры кипения сс  содержания спирта. Чистый кипит 78,3 вроде, 60 градусов другая температура.Если общий объём известен. Брать 10% на головы.
OldBean Доцент Красноярск 1K 1.4K
Отв.1561  20 Февр. 19, 10:17
Ну есть же зависимость температуры кипения сс  содержания спирта.nic2015, 20 Февр. 19, 08:45
ИМХО, это сильно упрощенный взгляд на природу кипения смесей...
Ну да ладно, к теме это не сильно относится. Не будем углубляться.
dimato Кандидат наук Волгоград 406 177
Отв.1562  20 Февр. 19, 10:37, через 21 мин
А температуру воды после дефлегматора Вы не контролируете? Ну если, допустим, помпа встала.OldBean, 20 Февр. 19, 07:58
Не для всех это подходит. У меня водопроводная вода и при отключение воды температурный датчик не реагирует, так как вода вся уходит и трубка пустая без воды. На ТСА срабатывает. По хорошему нужен датчик наличия воды.
Ну есть же зависимость температуры кипения сс  содержания спирта.nic2015, Сегодня, 08:45OldBean, 20 Февр. 19, 10:17
Он имел ввиду [сообщение #11786930]
ZagAl Доцент Прибалтика 1.9K 916
Отв.1563  20 Февр. 19, 11:58
4) как минимум один узел отбора с регулятором скорости отбора.OldBean, 20 Февр. 19, 06:35
OldBean, хочется чтобы было обращено внимание на то, что при паровом отборе после вертикально расположенного дефлегматора функцию узла отбора выполняет кран подачи воды в дефлегматор, управляемый шаговым (серво) двигателем. В идеале к этому нужен еще датчик скорости отбора (но руки ни как не доходят).
OldBean Доцент Красноярск 1K 1.4K
Отв.1564  20 Февр. 19, 16:42
У меня водопроводная вода и при отключение воды температурный датчик не реагирует, так как вода вся уходит и трубка пустая без воды. На ТСА срабатывает.dimato, 20 Февр. 19, 10:37
Видимо датчик у Вас действительно измеряет температуру только воды и никак не связан с самим дефлегматором. У меня же "водяной" термодатчик стоит прямо на выходном штуцере. Поэтому сразу же реагирует на исчезновение водяного охлаждения. И не важно, осталась там вода или утекла.

А ТСА - вещь, конечно, хорошая. Но у меня часто (в частности, при разгоне куба и отборе голов) трубка сильно разогревается от летучих. Иногда аж до 60-65°C. Блокировку на это время приходится тупо отключать. Такая температура иногда может и пару часов держаться (головы в это время, конечно, отбираются). А потом она довольно шустро снижается почти до комнатной. Блокировку можно включать. Но, во время, когда блокировка по ТСА отключена, желательно иметь что-нибудь дублирующее. У меня это датчик на выходном штуцере охлаждения и (сейчас) датчик давления в кубе.

Он имел ввиду [сообщение #11786930]dimato, 20 Февр. 19, 10:37
А... вон о чем речь... Я читал этот пост раньше. Но ведь по сути этот метод не имеет никакого отношения к головам как к примесям!. Речь-то идет просто об относительном отборе (в %) некоторого количества абсолютного спирта. Т.е. - "отобрать столько-то процентов АС", когда объем навалки неизвестен. Метод в общем-то хорош. Хотя, честно говоря, хорошим тоном у ректификаторов является, выполнение некоторых обязательных действий, перед тем, как закрыть куб и включить нагрев. Это: 1) измерить спиртуозность навалки, 2) измерить и привести к нейтральному ее pH, ну и 3) все-таки обратить внимание сколько ты ее туда бухнул ;)

хочется чтобы было обращено внимание на то, что при паровом отборе после вертикально расположенного дефлегматора функцию узла отбора выполняет кран подачи воды в дефлегматор, управляемый шаговым (серво) двигателем.ZagAl, 20 Февр. 19, 11:58
Так ведь клиенту абсолютно все равно каким образом производится отбор. Он "выше этого" ;) Он оперирует понятиями типа - "Установить такую-то скорость отбора!". И все! Ну ведь не зря же я столько времени талдычу про инкапсуляцию. А как конкретно обеспечить нужную скорость отбора - это уже задача контроллера шаговика/сервы и соответствующих драйверов (прошивок). Поэтому, для того, чтобы все работало правильно и с такими устройствами отбора, клиенту достаточно знать, что устройство данного типа - это тоже контроллер скорости отбора (как, например, электромагнитный клапан). И все.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.1565  20 Февр. 19, 18:11
По хорошему нужен датчик наличия воды.dimato, 20 Февр. 19, 10:37
По хорошему, датчик не "наличия", а "потока воды".
Конструкция много, по стоимости подобрать можно очень бюджетно. К примеру, лопастной, типа
 Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.


Или с крыльчаткой. Ссылку не даю, найдете: "Датчик движения жидкости YF-S201C 0.2-30 л/мин 1.75Mpa". В России он около 400р.

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


Он состоит из пластикового корпуса с резьбой, крыльчатки ротора с магнитом и датчика Холла на выходе. При движении воды через турбину, она начинает вращаться. Скорость вращения лопаток меняется в зависимости от потока воды. Соответственно датчик Холла выдает импульсы с разной скоростью.. Как сопутствующий функционал, можно замутить в клиенте счетчик расхода воды за сеанс. Подмигивающий
nic2015 Магистр Феодосия 219 56
Отв.1566  20 Февр. 19, 21:00
ведь по сути этот метод не имеет никакого отношения к головам как к примесям!OldBean, 20 Февр. 19, 16:42
Знаем сколько литров залили, по темп, кипения нашли спиртуозность и отбираем голов скажем 10% от количества спирта.
OldBean Доцент Красноярск 1K 1.4K
Отв.1567  21 Февр. 19, 02:37
и отбираем голов скажем 10% от количества спирта.nic2015, 20 Февр. 19, 21:00
Ну да. Невзирая на реальное количество головных примесей в отборе.
Увы, при отсутствии бытовых средств оперативного контроля химсостава спирта, ничего другого нам обычно и не остается. Натуральная "десятина", однако! ;)))

Помнится кто-то из ветеранов форума использовал датчик проводимости при отборе голов. Нужно посмотреть чем это все закончилось. Все-таки хоть какой-то контроль... ;)
Ну и еще, я бы не сбрасывал со счетов и повышение температуры ТСА при запуске колонны и отборе голов. Ее корреляция с головами однозначно есть. На относительно чистом спирте (вторичная ректификация) роста температуры ТСА нет. Чем больше оборотного спирта в навалке - тем меньше и короче подъем температуры в ТСА.
Возможно, в сочетании с проводимостью, температуру ТСА можно было бы как-нибудь использовать для индикации окончания отбора голов.
dimato Кандидат наук Волгоград 406 177
Отв.1568  21 Февр. 19, 07:38
BogAD, Присматривался я к таким датчикам. Но ребята на форуме жаловались на частые отказы и не надежность. Если ли у тебя опыт работы с этим датчиком?
температуру ТСА можно было бы как-нибудь использовать для индикации окончания отбора голов.OldBean, 21 Февр. 19, 02:37
Конструкция дефлегматора у всех разная. У меня она не много избыточна по мощности утилизации. И температура в ТСА всегда стабильна.
OldBean Доцент Красноярск 1K 1.4K
Отв.1569  21 Февр. 19, 08:51
У меня она не много избыточна по мощности утилизации. И температура в ТСА всегда стабильна.dimato, 21 Февр. 19, 07:38
Честно говоря, не знаю хорошо это или плохо - полностью возвращать низкокипящие примеси во флегму. Может быть лучше выпускать их на свободу подобру-поздорову. Спирт-то все равно полностью конденсируется в дефлегматоре.

Возможно мне просто повезло с этим дефлегматором от Добровара (NEW). Сама собой получилась дополнительная диагностика "на головы" ;))) В принципе, мощность любого дефлегматора можно отрегулировать так, чтобы на "головной" стадии он работал как своеобразный "фильтр", а не как 100%-й дефлегматор. Короче - подумать надо на эту тему.
ZagAl Доцент Прибалтика 1.9K 916
Отв.1570  21 Февр. 19, 11:22
Ну вот, вроде как и паровой отдбор намечается. По крайней мере голов.
OldBean Доцент Красноярск 1K 1.4K
Отв.1571  21 Февр. 19, 12:20, через 59 мин
Ну в определенном смысле - да.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.1572  23 Февр. 19, 12:46
...Тут, в новогодние каникулы как-то получилось, наконец, собрать китайский "конструктор" небольшого фрезера (CNC1610). Кстати, поуправлял я им как раз из той же малинки, которая занимается ректификацией. Очень понравилось наблюдать за его работой!!! Особенно - лазерная выжигалка на 5Вт!...OldBean, 02 Февр. 19, 07:06
Сергей, давно хочу попробовать сиё чудо китайской мысли.
Я к тебе с личным обращением, попробуй, справится ли лазер в 5 Вт для сжигания тонкого слоя краски.
Тут достойную идею подкинули для отказа от фоторезиста
https://habr.com/ru/post/365939/
OldBean Доцент Красноярск 1K 1.4K
Отв.1573  25 Февр. 19, 02:42
справится ли лазер в 5 Вт для сжигания тонкого слоя краскиBogAD, 23 Февр. 19, 12:46
Скорее всего справится.
5 Вт лазер - это вполне серьезная штука. Фанера прожигается сразу. А если остановить привод и лазер оставить включенным на полной мощности - просто вспыхивает и горит. Но, наверное, не всякая краска подойдет. У меня где-то был баллончик акриловой черной грунтовки - отрою - попробую на днях - расскажу. Тут есть небольшие (надеюсь) проблемы - нужно подобрать софт под Linux-ом для радиодел. Пока никак руки не доходят до этого станочка.

В принципе, платы можно делать и без химии - просто фрезеровать. По роликам вроде тоже неплохо получается.
OldBean Доцент Красноярск 1K 1.4K
Отв.1574  25 Февр. 19, 04:26
17.8.2. Утилита записи калибровочных данных в EEPROM - calibr.py

Утилита предназначена для записи калибровочных данных в EEPROM микроконтроллера выбранного устройства. Этот клиент БД redis очень простой и нужен довольно редко, но - "шобы был". Дружественность ПО - так дружественность ;) Как и другие приложения (типа cli_xxxx.py), данный клиент не общается с "железом" напрямую. Только через ДБ. Поэтому, помимо самой СУБД redis, в систем должен быть запущен синхронизатор lsync (про lsync.py см.здесь).

Вид окна утилиты, запущенной непосредственно на малинке, показан на рисунке ниже:
 Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.

Работа с утилитой очень проста. После загрузки приложения, в верхнем выпадающем списке Device необходимо выбрать устройство, для которого необходимо обновить калибровку. В списке находятся все устройства/модули системы, для которых предусмотрено использование калибровок.

После выбора устройства, необходимо ввести значения коэффициента, смещения в соответствующих полях ввода, выбрать единицу измерения, имеющую смысл для выбранного устройства и нажать кнопку "Update EEPROM"

Исходный текст клиента представлен ниже. Он также размещен в архиве в приложении к данному топику
Скрытый текст
#-------------------------------------------------------------------------------
# Клиент redis для записи калибровочных данных в EEPROM устройств
# OldBean, 19.02.2019
#-------------------------------------------------------------------------------
import tkinter as tk # Библиотека для создания GUI
from tkinter import ttk  
import redis # Для работы с СУБД redis

r = redis.StrictRedis() # Соединяемся с базой данных
devlst = [] # Список ключей и устройств с калибровками
keys = sorted(r.keys('ix*'))
dikeys = []
for key in keys: # Пробегаем по списку ключей
 fc = int(r.hget(key, b'fc')) # Код семейства устройства с данным ключем
 if fc in [0xA1, 0xA3, 0xA4, 0xA6, 0xA7]:
   devlst.append(key.decode()[1:] + ' - ' + r.hget(b'codes', fc).decode())
   dikeys.append(key)
units = [x.decode() for x in r.lrange(b'units', 0, -1)]

root = tk.Tk() # Основное окно
root.wm_title('calibr') # Заголовок
root.resizable(width = False, height = False) # Фиксированные размеры окна

ikey = None # Ключ выбранного устройства
def seldev(event): # Вызывается при выборе устройства (модуля)
 global ikey, coef, offset, ui
 ikey = ('i' + cbdev.get().split()[0]).encode() # Ключ устройства в БД
 vcoef.set(float(r.hget(ikey, b'coef')))
 voffset.set(int(r.hget(ikey, b'offset')))
 ui = int(r.hget(ikey, b'ui'))
 if ui < 0 or ui >= len(units): # Некорректные значения индекса
   ui = 0
 vunit.set(units[ui])

# Выпадающий список для выбора устройства
tk.Label(root, text = 'Device:', anchor = 'w').grid(column = 0,row = 0, sticky = tk.W)
cbdev= ttk.Combobox(width = 24, values = devlst, justify = tk.RIGHT)
cbdev .grid(column = 1,row = 0, sticky = tk.W)
cbdev.bind('<<ComboboxSelected>>', seldev)
# Поля (метка и редактируемое поле) для коэффициента
vcoef = tk.DoubleVar()
tk.Label(root, text='coef', anchor = 'w').grid(column = 0,row = 1, sticky = tk.W)
ecoef = tk.Entry(root, width = 24, textvariable = vcoef, justify = tk.RIGHT)
ecoef.grid(column = 1,row = 1, sticky = tk.W)
# Поля для установки смещения
voffset = tk.IntVar()
tk.Label(root, text='offset', anchor = 'w').grid(column = 0,row = 2, sticky = tk.W)
eoffset = tk.Entry(root, width = 24, textvariable = voffset, justify = tk.RIGHT)
eoffset.grid(column = 1,row = 2, sticky = tk.W)
# Выпадающий список для установки единицы измерения
tk.Label(root, text = 'Unit:').grid(column = 0,row = 3, sticky = tk.W)
vunit = tk.StringVar()
cbunit= ttk.Combobox(width = 24, textvariable = vunit, values = units,
                    justify = tk.RIGHT)
cbunit.grid(column = 1,row = 3, sticky = tk.W)

def updateeeprom(): # Запись калибровочный данных в EEPROM
 r.hset(ikey, b'coef', vcoef.get()) # Заносим данные в хэш данного устройства
 r.hset(ikey, b'offset', voffset.get())
 r.hset(ikey, b'ui', units.index(vunit.get()))
 r.rpush(b'mucal', ikey[1:]) # Добавляем устройство в очередь для обновления EEPROM
# Кнопка записи калибровочных данных в EEPROM
tk.Button(root, text = 'Update EEPROM', command = updateeeprom).grid(column = 0,
         row = 4, columnspan = 2)
root.mainloop()
#-------------------------------------------------------------------------------

PS
Исправил "теоретически" ;) пару строчек. Иначе на ни разу некалиброванных девайсах клиент ругнулся бы. У меня таких модулей уже просто нет - поэтому и пропустил этот нюанс.

Предыдущий топик  Вернуться к оглавлению  Следующий топик
screen_shot.png
screen_shot.png Ненавязчивая автоматизация ректификационной установки. Автоматика.

calibr.py.zip 1.5 Кб
calibr.py.zip 1.5 Кб
сообщение удалено
nic2015 Магистр Феодосия 219 56
Отв.1575  25 Февр. 19, 08:13
Приветствую всех. Сергей подскажите, датчик rms как то нужно теперь калибровать?
OldBean Доцент Красноярск 1K 1.4K
Отв.1576  25 Февр. 19, 13:09
датчик rms как то нужно теперь калибровать?nic2015, 25 Февр. 19, 08:13
Да. Если, конечно, хотите оперировать реальными вольтами.

Делается это очень просто.
1. Запускаете утилиту calibr.py, выбираете устройство - датчик RMS и устанавливаете коэффициент (coef) равным 1, а смещение (offset) в 0. Записываете это дело в EEPROM. С этого момента датчик RMS будет измерять сеть не в вольтах, а в среднеквадратичных кодах своего АЦП.
2. Теперь нужно измерить реальное RMS напряжения сети каким-нибудь "образцовым" вольтметром. В данной задаче нам не нужна высокая точность. Поэтому, в простейшем случае воткните вилку автоматики через какой-нибудь бытовой ваттметр с показометром напряжения сети или просто воткните в соседнюю розетку какой-нибудь вольтметр переменного наряжения. Запустите cli_0014. Он периодически измеряет сеть и показывает измеренное значение в самом низу на инструментальной панели. Только теперь он будет показывать не вольты, а коды.
3. Теперь поделите реальное напряжение сети (с ваттметра или вольтметра) на то, что показывает датчик RMS (т.е. на код в левом нижнем углу клиента cli_0014). Вы получите тот самый коэффициент (coef), который теперь еще раз будет нужно записать в EEPROM вместо единички. При помощи той-же утилиты calibr.py. Смещение так и оставьте нулевым.
Все.
OldBean Доцент Красноярск 1K 1.4K
Отв.1577  28 Февр. 19, 07:06
попробуй, справится ли лазер в 5 Вт для сжигания тонкого слоя краски.BogAD, 23 Февр. 19, 12:46
Попробовал. Справится.

Детали...

Разбираться с софтом было некогда. Но, поскольку формат файлов для ЧПУ довольно простой, для опытов просто написал G-файлик "вручную", в котором рисуется сантиметровый квадратик.

Из баллончиковой краски под рукой оказалась только черная акриловая грунтовка для черных и цветных металлов. Для данной задачи, скорее всего, это не лучший вариант (сильно прочная и адгезия хорошая). Но другой под рукой не оказалось.

Я поварьировал: высоту лазера над текстолитом, качество фокусировки и скорость перемещения. Мощность лазера, в данной версии драйверов, кажется, не регулируется. Или я не просто нашел как. Теоретически она должна была бы регулироваться изменением скорости вращения шпинделя. Но я не заметил разницы - похоже лазер всегда работал на максимальной мощности. Для данной задачи это не принципиально - подумаем на эту тему как-нибудь потом.

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

Остановился на последнем варианте (наклонный квадратик), где медь уже отчетливо видна. Расплывшаяся точка на этом квадратике - это место, где я окончательно настраивал фокусировку. С двоением по Y нужно разбираться. Либо это потому что текстолит не был закреплен, либо - пропуски шагов в начале. Вообще-то нужно будет как-нибудь пересобрать станочек "на чистовую". Каретка туговато ходит - нужно подложить шайбочки. Но для данной задачи это не важно. Поэтому не будем обращать на это внимание.

Какие выводы можно сделать:
1. Мощности лазера 5.5 Вт вполне хватает для такой технологии изготовления печатных плат. Нужно подобрать краску "полегче". BogAD, если у Вас есть какие-нибудь соображения и рекомендации на тип краски - говорите - попробую. Самому интересно стало. Я изначально ориентировался на фрезеровку. Но медь вязкая и сильно тянется. Поэтому для достижения приемлемого качества реза необходимы очень высокооборотисные шпиндели. Поэтому "родной" шпиндель скорее всего пришлось бы заменять. А тут вроде "качество реза краски" и края после потравы вполне приличные получаются без особых ухищрений.
2. Качество фокусировки китайского 5.5 Вт лазера и позиционирования (не менее китайкого) станочка позволяет работать с особенностями 0.1-0.2 мм. Для большинства любительских задач этого вполне достаточно.
3. Блокирующих травление следов краски вроде не наблюдается. См. второй и третий снимки. Второй снимок - после травления в хлорном железе. На просвет. Краска не смыта. Третий снимок - краска смыта, общий вид следов эксперимента ;) Для первого эксперимента, ИМХО, вроде бы неплохо.


1_до_травления.JPG
1_до_травления.JPG Ненавязчивая автоматизация ректификационной установки. Автоматика.
2_после_травления_на_просвет.JPG
2_после_травления_на_просвет.JPG Ненавязчивая автоматизация ректификационной установки. Автоматика.
3_краска_смыта.JPG
3_краска_смыта.JPG Ненавязчивая автоматизация ректификационной установки. Автоматика.
makh Профессор Sаmara 2.1K 1.1K
Отв.1578  05 Апр. 19, 02:32
По наводке 223-го поигрался с таким вот абсолютным датчиком давления -- https://www.aliexpress.com/...2612235010.html. Сильно понравилось. Заводская калибровка, диапазон от 1 до 120 КПа. Т.е. любой каприз самогонщика, от вакуума до эмульгации. И легко интегрируется в топик-автоматику, по I2C, или, если надо подлиннее провода, можно тиньку присоплить, прикинуться микролан-градусником. Бюджетнее и проще, чем барометр с дифференциальным..

dscf1790.jpg
Dscf1790. Ненавязчивая автоматизация ректификационной установки. Автоматика.
dscf1804.jpg
Dscf1804. Ненавязчивая автоматизация ректификационной установки. Автоматика.
OldBean Доцент Красноярск 1K 1.4K
Отв.1579  05 Апр. 19, 04:40
Да. Неплохая платка. Правда, если не залезать сильно глубоко в вакуумную дистилляцию (и наоборот), то и BMP180/280 можно приспособить.
А какое-нибудь защитное покрытие положили на электронику? Интересно бы оценить ресурс самой платки GY-68/63 в нехолодных водно-спиртовых парах. Не ржавеет?