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

Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация

Форум самогонщиков Основы
1 ... 6 7 8 9 10 11 12 ... 18 9
OldBean Доцент Красноярск 1K 1.4K
Отв.160  18 Дек. 16, 18:49
Что-то у меня не то с твоими вычислениями на давлении 50 тор. То-ли я накосячил, то-ли у тебя бага.Rudy
У меня вот что получается - см. скриншоты во вложении. А у тебя что?
van_Laar_Arduino_50mmHg.png
van_Laar_Arduino_50mmHg.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
van_Laar_Ubuntu_50mmHg.png
van_Laar_Ubuntu_50mmHg.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Rudy Академик Питер 5.8K 1K
Отв.161  18 Дек. 16, 19:39, через 50 мин
Ага, проверил и нашел свою багу - стоял вызов не той функции.
Посмотрел разницу с VLE-саlc (в отдельных точках) - вроде довольно прилично, по температуре порядка 0.5*С, по концентрации в паре - несколько сотых (молярная доля).

Но, по скорости, получается довольно медленно за счет поиска корня. Большой разницы с интерполяцией нет.

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

Может ты знаешь. Можно конечно самоучитель по VBA скачать... Но сам понимаешь...Чапаев1945, 18 Дек. 16, 18:40
Лучше скачать. Т.е. я что-то могу нарисовать в VBA, но его логика со мной абсолютно несовместима.
За каждую запятую приходится бороться с матом и дикими затратами времени. Нужно несколько дней, чтобы перекосячить мозги на этот кретинизм.
Чапаев1945 Научный сотрудник Петрозаводск 1.9K 1.4K
Отв.162  18 Дек. 16, 23:48
Rudy, понятно))) Тогда это на период свободного времени отложу. Сейчас в цейтноте полном. Смысл этого действа представляю, стратегию тоже, а вот воплощение и детали, нужно глянуть литературу. Еще раз повторюсь - языками не владею, поэтому буду с нуля))) Но... придется
За каждую запятую приходится бороться с матом и дикими затратами времени.Rudy, 18 Дек. 16, 19:39
ибо не привык к другому языку и буду воспринимать этот как базу))) Когда писал моды к любимой игре, разобрался в коде. Тут тоже постараюсь.
Тебе же спасибо за помощь. У нас просто очень разный уровень, я влезаю в область мне абсолютно несвойственную, но вот ведь парадокс необходимую... Поимей немного терпения и направь если пойду не тем путем)))) Пока тогда основной буду иметь тему по уточнению К рект. А остальное второй эшелон.

Esc Профессор Москва 2K 2K
Отв.163  16 Янв. 17, 11:18
... Во вложении варианты утилит для расчета концентрации спирта в паровой фазе и температуры кипения для бинарной смеси этанол - вода в зависимости от спиртуозности жидкой фазы и давления...
... скетч для ардуинок...
... Проверял на UNO...
... неплохо, если бы кто-нибудь попроверял на других моделях...OldBean, 18 Дек. 16, 16:14
И на других модельках ардуинок, табличка для 50мм.рт.ст. бьется с твоей.
zaymnaya_tablica.png
Zaymnaya_tablica. Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.


... И написал бы, если что не так...OldBean, 18 Дек. 16, 16:14
Сущий пустяк, ... лишняя "фи" в имени математической функции возведения в заданную степень.


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

Еще бы понять, как это применить на практике?
OldBean Доцент Красноярск 1K 1.4K
Отв.164  17 Янв. 17, 05:24
Esc, спасибо за информацию! В обычном Си буква f в конце функции из стандартной библиотеки (с math.h) подразумевает линковку функции с типом float, а без буквы - double. Видимо разработчики ардуино еще что-то лишнее наворотили? Для упрощения жизни одним программистам и усложнения другим :))))  А что, powf не линкуется?

Еще бы понять, как это применить на практике?Esc, 16 Янв. 17, 11:18
Можно попытаться реализовать алгоритм управления ректификацией по спиртуозности. Ну, для начала, может быть что-нибудь типа старт-стопа, только не по температуре, а по спиртуозности флегмы в нижней части колонны. Правда не знаю что из этого получится - сам еще не пробовал. Пока только такие совсем "сырые" задумки.
Kotische Академик Саратов 8.1K 2.5K
Отв.165  17 Янв. 17, 05:43, через 20 мин
В обычном Си буква f в конце функции из стандартной библиотеки (с math.h) подразумевает линковку функции с типом float, а без буквы - double.OldBean, 17 Янв. 17, 05:24
С буквой f - float,
С буквами lf - double,
Без букв - integer.
Не?
Esc Профессор Москва 2K 2K
Отв.166  17 Янв. 17, 09:39
Видимо разработчики ардуино еще что-то лишнее наворотили? Для упрощения жизни одним программистам и усложнения другим Улыбающийся)))  А что, powf не линкуется?OldBean, 17 Янв. 17, 05:24
Угу.
"Ардуиновский" компилятор понимает встроенную функцию pow.
oshibka_powf.png
Oshibka_powf. Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.

powf для него банальная переменная. А раз она не объявлена в нужной области - компилятор ругается.

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

Можно попытаться реализовать алгоритм управления ректификацией по спиртуозности. Ну, для начала, может быть что-нибудь типа старт-стопа, только не по температуре, а по спиртуозности флегмы в нижней части колонны. Правда не знаю что из этого получится - сам еще не пробовал. Пока только такие совсем "сырые" задумки.OldBean, 17 Янв. 17, 05:24

Я попробую пофантазировать, а ты да линейкой по моим шаловливым ручкам. Идет?

В твою утилитку с соответствующих датчиков вводим:
• Атмосферное давление;
• ИМХО наверное стоить учесть и давление в контролируемой точке колоны (например оттолкнувшись от кубового);
• По кубовой температуре вычисляем (кстати как?) переменную ха(мольная концентрация этанола в жидкой фазе, или раствор этанола в воде). Все переменные из кода предоставленного тобою чуть выше;

На выходе утилиты имеем:
• Значение переменной ya (мольная концентрация этанола в паре нижней части колонны). Которая нам в алгоритме управления особо и не нужна, просто приятный показометр;
• Значение переменной Tb (температура пара в колонне на интересующем нас участке);

Имея расчетные данные по температуре в "нижней части колонны" и реальные с температурного датчика в "нижней части колонны" мутим:
• простецкий старт-стоп (температура с датчика подошла к расчетной - стопорим отбор, опустилась - возобновляем);
• или плавно манипулируя ФЧ (например изменяя отбор продукта ШИМом) держим в низу колоны "правильную" спиртуозность пара (та же температура с датчика).

И предваряя вопросы: - "Мол, а зачем такой изврат, если есть проверенная веками, добрая дельта?"
ИМХО скажу: - "К сожалению дельта не учитывает изменчивое атмосферное давление".

А для солидности тисну реальный график мониторинга атмосферы во время двух, последовательных погонов браги (время погонов отметил на оси абсцисс).
atmosfernoe_davlenie.1.png
Atmosfernoe_davlenie. Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.

Что характерно?
Из-за низкой атмосферы температура кипения оставшейся в кубе воды естественно снизилась. Тупо, без попугая, дожидаясь заветных 100˚С, около получаса  дистиллировал в приемную емкость воду. Этот атмосферный глюк и сподвиг меня изменить алгоритм завершения погона бражки в моей автоматике. [сообщение #12916957]

OldBean Доцент Красноярск 1K 1.4K
Отв.167  17 Янв. 17, 13:18
С буквой f - float,
С буквами lf - double,
Без букв - integer.
Не?Kotische, 17 Янв. 17, 05:43
Не. Если говорить о стандартной библиотеке языка Си (не C++, а просто С, где мы подключаем заголовочный файл math.h), то там просто имя функции (например, pow, sin, exp и т.д.) означает double (и аргумент функции и возвращаемое значение), если постфикс f (например, powf, sinf, expf), то и аргумент и возвращаемое значение должно быть float, а l - означает long double. Целочисленных значений там нет (точнее, только для некоторых функций).

В C++ там иначе, там есть полиморфизм и такой проблемы не возникает. Имя одно и то же, без постфиксов. Компоновщик по типу аргумента уже сам подключает нужный вариант (тип) функции.

А вот как это реализовано в ардуинке - точно не знаю. Что там пришло на ум разработчикам? Про заголовочные файлы, похоже, они вообще гордо забыли. Поэтому и непонятно, что и как они подключают. Отдельно разбираться надо.

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

powf для него банальная переменная. А раз она не объявлена в нужной области - компилятор ругается.Esc, 17 Янв. 17, 09:39
Странно. У меня-то все собирается нормально (с powf). Одна гипотеза есть. Но сначала уточним - Вы в какой операционной системе (на рабочей станции) работаете?

ИМХО скажу: - "К сожалению дельта не учитывает изменчивое атмосферное давление".Esc, 17 Янв. 17, 09:39
Дельта действительно зависит от давления. Но, при колебаниях атмосферного давления в пределах разумного (для сохранения жизни на земле Улыбающийся))), зависит линейно и очень-очень слабо. Поэтому дельта - вполне приемлемый способ контроля. Другое дело, если дельта мала, а сами температуры не очень стабильны (скажем, датчики установлены неудачно). Управлять установкой при помощи малой разности двух относительно больших и зашумленных величин уже не так просто.

ИМХО, в управлении установкой не по температуре, а по спиртуозности что-то есть интересное. Но тут поэкспериментировать нужно - пока трудно судить какие грабли могут там валяться. Но в любом случае датчик атомосферного давления на установке - вещь полезная. Снимает много вопросов при непонятках. Как при дистилляции, так и при ректификации.
Kotische Академик Саратов 8.1K 2.5K
Отв.168  21 Марта 19, 23:27
Котище, глянь на такой вариантRudy, 24 Нояб. 16, 19:48

игорь223, я не знаю в чем могут быть сложности в работе именно с PDF-файлами,  ???
но, проверка Рудиной формулы посредством Exel-я дает довольно красивые цыфирки и графики.   Крутой
Лайфхак заключается только в том, что в самой формуле используется функция exp по натуральному основанию ( e=2.71828 ),
а ось Х масштабируется при помощи десятичного логарифма.  ::)

По оси Х - абсолютное давление в атмосферах (масштаб логарифмический).
По оси Y - температура в °С (масштаб линейный).

Сверил цыфирьки с калькулятором Руди, вроде бьются вполне прилично.  ;D

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

Graph1.png
Graph1.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Graph2.png
Graph2.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Graph1.png
Graph1.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Graph2.png
Graph2.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.

Книга1.xls 205.0 Кб
Vakum1.xls 205.5 Кб
игорь223 Академик таганрог 30.2K 20.6K
Отв.169  27 Марта 19, 16:51
Kotische, есть вопросы, точнее просьба.

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

2. Можно ли не в уродских атмосферах получить ФОРМУЛУ (график мне не нужен абсолютно), а в мм. рт. и температуру в гр. Цельсия.
И в линейном, а не в логарифмическом масштабе.

Просто формулу С=F(D)
где С - это температура кипения воды, в градусах Цельсия а D это давление, в мм. рт.?
в пределах 0-900 мм.рт. или 0-120кПа если угодно

П.С. Проверил формулу OldBean - она не бьется с данными импортного калькулятора, не бьется с новым калькулятором Руди - бьется со старым, который забракован.

OldBean, можешь ли ты поправить программу, в соответствии с более точными табличными данными?
Kotische Академик Саратов 8.1K 2.5K
Отв.170  27 Марта 19, 21:07
эксель не работает, везде пишет "имя" вместо цифр. Что включай макросы, что не включай.игорь223, 27 Марта 19, 16:51
Функция написана на VBA, по этому разрешать нужно не только макросы но и VBA.

Можно ли не в уродских атмосферах получить ФОРМУЛУигорь223, 27 Марта 19, 16:51
Чтоб было не в барах, а в мм.рт.ст нужно всего лишь поделить Р в мм на 750.062.

Дано:
   p - давление в [мм.р.ст.]

Промежуточные коэфициенты:
   X = Ln(p/750.062) / 2.3025850929940456840179914546844
   y0 = 276.746755631476
   A1 = 4.38311612462968
   t1 = -1.27045912745992
   s1 = 17.6509622174426
   A2 = 92.0915477688405
   t2 = -0.467303402782173
   s2 = 0.644728101630264

Конечная формула которую ты алчешь:
   Tкип.воды = y0 + A1 * Exp(-t1 * X) + A2 * Exp(-t2 * X) + s1 * X + s2 * X ^ 2 - 273.16

где Ln - натуральный логарифм, а Exp - экспонента т.е. е в степени

Вот тебе для проверки несколько значений по формуле:
P(бар)P(мм.рт)Tформ(°C)TCalc(°C)
0,10075,00645,52445.5233
0,11586,25748,27848.1045
0,12090,00749,12948.9649
0,13097,50850,74450.6856
0,140105,00952,25852.1127
0,150112,50953,68353.3935
0,200150,01259,79859.7971
0,300225,01968,91768.5961
0,400300,02575,77375.7718
0,500375,03181,32980.6649
Слева температура посчитана по формуле
справа по калькулятору Руди
ExcelSec.png
ExcelSec.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Kotische Академик Саратов 8.1K 2.5K
Отв.171  27 Марта 19, 22:55
Залез на сайт VLE-calc, взял из первоисточника данные для воды,
запихнул их в MSExcel и построил две апроксимации P(T) и T(P)

Вот тебе две формулы, для воды, которые ты так хотел:

P = Exp( 9,875587 - 2546,932/T - 425144/(T^2) )  
T = 1000/( 2,679512 - 0,205959*Ln(P) - 0,002989*Ln(P)^2 )
где T[°K], P[бар]

Вроде с калькулятором Руди неплохо бъется

Как ты помнишь:
T[°K] = 273,2 + T[°C]
P[мм.р.с] = 750,061246 * P[бар]
Exp() это экспонента, ex
Ln() это натуральный логарифм, по основанию e

А шоб совсем как ты хочешь:
P = 750,061246 * Exp( 9,875587 - 2546,932/(T+273,2) - 425144/((T+273,2)^2) )  
T = 1000/( 2,679512 - 0,205959*Ln(P/750,061246) - 0,002989*Ln(P/750,061246)^2 ) - 273,2

где T[°С], P[мм.рт.ст]

На втором скрине сделал проверку этих [°С]/[мм.рт.ст] формул. Вроде кузяво получилось.

ЗЫ: рекомендую считать функцию Т(Р) она даст большую точность чем Р(Т)
MyFormulas.png
MyFormulas.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Proverka.png
Proverka.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Kotische Академик Саратов 8.1K 2.5K
Отв.172  28 Марта 19, 20:11
Полазил по сайту VLE-calc
Нашел готовую формулу для воды (нижние 4 строки).
И не нужно мудохаться и интерполяцию по точкам строить!!!

Гы, если сравнить погрешность их формулы и их же данных,
то погрешность получается гораздо меньше, нежели у моей
интерполяционной формулы  Строит глазки Смеющийся
Screenshots_2019-03-28-21-11-44.png
Screenshots_2019-03-28-21-11-44.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Water1.png
Water1.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
m16 Научный сотрудник Тамбов 1.9K 1K
Отв.173  28 Марта 19, 21:05, через 54 мин
Залез на сайт VLE-calc, взял из первоисточника данные для воды,Kotische, 27 Марта 19, 22:55
всем хорош VLE-calc но смущает расчёт температуры кипения воды = 100.497°C  при атмосферном = 760мм ртути.
есть мысли?
Kotische Академик Саратов 8.1K 2.5K
Отв.174  28 Марта 19, 21:14, через 10 мин
при атмосферном = 760мм ртути.m16, 28 Марта 19, 21:05
Дык а кто сказал что атмосферное именно 760мм?  ::)
Water1.png
Water1.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Water1.png
Water1.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
Water1.png
Water1.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
m16 Научный сотрудник Тамбов 1.9K 1K
Отв.175  28 Марта 19, 21:36, через 23 мин
Дык а кто сказалKotische, 28 Марта 19, 21:14
к чему разговоры? это как бы аксиома - темп. кип. воды = 100°C при атм. давл. = 760мм ртути, не?
Kotische Академик Саратов 8.1K 2.5K
Отв.176  28 Марта 19, 21:57, через 21 мин
В химии стандартным атмосферным давлением с 1982 года по рекомендации IUPAC считается давление, равное 100 кПа[11]. Атмосферное давление является одной из наиболее существенных характеристик состояния атмосферы. В покоящейся атмосфере давление в любой точке равно весу вышележащего столба воздуха с единичным сечением.
В системе СГС 760 мм рт. ст. эквивалентно 1,01325 бар (1013,25 мбар) или 101 325 Па в Международной системе единиц (СИ).
https://ru.wikipedia.org/wiki/Атмосферное_давление

это как бы аксиомаm16, 28 Марта 19, 21:36
Это "мифы и легенды древней греции"  Смеющийся
Water1.png
Water1.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
m16 Научный сотрудник Тамбов 1.9K 1K
Отв.177  28 Марта 19, 22:13, через 16 мин
ок, 100кпа говоришь, пусть будет по твоему.  темп кип воды = 100.118°C при Р=100кпа. и что там в Греции?

ок-2, калькулятор Руди
water.jpg
Water. Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.
игорь223 Академик таганрог 30.2K 20.6K
Отв.178  28 Марта 19, 22:51, через 39 мин
Есть две таблицы, одна из Стабникова, вторая из импортного калькулятора.
Кое-где они сходятся, кое - где прилично отличаются.

Меня это уже порядком заебало, если честно; у меня в контроллере их уже две, грубо говоря и четвертая, и пятая версия калькулятора Руди.
И по какой мерять я не знаю, потому что нет калиброванного термометра под рукой...

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

Самое смешное, что твою формулу, Котище, мы забили в контроллер, и она показывает третьи значения, не попадающие ни в один, ни в другой калькулятор)))

А ту новую, что ты нашел, я даже не открывал, потому что она не та, которая мне нужна. Не С=F(t) и не в мм ртути а в барах(((

Что касаемо нормальных условий
kipenie_vodi.gif Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация
kipenie_vodi.gif Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.


с этим бьется как раз старый калькулятор

И на 10 мм ртути, и на 100мм ртути тоже бьется.
Блядь...придется включать куб с водой внутри...скажем на 10кпа, шоб долго не ждать...
игорь223 Академик таганрог 30.2K 20.6K
Отв.179  29 Марта 19, 00:08
Провел эксперимент.
Взял кастрюлю, налил воды, и начал кипятить на разных давлениях.
В качестве датчиков использованы:
- примерно калиброванный аналоговый промышленный китаец
- и автомобильный китаец, о котором расскажу чуть позже в другой ветке
В качестве термометра мой серийный ЭТС 223 с нулевым смещением (со склада)
Регулятор и термометр рисовали температуру, регулятор вычисленную по таблице старого калькулятора, термометр по факту в паре
Калькулятором вычислял значения по старому и новому (без галочки и с галочкой)

Вот что получилось

eksperiment.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация
eksperiment.png Теория фазового состояния водно-спиртовой смеси: температура, давление, концентрация. Основы.


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

Регулятор ошибся в одном измерении, НО! мой автомобильный датчик работает точно от 10 кПа, так что в том диапазоне ему не место. Хотя есть огрех видимо формулы, все же, но 0,3-0,4С терпимо
На моем рабочем диапазоне 10-30 кПа (и выше) разница между вычисленным регулятором и реального термометра, которому я ввел в мозг поправку 0,1С - практически нулевая.
По СТАРОМУ калькулятору Руди - разница в округлениях, грубо говоря и на нужды винокура не влияет.

Фух, неужели конец моим метаниям?!)))

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