Автоматика дистилляции, "HDA-2000"
Hold
Специалист
Томск
129 89
Отв.40 12 Дек. 17, 07:14
Прошивку выложу, как только доведу автоматику хоть до какого-нибудь логического завершения. Пока немного сыровато. Дискавери изначально не рассматривал, слишком мало ног, не подключить "жирный" экран, мало оперативки, всего 8 МБайт. Да и висящие проводки не радуют совсем. К дискавери адаптировать вполне можно, проц то такой же, заработает без проблем.
Hold
Специалист
Томск
129 89
Отв.41 12 Дек. 17, 13:02
Накидываю страничку для второй "классической" перегонки на колонне (колонна + деф1750), в режиме старт-стоп. Задумался, а какие же параметры мне необходимо контролировать.
Если рассмотреть перегонку поэтапно, то выходит следующее:
1. Стандартный нагрев, штатное включение охлаждения при 50 градусах, все клапана отбора закрыты.
2. Закипели, снижаем мощу до рабочей 1500 Вт, ждём 30 минут, пока колонна войдёт в режим да и самая вонючка поднимется наверх.
3. Смотрим температуру в кубе, высчитываем спиртуозность, исходя из указанного вначале объема. Определяем объем голов (10-15% от АС).
4. Зная пропускную способность клапана, высчитываем время необходимое для отбора голов. Открываем клапан, стартуем таймер
5. Мучительно ждём отбора голов со скорость 80-100мл/ч.
9. ...
10. Отобрали головы, пора начать отбирать спирт. Запоминаем температуру в дефе, для работы старт-стопа. Работаем по заранее выставленной дельте (для примера пусть 0.1°С)
11. Открываем клапан тела, с пропускной способностью 1200 мл/ч
12. Следим за температурой в дэфе, работает старт-стоп:
Допустим в конце отбора голов в дефе установилась температура 80.0°С. При дельте в 0.1°С клапан закроется при 80.2°С, откроется при 80.0°С. Каждый "залет" снижает отбор на 5%.
13. Как только температура в кубе достигла 93°С, либо отбор уменьшился до 10% (порядка 120 мл/ч), считаем что всё тело отобрали. Клапан тела закрывается, открывается клапан хвостов опять же с отбором 1200мл/ч (хоть чуть-чуть да укрепим хвосты и вонючку лишнюю выкинем), мощность чутка накидываем до 1800Вт.
14. Теперь ждём, когда температура в кубе застабилизируется в течении некоторого времени, как при первой перегонке.
15. Штатно завершаем процесс.
Теперь вопросы - где я неправ?
Если рассмотреть перегонку поэтапно, то выходит следующее:
1. Стандартный нагрев, штатное включение охлаждения при 50 градусах, все клапана отбора закрыты.
2. Закипели, снижаем мощу до рабочей 1500 Вт, ждём 30 минут, пока колонна войдёт в режим да и самая вонючка поднимется наверх.
3. Смотрим температуру в кубе, высчитываем спиртуозность, исходя из указанного вначале объема. Определяем объем голов (10-15% от АС).
4. Зная пропускную способность клапана, высчитываем время необходимое для отбора голов. Открываем клапан, стартуем таймер
5. Мучительно ждём отбора голов со скорость 80-100мл/ч.
9. ...
10. Отобрали головы, пора начать отбирать спирт. Запоминаем температуру в дефе, для работы старт-стопа. Работаем по заранее выставленной дельте (для примера пусть 0.1°С)
11. Открываем клапан тела, с пропускной способностью 1200 мл/ч
12. Следим за температурой в дэфе, работает старт-стоп:
Допустим в конце отбора голов в дефе установилась температура 80.0°С. При дельте в 0.1°С клапан закроется при 80.2°С, откроется при 80.0°С. Каждый "залет" снижает отбор на 5%.
13. Как только температура в кубе достигла 93°С, либо отбор уменьшился до 10% (порядка 120 мл/ч), считаем что всё тело отобрали. Клапан тела закрывается, открывается клапан хвостов опять же с отбором 1200мл/ч (хоть чуть-чуть да укрепим хвосты и вонючку лишнюю выкинем), мощность чутка накидываем до 1800Вт.
14. Теперь ждём, когда температура в кубе застабилизируется в течении некоторого времени, как при первой перегонке.
15. Штатно завершаем процесс.
Теперь вопросы - где я неправ?
Esc
Профессор
Москва
2.1K 2.1K
Отв.42 12 Дек. 17, 15:55
2. Закипели, снижаем мощу до рабочей 1500 Вт, ждём 30 минут, пока колонна войдёт в режим да и самая вонючка поднимется наверх.ИМХО при таком подходе будем иметь немножко заниженную спиртуозность кубовой навалки. Ведь при работе "На себя" часть спирта покинет куб и переместится в колону.
3. Смотрим температуру в кубе, высчитываем спиртуозность, исходя из указанного вначале объема. Определяем объем голов (10-15% от АС).Hold, 12 Дек. 17, 13:02
10. Отобрали головы, пора начать отбирать спирт. Запоминаем температуру в дефе, для работы старт-стопа. Работаем по заранее выставленной дельте (для примера пусть 0.1°С)Hold, 12 Дек. 17, 13:02ИМХО, управление отбором по датчику в ДЕФе, не самый оптимальный вариант. Когда в ДЕФе дернется температура - пить боржоми поздно. Они, вонючки, уже в приемной емкости. Температурные прыжки стоит отлавливать заблаговременно. Где ни будь в начале колоны. Подчеркну если речь ведем о сахаре где "вкусности" отсутствуют.
12. Следим за температурой в дэфе, работает старт-стоп:Зачем внушать автоматике работать топорно?
Допустим в конце отбора голов в дефе установилась температура 80.0°С. При дельте в 0.1°С клапан закроется при 80.2°С, откроется при 80.0°С. Каждый "залет" снижает отбор на 5%.Hold, 12 Дек. 17, 13:02
ИМХО, "залетела" температура - долой 1%.
Hold
Специалист
Томск
129 89
Отв.43 13 Дек. 17, 13:27
В какой момент тогда определять спиртуозность в кубе? Можно по росту давления, которое начнется в момент накопления флегмы на тарелках, можно по датчику в дефе. Либо просто примерно прикидывать сколько флегмы влазит в колонну, и учитывать эту ошибку.
Датчики температуры попробую разместить снаружи колонны, есть пара идей как это сделать.
Пока накидывается примерно такая инфа:
Параметр Тстоп показывает температуру, по которой работает старт-стоп а список даёт возможность выбрать, этот датчик. В данном случае выбран датчик на первой (нижней) тарелке 375 колонны.
Датчики температуры попробую разместить снаружи колонны, есть пара идей как это сделать.
Пока накидывается примерно такая инфа:
Параметр Тстоп показывает температуру, по которой работает старт-стоп а список даёт возможность выбрать, этот датчик. В данном случае выбран датчик на первой (нижней) тарелке 375 колонны.
Esc
Профессор
Москва
2.1K 2.1K
Отв.44 13 Дек. 17, 15:14
В какой момент тогда определять спиртуозность в кубе? Можно по росту давления, которое начнется в момент накопления флегмы на тарелках, можно по датчику в дефе.Hold, 13 Дек. 17, 13:27Датчик в ДЕФе "понюхает" горячий пар самым последним. ИМХО температурный прыжок от вскипевшего куба стоит поручить отлавливать ближайшему к кубу датчику. Для ориентира отобразил и кривую кубового давления. Шкала давления правый игрек.
Hold
Специалист
Томск
129 89
Отв.45 13 Дек. 17, 15:21, через 8 мин
Насколько адекватно превышение за 70 ближайшего к кубу датчика определяет спиртуозность? Смотрю на график, и вижу, что давление также резко прыгает вверх, в момент закипания (пар начинает поспешно проталкиваться сквозь тарелочки). У вас система немного другая, с ПБ, показатели могут отличаться. Надо снимать свои данные, и вдумчиво анализировать.
Esc
Профессор
Москва
2.1K 2.1K
Отв.46 13 Дек. 17, 16:12, через 52 мин
Надо снимать свои данные, и вдумчиво анализировать.Hold, 13 Дек. 17, 15:21Так и было. Изначально контроллер был чисто показометром. Следующий шаг - научил конспектировать данные с датчиков. Проанализировал накопленную инфу, уговорил контроллер какие то вещи делать самостоятельно.
Hold
Специалист
Томск
129 89
Отв.47 18 Дек. 17, 09:44
Сделал вторую перегонку. В полу-автоматическом режиме, банально не успел допилить весь алгоритм. Автоматика умела лишь выходить на режим, работать на себя нужное время, включать отбор голов и работать по старт-стопу. В остальном пока было ручное управление, надо было всё проверить. Логов, к сожалению, не сохранилось, флешка умерла при копировании файлов на комп. Исправил ошибку со сбросом регулятора мощности (софтовый косяк), настроил наконец ПИД-регулятор по выходной температуре, теперь стабильно держит. Расход воды при вкачивании 1800 Вт и выходной температуре 40 градусов вышел около 0,5 л/мин, или 30 л/час. Пробовал ставить 45 градусов на выходе, остается малый запас, при 47-48 на выходе ТСА начинает нагреваться. Накопительную емкость так и не смонтировал до конца, зато поставил её жить под раковину, не занимает места.
Небольшое видео по управлению. Интерфейс еще в процессе доработки.
Небольшое видео по управлению. Интерфейс еще в процессе доработки.
PavelSaratov
Доктор наук
Саратов
622 80
Отв.48 18 Дек. 17, 21:32
Все жду не дождусь когда вылезу с этого объекта блин, где даже к почте доступа нет.. Посмотреть интересно внутреннюю программу. Или ты не отсылал? (я тебе сообщение в личке писал).
Hold
Специалист
Томск
129 89
Отв.49 19 Дек. 17, 06:42
Прошивку не высылал, сыровата еще. Как только доведу до рабочего, безглючного состояния, выложу первую бету для всех.
Hold
Специалист
Томск
129 89
Отв.50 23 Дек. 17, 21:00
Сегодня день рома, посему коробочка работает с самого утра. Для начала перегнала 2 бака мелассной браги по 22 литра в полностью автоматическом режиме, что дало 15л СС крепостью 29%. А сейчас трудится над второй перегонкой. Чутка расширил возможности, теперь сама определяет объем голов, в зависимости от объема куба и требуемых процентов голов от АС в кубе. Первая неполадка - барахлит второй насос. Автоматика это учуяла подключила резервный, регулятор всё равно держит температуру возле уставки. Насос изначально мне не нравился, работал чуть натужнее первого, включался при более высоком заполнении ШИМ. А тут всего 1500 Вт, охлаждение нужно по минимуму, вот он и работает с перебоями. Ищу замену насосов( хотя этих еще 4 шт в запасе), однако на такие малые расходы, порядка 1.5 л/м максимум толком ничего нет из не погружных.
Hold
Специалист
Томск
129 89
Отв.51 25 Дек. 17, 08:29
Вторая перегонка закончилась практически в автоматическом режиме. Не дописал алгоритм до конца, поэтому в конце, вручную задрал Тстопа и увеличил отбор до 1200 мл/ч, чтобы добрать все хвосты. Затем автоматика увидела стабильную температуру в кубе и завершила процесс. Лог процесса прикладываю. Есть некоторые баги по софту, доработаю в ближайшее время. Работой автоматики доволен, позволила выспаться и выдала 3 литра 95% спирта на ром. Длительность всего действа - 16:09:32
Немного графиков.
Нагрев куба, включение охлаждения, старт работы на себя:
Старт отбора голов, неисправность насоса охлаждения:
Старт отбора тела, работа старт/стопа, отбор хвостов и завершение:
Немного графиков.
Нагрев куба, включение охлаждения, старт работы на себя:
Старт отбора голов, неисправность насоса охлаждения:
Старт отбора тела, работа старт/стопа, отбор хвостов и завершение:
maxufax
Профессор
Уфа
3.5K 752
Отв.52 25 Дек. 17, 09:02, через 34 мин
Hold, во что обошлось полностью?
Hold
Специалист
Томск
129 89
Отв.53 25 Дек. 17, 09:04, через 3 мин
Честно говоря не считал. Но не так мало. Полный BOM можно посчитать, но это займёт время. По моим оценкам около 15-25 + несколько месяцев работы в свободное время.
maxufax
Профессор
Уфа
3.5K 752
Отв.54 25 Дек. 17, 09:08, через 5 мин
Терпимо!
Sany531
Кандидат наук
Саяногорск
397 137
Отв.55 25 Дек. 17, 11:10
Когда уже исходники будут? Удаленное управление типа веб будет?
Hold
Специалист
Томск
129 89
Отв.56 25 Дек. 17, 11:48, через 39 мин
Исходники будут, как только я смогу сказать самому себе, что мне не стыдно показать код общественности. Если интересуют отдельные модули - спрашивайте, всё обсуждаемо. Удаленного управления не будет, не планировал, хотя технически можно что угодно - Ethernet, WiFi, да хоть через GSM модуль по PPP.
Sany531
Кандидат наук
Саяногорск
397 137
Отв.57 25 Дек. 17, 17:11
У тебя там фритос? У тебя же там регулятора нет? Опрос по уарт сделан? В общем похоже и подсмотреть нечего
Hold
Специалист
Томск
129 89
Отв.58 25 Дек. 17, 17:57, через 46 мин
Эмс, какого регулятора нет и опрос чего по uart? Да, FreeRTOS стоит. Один ПИД-регулятор управляет охлаждением, второй регулятор управляет мощностью ТЭНа.
Sany531
Кандидат наук
Саяногорск
397 137
Отв.59 25 Дек. 17, 18:54, через 58 мин
Ну регулятор мощности отдельным контроллером похоже опрос ds18b20 по уарт или если не так как организовать в фри протокол 1 вае?