Автоматическое управление ректификационной колонной своими руками. Автоматизация управления флегмовым числом домашней ректификационной колонны

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

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

Теория

Если объяснять просто, то принцип ректификации похож на обычную дистилляцию. Пары от нагрева ТЭНом поднимаются по колонне из перегонного куба и конденсируются в холодильнике . Отличие состоит в том, что при дистилляции в приемную емкость сразу отбирается вся жидкость, а при ректификации отбирается только небольшая часть, а остальное, сконденсированное дефлегматором , отправляется обратно в куб. В ректификационной колонне находится наполнитель (или тарелки) , так называемая насадка, которая увеличивает поверхность соприкосновения пара и жидкости. Таким образом по колонне снизу вверх идет пар, а сверху вниз идет жидкость. Данный процесс позволяет, в отличие от дистилляции, выстроить компоненты, содержащиеся в исходном спирте-сырце последовательно, и отобрать их по очереди в виде различных фракций через регулятор отбора .

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

Не вдаваясь в детали, среднестатический спирт-сырец состоит из трех основных групп веществ: головные фракции, товарный спирт, хвостовые фракции. Цель ректификации состоит в том, чтобы сначала отделить головные фракции, а потом отобрать товарный спирт, причем не допуская попадания в него хвостовых фракций. Головные фракции обычно отделяют, ориентируясь на их объем (5-10%) от общего количества спирта-сырца. Начало хвостовых фракций обычно контролируют с помощью термометра, находящегося в колонне снизу.

Несмотря на простоту процесса, на практике домашний винокур всегда сталкивается с частными вопросами, которые в итоге и определяют чистоту отобранного товарного спирта. Все эти вопросы в большинстве решаются двумя устройствами: регулятором мощности для точной установки паспортной мощности нагрева конкретной колонны и устройством отбора для обеспечения равномерного отбора продукта определенным способом.

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

Казалось бы достаточно пережимать силиконовый шланг отбора с разной силой, например с помощью зажима Гоффмана.

Но проблема в том, что силикон в контакте со спиртом постепенно начинает разбухать, тем самым меняется сечение, а следовательно и скорость отбора. Этих недостатков лишен игольчатый кран, но даже с ним, установить точную скорость отбора (до 1 мл/ч) несколько раз подряд не получится.

Этих недостатков лишены устройства отбора на основе электромагнитного клапана.


Клапан открывается и закрывается в ШИМ-режиме, т.е. через определенные промежутки времени, изменяя которые можно регулировать скорость отбора. Промежутки времени задаются очень точно, поэтому из раза в раз скорость отбора будет одинакова.


Кроме того, если головные фракции мы можем отделить, просто контролируя объем, то для контроля хвостовых фракций мы должны контролировать температуру в колонне. При отборе товарного спирта эта температура при правильно выбранной мощности нагрева, скорости отбора и достаточном утеплении колонны должна быть стабильна с точностью до 0.1 градуса цельсия. Повышение этой температуры означает, что из куба начинают прорываться хвостовые фракции. При этом отбор нужно прекратить, тем самым переводя колонну в режим максимального разделения, что в итоге отправит их обратно в куб, что приведет к возврату температуры к прежним значениям. Данная технология получила название старт-стоп. Данная операция требует постоянного присутствия оператора возле колонны, что мягко-говоря неудобно, учитывая то, что среднестатическая ректификация длится около 10 часов.

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

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

Практика

Ректификация состоит из следующих этапов

1. Установка времени работы на себя для стабилизации колонны
В системе предусмотрена установка времени работы на себя (счетчик), т.е. задержка на стабилизацию колонны для концентрации головных фракций вверху колонны, после которого начнется отбор головных фракций.

2. Отбор головных фракций
Принцип ШИМ-управления клапаном, как уже было описано ранее, позволяет абсолютно точно устанавливать любую скорость отбора каждый раз. Прибор оперирует шкалой от 0 до 999, где значением шкалы является время в секундах между открытиями клапана. Например при значении 10, между открытиями клапана пройдет 10 секунд. Время на которое приоткрывается клапан так же задается в настройках прибора в десятых долях секунды.
Обычно на практике, прежде чем переходить к отбору товарного спирта, оператору нужно отобрать определенный объем головных фракций. Система позволяет с помощью звукового излучателя контролировать на слух объем отобранных головных фракций. Т.к. скорость отбора всегда одинакова при одинаковых значениях шкалы отбора, то определенный объем отобранных головных фракций соответствует определенному количеству открытий клапана. Систему можно настроить таким образом, чтобы например через каждые 10, 20, 30 и т.д. раз открытия клапана, подавался сигнал. Например если установить, чтобы сигнал срабатывал через каждые 40 открытий клапана, то через 40 открытий система подаст один сигнал, через 80 открытий два сигнала, через 120 открытий 3 сигнала. Таким образом, на слух можно проконтролировать достижение необходимого объема головных фракций. Данная функция может быть отключена. Также могут быть отключены вообще все звуковые оповещения.

3. Отбор товарного спирта
После отбора головных фракций и смены тары, прибор переводится в режим отбора товарного спирта, при этом автоматически запоминается так называемая температура стабилизации, от которой и фиксируется отклонение температуры при прорыве хвостовых фракций. Необходимое отклонение (0.1, 0.2, и т.д. градусов) может задаваться в параметрах прибора. При фиксации выхода температуры за определенные оператором рамки, клапан запирается и система ждет возврата температуры в заданный диапазон, тем самым не допуская попадания хвостовых фракций в товарный спирт. В зависимости от настроек, если температура не возвращается в заданный диапазон, возможно как окончание отбора, так и снижение скорости отбора на определенное количество процентов (старт-стоп с декрементом).
Возможен также отбор с уменьшением скорости отбора пропорционально температуре куба. При данном методе отбора контролируется температура не в колонне, а в кубе. При увеличении температуры с определенного значения (задается пользователем) на каждые 0.1 градус, отбор будет уменьшаться на определенное оператором количество процентов. Например установив начало снижения отбора на 84 градуса и установив процент снижения отбора на 0.6 градусов, получим 96% снижение отбора к 100 градусам или 90% снижение отбора к 99 градусам. Температура, при которой отбор должен быть прекращен тоже настраивается оператором из соображений экономии электроэнергии.

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

Исходный код проекта (ATMEGA8 фьюзы )

#define F_CPU 16000000UL

#include
#include
#include
#include

unsigned char number = {

0x3f, //0
0x06, //1
0x5b, //2
0x4f, //3
0x66, //4
0x6d, //5
0x7d, //6
0x07, //7
0x7f, //8
0x6f, //9

0x00, // 10
0x40, //- 11
0x08, //6bup_ 12

0x23, //up 13
0x1c, //down 14
0x50, //r 15
0x58, //c 16
0x5e, //d 17
0x74, //h 18
0x63, //oup 19
0x5c, //o 20
0x6b, //Ob 21
0x54, //n 22
0x79, //E 23
0x36 //|| 24

char param_dot ={ 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0 };
int param_min = { 0, 0, 1, 0, 1, 1, 1, 1, 1, 80, 0, 0};
int param_max = { 999, 999, 3, 99, 99, 99, 99, 99, 99, 99, 99,99 };

unsigned char data1 = 0, data2 = 0, data3 = 0, fv = 0, fp = 0, fp2 = 0, fl = 0,
status = 0, mtype = 0, is_menu = 0, vcount = 0, fvz = 0, kk = 0, sf = 0, resbutt = 0, count = 0, jj = 0, pi, upState,
downState, OldState, NewState, isok = 0;
int x = 0, curr_temp = 0, temp_temp = 0, stab_temp = 0, tic_h = 0, xtic_voice =
0, xtic_sil = 0, tic_reg = 0, heads_kol = 0, tic_voice = 0, tic_sil = 0,
theads_kol = 0, total_kol = 0, temp_total_kol = 0, tic = 0,
tic_m = 0, kol_stop = 0, quadro = 0, t3pr = 0;
long tic_w = 0,vkoeff = 0, param, tparam,reg_k=1000;

unsigned int fparam EEMEM;

#define W1_PORT PORTC
#define W1_DDR DDRC
#define W1_PIN PINC
#define W1_BIT 3

ISR(TIMER1_OVF_vect) {
cli();

TCNT1H = 0xF9;
TCNT1L = 0xE4; //16mhz

if ((PINB & 0b00000001) == 1) {
resbutt++;
if (resbutt > 30) {
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
tic_w=0;
fvz = 0;
reg_k=1000;
pi = 2;
}
} else {
resbutt = 0;
}

if (quadro>0&¶m == 2&&pi > 14 && pi < 17&®_k > param*10&& stab_temp + param < curr_temp)
{
if (quadro>0)
{
quadro--;
}
if (quadro==0)
{
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
pi = 18;
}
}

if (isok > 0) {
isok--;
} else {
isok = 0;
}

if (fv == 1 && x > 0 && param < 99) {
if (tic_voice > 0) {
PORTC |= (1 << PC4);
tic_voice--;
} else {
PORTC &= ~(1 << PC4);
fv = 0;
tic_sil = 10;
}
}
if (fv == 0 && x > 0) {
if (tic_sil > 0) {
tic_sil--;
} else {
x--;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
}
}

if (x == 0) {
kk = 0;
fv = 0;
}

if (pi > 10) {
tic++;
}
if (pi == 13) {
tic_w++;
}
if (pi == 17) {
tic_reg++;
}

if (pi == 16&¶m<3) {
tic_h++;
if (tic_h > param * 60) {
if (param == 1) {
tic_h = 0;
pi = 18;
}
if (param == 2) {
reg_k = reg_k - param*10;
pi = 17;
x = 1;
xtic_voice = 30;
xtic_sil = 5;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;

if (reg_k <= param*10) {
tic_h = 0;
pi = 18;
}
}

}
if (pi == 0 || pi == 1) {
tic_m++;
if (tic_m > 40) {
tic_m = 0;
pi = pi + 14;
}
}

if ((vcount == 0 && pi == 14) | (vcount == 0 && pi == 0)) {
vkoeff++;
if (vkoeff < param) {
PORTC |= (1 << 5);
} else {
vcount = 1;
vkoeff = 0;
}

}
if ((vcount == 0 && pi > 14 && pi < 17) | (vcount == 0 && pi == 1)) {
vkoeff++;
if (vkoeff < param) {
PORTC |= (1 << 5);
} else {
vcount = 1;
vkoeff = 0;
}

if ((vcount == 1 && pi == 14) | (vcount == 1 && pi == 0)) {
vkoeff++;
if (vkoeff < param * 10) {
PORTC &= ~(1 << 5);
} else {
vcount = 0;
vkoeff = 0;
heads_kol++;
}

}
if ((vcount == 1 && pi == 15) | (vcount == 1 && pi == 1)) {
vkoeff++;

if (fvz == 0) {
if (param==3)
{
reg_k=1000-t3pr;
}
if (vkoeff < param * 1000 / reg_k) {
PORTC &= ~(1 << 5);
} else {
vcount = 0;
vkoeff = 0;
}

} else {
if (vkoeff < param * 30) {
PORTC &= ~(1 << 5);
} else {
vcount = 0;
vkoeff = 0;
fvz = 0;
}
}
}

if (pi == 19) {
PORTC |= (1 << 5);
}
if ((pi > 1 && pi < 14) || (pi > 16 && pi < 19)) {
PORTC &= ~(1 << 5);
}

ISR(TIMER0_OVF_vect) {
cli();

TCNT0 = 0xbc; //16mhz

PORTC &= ~((1 << 2) | (1 << 1) | (1 << 0));

if (count == 0) {
PORTD = number;
PORTC |= (1 << 0);
}
if (count == 1) {
PORTD = number;
PORTC |= (1 << 1);
if (param_dot == 1) {
PORTD |= (1 << 7);
}
if (param_dot == 0) {
PORTD &= ~(1 << 7);
}
}
if (count == 2) {
PORTD = number;
PORTC |= (1 << 2);
if (pi == 14) {
PORTD |= (1 << 7);
} else {
PORTD &= ~(1 << 7);
}
}
count++;
if (count == 3)
count = 0;

ISR(TIMER2_OVF_vect) {
cli();

if ((PINB & 0b00000001) == 1 && isok == 0) //
{

if (pi >= 2 && pi <= 11) {
pi++;
}

for (unsigned char pj = 2; pj < 12; pj++) {
if (param > tparam || param < tparam) {

}
}
}

jj = 0;
if (pi == 15 || pi == 16) {
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
pi = 14;
jj = 1;
}

if (pi == 14 && jj == 0) {
stab_temp = curr_temp;
pi = 15;
sf = 0;
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
}

if (pi == 19) {
kol_stop = 0;
pi = 2;
}

if (pi == 18) {
pi = 19;
}

NewState = PINB & 0b00000110;
if (NewState != OldState) {
switch (OldState) {
case 4: {
if (NewState == 6)
upState++;
if (NewState == 0)
downState++;
break;
}

case 0: {
if (NewState == 4)
upState++;
if (NewState == 2)
downState++;
break;
}
case 2: {
if (NewState == 0)
upState++;
if (NewState == 6)
downState++;
break;
}
case 6: {
if (NewState == 2)
upState++;
if (NewState == 4)
downState++;
break;
}
}
OldState = NewState;
}

if (upState >= 4) {
tic_m = 0;

if (pi <= 11) {
param++;
if (param > param_max) {
param = param_min;
}
}

if (pi > 13 && pi < 16) {
tic_m = 0;
param++;
if (param > param_max) {
param = param_min;
}

pi = pi - 14;
}

upState = 0;
}

if (downState >= 4) {
tic_m = 0;

if (pi <= 11) {
if (param == param_min) {
param = param_max;
} else {
param--;
}

if (pi > 13 && pi < 16) {
tic_m = 0;
if (param == param_min) {
param = param_max;
} else {
param--;
}

pi = pi - 14;
}

downState = 0;
}

void show_seg(int data, int literal) {
if (literal == 0) {
data3 = data / 100;
data2 = (data - data3 * 100) / 10;
data1 = (data - data3 * 100) % 10;
} else {
if (literal == 12) {
data3 = literal;
data2 = literal;
data1 = literal;
} else {
data3 = literal;
data2 = data / 10;
data1 = data % 10;
}
}

unsigned char w1_find() {
unsigned char device;
W1_DDR |= 1 << W1_BIT;
_delay_us(485);
W1_DDR &= ~(1 << W1_BIT);
_delay_us(65);
if ((W1_PIN & (1 << W1_BIT)) == 0x00)
device = 1;
else
device = 0;
_delay_us(420);
return device;
}

void w1_sendcmd(unsigned char cmd) {
< 8; i++) {
if ((cmd & (1 << i)) == 1 << i) {
W1_DDR |= 1 << W1_BIT;
_delay_us(2);
W1_DDR &= ~(1 << W1_BIT);
_delay_us(65);
} else {
W1_DDR |= 1 << W1_BIT;
_delay_us(65);
W1_DDR &= ~(1 << W1_BIT);
_delay_us(5);
}
}
}

unsigned char w1_receive_byte() {
unsigned char data = 0;
for (unsigned char i = 0; i < 8; i++) {
W1_DDR |= 1 << W1_BIT;
_delay_us(2);
W1_DDR &= ~(1 << W1_BIT);
_delay_us(7);
if ((W1_PIN & (1 << W1_BIT)) == 0x00)
data &= ~(1 << i);
else
data |= 1 << i;
_delay_us(50);
}
return data;
}

int temp_18b20() {
unsigned char data;
int temp = 0;
if (w1_find() == 1) {
w1_sendcmd(0xcc);
w1_sendcmd(0x44);
_delay_ms(750);
w1_find();
w1_sendcmd(0xcc);
w1_sendcmd(0xbe);
data = w1_receive_byte();
data = w1_receive_byte();
temp = data;
temp = temp << 8;
temp |= data;
temp = temp * 0.625;
if (temp > 0 && temp < 999) {
temp_temp = temp;
} else {
temp = temp_temp;
}
}
return temp;
}

DDRC |= (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);
DDRB |= (1 << 5) | (1 << 4);

DDRD = 0xff;
PORTD = 0xff;

TCCR0 = (1 << CS02) | (0 << CS01) | (1 << CS00);
TCCR1B = (1 << CS02) | (0 << CS01) | (1 << CS00);
TCCR2 = (1 << CS02) | (0 << CS01) | (1 << CS00);

TIMSK |= (1 << TOIE0);
TIMSK |= (1 << TOIE2);
TIMSK |= (1 << TOIE1);

TCNT1H = 0xF9;
TCNT1L = 0xE4; //16mhz

pi = 2;
mtype = 1;

< 12; pj++) {
param = eeprom_read_word(&fparam);
tparam = param;
}

PORTC &= ~(1 << PC5);

if (pi == 0||pi == 1) {
show_seg(param, 0);
}
if (pi < 12&&pi>1) {
show_seg(param, pi + 13);
}
if (pi == 12 || pi == 14) {
show_seg(curr_temp, 0);
}
if (pi == 13) {
show_seg(param * 6 - tic_w / 600, 0);
}
if (pi == 15&¶m<3) {
if (curr_temp >= stab_temp) {
if (curr_temp - stab_temp > 99) {
show_seg(99, 10);
} else {
show_seg(curr_temp - stab_temp, 10);
}

}
if (curr_temp < stab_temp) {
if (stab_temp - curr_temp > 99) {
show_seg(99, 11);
} else {
show_seg(stab_temp - curr_temp, 11);
}

}
}
if (pi == 15&¶m==3) {
show_seg(curr_temp, 0);
}
if (pi == 16) {
show_seg(param * 6 - tic_h / 10, 0);
}
if (pi == 17) {
show_seg(reg_k/10, 0);
}
if (pi == 18) {
show_seg(kol_stop, 0);
}
if (pi == 19) {
show_seg(888, 0);
}

if (tic > 10 && pi > 11) {
curr_temp = temp_18b20();
tic = 0;
}

if ((param<3&&curr_temp > 500 && pi == 12)||(param==3&&curr_temp > 800 && pi == 12)) {
x = 5;
xtic_voice = 10;
xtic_sil = 10;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
pi = 13;
heads_kol = 0;
theads_kol = 0;
kk = 0;
PORTB |= (1 << PB4);
}
if (param * 6 < tic_w / 600 && pi == 13) {
x = 2;
xtic_voice = 5;
xtic_sil = 10;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
pi = 14;
}

if (pi == 14) {
if (heads_kol % (param * 10) == 0
&& heads_kol > (param * 10 - 1) && kk == 0
&& heads_kol > theads_kol&& param>0) {
x = heads_kol / (param * 10);
xtic_voice = 5;
xtic_sil = 10;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
kk = 1;
theads_kol = heads_kol;
}

if (pi == 15 && stab_temp + param < curr_temp&¶m<3) {
PORTC &= ~(1 << PC5);
tic_h = 0;
vcount = 1;
vkoeff = 0;
fvz = 1;
if (sf == 0 && (param == 2 || param == 1)) {
pi = 16;
kol_stop++;
quadro = param*4*60;
}
sf = 1;
}
if (pi > 14 && pi < 17 && stab_temp + param >= curr_temp&¶m<3) {
sf = 0;
pi = 15;
}

if (pi == 17 && tic_reg > 30) {
tic_reg = 0;
pi = 15;
}

if (param==2&&pi > 14 && pi < 18 && stab_temp + param >= curr_temp) {
quadro=0;
}

if (param==3&&pi==15)
{
if (curr_temp {
t3pr=0;
}
if (curr_temp>=param*10&&curr_temp<=param*10)
{
t3pr=param*(curr_temp-param*10);
}
if (t3pr>1000||curr_temp>param*10||param>param)
{
pi=18;
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
}
}

if (pi == 18 && kk == 0) {
x = 1;
xtic_voice = 20;
xtic_sil = 5;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
kk = 1;
reg_k = 1000;
tic_w = 0;
fvz = 0;
PORTB |= (1 << PB5);

for (unsigned char pj = 0; pj < 2; pj++) {
if (param > tparam || param < tparam) {
eeprom_write_word(&fparam, param);
}
}
}

if (pi == 19) {
PORTB &= ~(1 << PB5);
}

}
return 0;

Принципиальная схема и внешний прибора.


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

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

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

Теория

Если объяснять просто, то принцип ректификации похож на обычную дистилляцию. Пары от нагрева ТЭНом поднимаются по колонне из перегонного куба и конденсируются в холодильнике . Отличие состоит в том, что при дистилляции в приемную емкость сразу отбирается вся жидкость, а при ректификации отбирается только небольшая часть, а остальное, сконденсированное дефлегматором , отправляется обратно в куб. В ректификационной колонне находится наполнитель (или тарелки) , так называемая насадка, которая увеличивает поверхность соприкосновения пара и жидкости. Таким образом по колонне снизу вверх идет пар, а сверху вниз идет жидкость. Данный процесс позволяет, в отличие от дистилляции, выстроить компоненты, содержащиеся в исходном спирте-сырце последовательно, и отобрать их по очереди в виде различных фракций через регулятор отбора .

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

Не вдаваясь в детали, среднестатический спирт-сырец состоит из трех основных групп веществ: головные фракции, товарный спирт, хвостовые фракции. Цель ректификации состоит в том, чтобы сначала отделить головные фракции, а потом отобрать товарный спирт, причем не допуская попадания в него хвостовых фракций. Головные фракции обычно отделяют, ориентируясь на их объем (5-10%) от общего количества спирта-сырца. Начало хвостовых фракций обычно контролируют с помощью термометра, находящегося в колонне снизу.

Несмотря на простоту процесса, на практике домашний винокур всегда сталкивается с частными вопросами, которые в итоге и определяют чистоту отобранного товарного спирта. Все эти вопросы в большинстве решаются двумя устройствами: регулятором мощности для точной установки паспортной мощности нагрева конкретной колонны и устройством отбора для обеспечения равномерного отбора продукта определенным способом.

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

Казалось бы достаточно пережимать силиконовый шланг отбора с разной силой, например с помощью зажима Гоффмана.

Но проблема в том, что силикон в контакте со спиртом постепенно начинает разбухать, тем самым меняется сечение, а следовательно и скорость отбора. Этих недостатков лишен игольчатый кран, но даже с ним, установить точную скорость отбора (до 1 мл/ч) несколько раз подряд не получится.

Этих недостатков лишены устройства отбора на основе электромагнитного клапана.

Клапан открывается и закрывается в ШИМ-режиме, т.е. через определенные промежутки времени, изменяя которые можно регулировать скорость отбора. Промежутки времени задаются очень точно, поэтому из раза в раз скорость отбора будет одинакова.

Кроме того, если головные фракции мы можем отделить, просто контролируя объем, то для контроля хвостовых фракций мы должны контролировать температуру в колонне. При отборе товарного спирта эта температура при правильно выбранной мощности нагрева, скорости отбора и достаточном утеплении колонны должна быть стабильна с точностью до 0.1 градуса цельсия. Повышение этой температуры означает, что из куба начинают прорываться хвостовые фракции. При этом отбор нужно прекратить, тем самым переводя колонну в режим максимального разделения, что в итоге отправит их обратно в куб, что приведет к возврату температуры к прежним значениям. Данная технология получила название старт-стоп. Данная операция требует постоянного присутствия оператора возле колонны, что мягко-говоря неудобно, учитывая то, что среднестатическая ректификация длится около 10 часов.

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

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

Практика

Ректификация состоит из следующих этапов

1. Установка времени работы на себя для стабилизации колонны
В системе предусмотрена установка времени работы на себя (счетчик), т.е. задержка на стабилизацию колонны для концентрации головных фракций вверху колонны, после которого начнется отбор головных фракций.

2. Отбор головных фракций
Принцип ШИМ-управления клапаном, как уже было описано ранее, позволяет абсолютно точно устанавливать любую скорость отбора каждый раз. Прибор оперирует шкалой от 0 до 999, где значением шкалы является время в секундах между открытиями клапана. Например при значении 10, между открытиями клапана пройдет 10 секунд. Время на которое приоткрывается клапан так же задается в настройках прибора в десятых долях секунды.
Обычно на практике, прежде чем переходить к отбору товарного спирта, оператору нужно отобрать определенный объем головных фракций. Система позволяет с помощью звукового излучателя контролировать на слух объем отобранных головных фракций. Т.к. скорость отбора всегда одинакова при одинаковых значениях шкалы отбора, то определенный объем отобранных головных фракций соответствует определенному количеству открытий клапана. Систему можно настроить таким образом, чтобы например через каждые 10, 20, 30 и т.д. раз открытия клапана, подавался сигнал. Например если установить, чтобы сигнал срабатывал через каждые 40 открытий клапана, то через 40 открытий система подаст один сигнал, через 80 открытий два сигнала, через 120 открытий 3 сигнала. Таким образом, на слух можно проконтролировать достижение необходимого объема головных фракций. Данная функция может быть отключена. Также могут быть отключены вообще все звуковые оповещения.

3. Отбор товарного спирта
После отбора головных фракций и смены тары, прибор переводится в режим отбора товарного спирта, при этом автоматически запоминается так называемая температура стабилизации, от которой и фиксируется отклонение температуры при прорыве хвостовых фракций. Необходимое отклонение (0.1, 0.2, и т.д. градусов) может задаваться в параметрах прибора. При фиксации выхода температуры за определенные оператором рамки, клапан запирается и система ждет возврата температуры в заданный диапазон, тем самым не допуская попадания хвостовых фракций в товарный спирт. В зависимости от настроек, если температура не возвращается в заданный диапазон, возможно как окончание отбора, так и снижение скорости отбора на определенное количество процентов (старт-стоп с декрементом).
Возможен также отбор с уменьшением скорости отбора пропорционально температуре куба. При данном методе отбора контролируется температура не в колонне, а в кубе. При увеличении температуры с определенного значения (задается пользователем) на каждые 0.1 градус, отбор будет уменьшаться на определенное оператором количество процентов. Например установив начало снижения отбора на 84 градуса и установив процент снижения отбора на 0.6 градусов, получим 96% снижение отбора к 100 градусам или 90% снижение отбора к 99 градусам. Температура, при которой отбор должен быть прекращен тоже настраивается оператором из соображений экономии электроэнергии.

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

Исходный код проекта (ATMEGA8 фьюзы )

#define F_CPU 16000000UL

#include
#include
#include
#include

Unsigned char number = {

0x3f, //0
0x06, //1
0x5b, //2
0x4f, //3
0x66, //4
0x6d, //5
0x7d, //6
0x07, //7
0x7f, //8
0x6f, //9

0x00, // 10
0x40, //- 11
0x08, //6bup_ 12

0x23, //up 13
0x1c, //down 14
0x50, //r 15
0x58, //c 16
0x5e, //d 17
0x74, //h 18
0x63, //oup 19
0x5c, //o 20
0x6b, //Ob 21
0x54, //n 22
0x79, //E 23
0x36 //|| 24

Char param_dot ={ 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0 };
int param_min = { 0, 0, 1, 0, 1, 1, 1, 1, 1, 80, 0, 0};
int param_max = { 999, 999, 3, 99, 99, 99, 99, 99, 99, 99, 99,99 };

Unsigned char data1 = 0, data2 = 0, data3 = 0, fv = 0, fp = 0, fp2 = 0, fl = 0,
status = 0, mtype = 0, is_menu = 0, vcount = 0, fvz = 0, kk = 0, sf = 0, resbutt = 0, count = 0, jj = 0, pi, upState,
downState, OldState, NewState, isok = 0;
int x = 0, curr_temp = 0, temp_temp = 0, stab_temp = 0, tic_h = 0, xtic_voice =
0, xtic_sil = 0, tic_reg = 0, heads_kol = 0, tic_voice = 0, tic_sil = 0,
theads_kol = 0, total_kol = 0, temp_total_kol = 0, tic = 0,
tic_m = 0, kol_stop = 0, quadro = 0, t3pr = 0;
long tic_w = 0,vkoeff = 0, param, tparam,reg_k=1000;

Unsigned int fparam EEMEM;

#define W1_PORT PORTC
#define W1_DDR DDRC
#define W1_PIN PINC
#define W1_BIT 3

ISR(TIMER1_OVF_vect) {
cli();

TCNT1H = 0xF9;
TCNT1L = 0xE4; //16mhz

If ((PINB & 0b00000001) == 1) {
resbutt++;
if (resbutt > 30) {
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
tic_w=0;
fvz = 0;
reg_k=1000;
pi = 2;
}
} else {
resbutt = 0;
}

If (quadro>0&¶m == 2&&pi > 14 && pi < 17&®_k > param*10&& stab_temp + param < curr_temp)
{
if (quadro>0)
{
quadro--;
}
if (quadro==0)
{
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
pi = 18;
}
}

If (isok > 0) {
isok--;
} else {
isok = 0;
}

If (fv == 1 && x > 0 && param < 99) {
if (tic_voice > 0) {
PORTC |= (1 << PC4);
tic_voice--;
} else {
PORTC &= ~(1 << PC4);
fv = 0;
tic_sil = 10;
}
}
if (fv == 0 && x > 0) {
if (tic_sil > 0) {
tic_sil--;
} else {
x--;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
}
}

If (x == 0) {
kk = 0;
fv = 0;
}

If (pi > 10) {
tic++;
}
if (pi == 13) {
tic_w++;
}
if (pi == 17) {
tic_reg++;
}

If (pi == 16&¶m<3) {
tic_h++;
if (tic_h > param * 60) {
if (param == 1) {
tic_h = 0;
pi = 18;
}
if (param == 2) {
reg_k = reg_k — param*10;
pi = 17;
x = 1;
xtic_voice = 30;
xtic_sil = 5;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;

If (reg_k <= param*10) {
tic_h = 0;
pi = 18;
}
}

}
if (pi == 0 || pi == 1) {
tic_m++;
if (tic_m > 40) {
tic_m = 0;
pi = pi + 14;
}
}

If ((vcount == 0 && pi == 14) | (vcount == 0 && pi == 0)) {
vkoeff++;
if (vkoeff < param) {
PORTC |= (1 << 5);
} else {
vcount = 1;
vkoeff = 0;
}

}
if ((vcount == 0 && pi > 14 && pi < 17) | (vcount == 0 && pi == 1)) {
vkoeff++;
if (vkoeff < param) {
PORTC |= (1 << 5);
} else {
vcount = 1;
vkoeff = 0;
}

If ((vcount == 1 && pi == 14) | (vcount == 1 && pi == 0)) {
vkoeff++;
if (vkoeff < param * 10) {
PORTC &= ~(1 << 5);
} else {
vcount = 0;
vkoeff = 0;
heads_kol++;
}

}
if ((vcount == 1 && pi == 15) | (vcount == 1 && pi == 1)) {
vkoeff++;

If (fvz == 0) {
if (param==3)
{
reg_k=1000-t3pr;
}
if (vkoeff < param * 1000 / reg_k) {
PORTC &= ~(1 << 5);
} else {
vcount = 0;
vkoeff = 0;
}

} else {
if (vkoeff < param * 30) {
PORTC &= ~(1 << 5);
} else {
vcount = 0;
vkoeff = 0;
fvz = 0;
}
}
}

If (pi == 19) {
PORTC |= (1 << 5);
}
if ((pi > 1 && pi < 14) || (pi > 16 && pi < 19)) {
PORTC &= ~(1 << 5);
}

ISR(TIMER0_OVF_vect) {
cli();

TCNT0 = 0xbc; //16mhz

PORTC &= ~((1 << 2) | (1 << 1) | (1 << 0));

If (count == 0) {
PORTD = number;
PORTC |= (1 << 0);
}
if (count == 1) {
PORTD = number;
PORTC |= (1 << 1);
if (param_dot == 1) {
PORTD |= (1 << 7);
}
if (param_dot == 0) {
PORTD &= ~(1 << 7);
}
}
if (count == 2) {
PORTD = number;
PORTC |= (1 << 2);
if (pi == 14) {
PORTD |= (1 << 7);
} else {
PORTD &= ~(1 << 7);
}
}
count++;
if (count == 3)
count = 0;

ISR(TIMER2_OVF_vect) {
cli();

If ((PINB & 0b00000001) == 1 && isok == 0) //
{

If (pi >= 2 && pi <= 11) {
pi++;
}

If (pi == 12) {

For (unsigned char pj = 2; pj < 12; pj++) {
if (param > tparam || param < tparam) {

}
}
}

Jj = 0;
if (pi == 15 || pi == 16) {
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
pi = 14;
jj = 1;
}

If (pi == 14 && jj == 0) {
stab_temp = curr_temp;
pi = 15;
sf = 0;
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
}

If (pi == 19) {
kol_stop = 0;
pi = 2;
}

If (pi == 18) {
pi = 19;
}

NewState = PINB & 0b00000110;
if (NewState != OldState) {
switch (OldState) {
case 4: {
if (NewState == 6)
upState++;
if (NewState == 0)
downState++;
break;
}

Case 0: {
if (NewState == 4)
upState++;
if (NewState == 2)
downState++;
break;
}
case 2: {
if (NewState == 0)
upState++;
if (NewState == 6)
downState++;
break;
}
case 6: {
if (NewState == 2)
upState++;
if (NewState == 4)
downState++;
break;
}
}
OldState = NewState;
}

If (upState >= 4) {
tic_m = 0;

If (pi <= 11) {
param++;
if (param > param_max) {
param = param_min;
}
}

If (pi > 13 && pi < 16) {
tic_m = 0;
param++;
if (param > param_max) {
param = param_min;
}

Pi = pi — 14;
}

UpState = 0;
}

If (downState >= 4) {
tic_m = 0;

If (pi <= 11) {
if (param == param_min) {
param = param_max;
} else {
param--;
}

If (pi > 13 && pi < 16) {
tic_m = 0;
if (param == param_min) {
param = param_max;
} else {
param--;
}

Pi = pi — 14;
}

DownState = 0;
}

Void show_seg(int data, int literal) {
if (literal == 0) {
data3 = data / 100;
data2 = (data — data3 * 100) / 10;
data1 = (data — data3 * 100) % 10;
} else {
if (literal == 12) {
data3 = literal;
data2 = literal;
data1 = literal;
} else {
data3 = literal;
data2 = data / 10;
data1 = data % 10;
}
}

Unsigned char w1_find() {
unsigned char device;
W1_DDR |= 1 << W1_BIT;
_delay_us(485);
W1_DDR &= ~(1 << W1_BIT);
_delay_us(65);
if ((W1_PIN & (1 << W1_BIT)) == 0x00)
device = 1;
else
device = 0;
_delay_us(420);
return device;
}

Void w1_sendcmd(unsigned char cmd) {
< 8; i++) {
if ((cmd & (1 << i)) == 1 << i) {
W1_DDR |= 1 << W1_BIT;
_delay_us(2);
W1_DDR &= ~(1 << W1_BIT);
_delay_us(65);
} else {
W1_DDR |= 1 << W1_BIT;
_delay_us(65);
W1_DDR &= ~(1 << W1_BIT);
_delay_us(5);
}
}
}

Unsigned char w1_receive_byte() {
unsigned char data = 0;
for (unsigned char i = 0; i < 8; i++) {
W1_DDR |= 1 << W1_BIT;
_delay_us(2);
W1_DDR &= ~(1 << W1_BIT);
_delay_us(7);
if ((W1_PIN & (1 << W1_BIT)) == 0x00)
data &= ~(1 << i);
else
data |= 1 << i;
_delay_us(50);
}
return data;
}

Int temp_18b20() {
unsigned char data;
int temp = 0;
if (w1_find() == 1) {
w1_sendcmd(0xcc);
w1_sendcmd(0x44);
_delay_ms(750);
w1_find();
w1_sendcmd(0xcc);
w1_sendcmd(0xbe);
data = w1_receive_byte();
data = w1_receive_byte();
temp = data;
temp = temp << 8;
temp |= data;
temp = temp * 0.625;
if (temp > 0 && temp < 999) {
temp_temp = temp;
} else {
temp = temp_temp;
}
}
return temp;
}

DDRC |= (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);
DDRB |= (1 << 5) | (1 << 4);

DDRD = 0xff;
PORTD = 0xff;

TCCR0 = (1 << CS02) | (0 << CS01) | (1 << CS00);
TCCR1B = (1 << CS02) | (0 << CS01) | (1 << CS00);
TCCR2 = (1 << CS02) | (0 << CS01) | (1 << CS00);

TIMSK |= (1 << TOIE0);
TIMSK |= (1 << TOIE2);
TIMSK |= (1 << TOIE1);

TCNT1H = 0xF9;
TCNT1L = 0xE4; //16mhz

Pi = 2;
mtype = 1;

< 12; pj++) {
param = eeprom_read_word(&fparam);
tparam = param;
}

PORTC &= ~(1 << PC5);

If (pi == 0||pi == 1) {
show_seg(param, 0);
}
if (pi < 12&&pi>1) {
show_seg(param, pi + 13);
}
if (pi == 12 || pi == 14) {
show_seg(curr_temp, 0);
}
if (pi == 13) {
show_seg(param * 6 — tic_w / 600, 0);
}
if (pi == 15&¶m<3) {
if (curr_temp >= stab_temp) {
if (curr_temp — stab_temp > 99) {
show_seg(99, 10);
} else {
show_seg(curr_temp — stab_temp, 10);
}

}
if (curr_temp < stab_temp) {
if (stab_temp — curr_temp > 99) {
show_seg(99, 11);
} else {
show_seg(stab_temp — curr_temp, 11);
}

}
}
if (pi == 15&¶m==3) {
show_seg(curr_temp, 0);
}
if (pi == 16) {
show_seg(param * 6 — tic_h / 10, 0);
}
if (pi == 17) {
show_seg(reg_k/10, 0);
}
if (pi == 18) {
show_seg(kol_stop, 0);
}
if (pi == 19) {
show_seg(888, 0);
}

If (tic > 10 && pi > 11) {
curr_temp = temp_18b20();
tic = 0;
}

If ((param<3&&curr_temp > 500 && pi == 12)||(param==3&&curr_temp > 800 && pi == 12)) {
x = 5;
xtic_voice = 10;
xtic_sil = 10;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
pi = 13;
heads_kol = 0;
theads_kol = 0;
kk = 0;
PORTB |= (1 << PB4);
}
if (param * 6 < tic_w / 600 && pi == 13) {
x = 2;
xtic_voice = 5;
xtic_sil = 10;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
pi = 14;
}

If (pi == 14) {
if (heads_kol % (param * 10) == 0
&& heads_kol > (param * 10 — 1) && kk == 0
&& heads_kol > theads_kol&& param>0) {
x = heads_kol / (param * 10);
xtic_voice = 5;
xtic_sil = 10;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
kk = 1;
theads_kol = heads_kol;
}

If (pi == 15 && stab_temp + param < curr_temp&¶m<3) {
PORTC &= ~(1 << PC5);
tic_h = 0;
vcount = 1;
vkoeff = 0;
fvz = 1;
if (sf == 0 && (param == 2 || param == 1)) {
pi = 16;
kol_stop++;
quadro = param*4*60;
}
sf = 1;
}
if (pi > 14 && pi < 17 && stab_temp + param >= curr_temp&¶m<3) {
sf = 0;
pi = 15;
}

If (pi == 17 && tic_reg > 30) {
tic_reg = 0;
pi = 15;
}

If (param==2&&pi > 14 && pi < 18 && stab_temp + param >= curr_temp) {
quadro=0;
}

If (param==3&&pi==15)
{
if (curr_temp {
t3pr=0;
}
if (curr_temp>=param*10&&curr_temp<=param*10)
{
t3pr=param*(curr_temp-param*10);
}
if (t3pr>1000||curr_temp>param*10||param>param)
{
pi=18;
PORTC &= ~(1 << PC5);
vcount = 1;
vkoeff = 0;
}
}

If (pi == 18 && kk == 0) {
x = 1;
xtic_voice = 20;
xtic_sil = 5;
tic_voice = xtic_voice;
tic_sil = xtic_sil;
fv = 1;
kk = 1;
reg_k = 1000;
tic_w = 0;
fvz = 0;
PORTB |= (1 << PB5);

For (unsigned char pj = 0; pj < 2; pj++) {
if (param > tparam || param < tparam) {
eeprom_write_word(&fparam, param);
}
}
}

If (pi == 19) {
PORTB &= ~(1 << PB5);
}

}
return 0;

Принципиальная схема и внешний прибора.

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

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

В качестве объекта управле­ния примем уста­новку для разделения бинарной смеси (рис. 3.1), состоящую из теплообменника для подогрева исходной смеси 1, тарельчатой ректификационной колонны 2, дефлегматора 3 и выносного кипятильника 4.

Ректификационная установка является сложным объектом управления с большим количеством параметров, характеризующих процесс, многочисленными взаимосвязями между ними, распре­деленностью их и т. д. Значительное время запаздывания объекта может приводить в отдельных случаях к тому, что выходные параметры процесса начнут изменяться после изменения параметров сырья лишь через 1–3 ч.

В объекте имеют место такие возмущения, как изменения температуры и состава исходной смеси, а также тепло- и хладоносителей, изменения свойств теплопередающих поверхностей из-за отложения веществ на стенках и т. д. Кроме того, на технологический режим ректификацион­ных колонн, устанавливаемых под открытым небом, влияют ко­лебания температуры атмосферного воздуха.

Показателем эффективности ректификации является состав целевого продукта. Зависимость показателя эффективности от пара­метров процесса может быть получена из уравнения материального ба­ланса и имеет вид

, (3.1)

где С д , С с , С о – концентрация компонента соответственно в дистил­ляте, исходной смеси и остатке; G c , G о – расход соответственно исходной сме­си и остатка. Анализ уравнения показывает, что концентрация С д зависит непосредственно от начальных параметров исходной смеси. С их изменением в процесс могут поступать наиболее сильные возмущения, в частности по каналу состава исходной смеси, так как ее состав определяется предыдущим технологическим процессом.

Расход исходной сме­си G c стабилизируется регулято­ром расхода 1 . Диафрагма и исполнительное устройство этого ре­гулятора должны быть установлены до теплообменника, так как после нагревания смеси теплообменником до температуры кипения поток жидкости может содержать паровую фа­зу, нарушающую работу датчика расхода.



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

Рассмотрим возможности регулирования режимных парамет­ров верхней (укрепляющей) части ректификационной колонны, которые непосредственно определяют состав дистиллята. Зависимость состава паров, выходящих из укрепляющей ча­сти колонны (а значит, и состава дистиллята), от других пара­метров процесса можно проследить по диаграмме (рис. 3.2).

Рис. 3.2. Диаграмма температура (t ) – концентрация низкокипящего ком-понента в жидкости (х ) и парах (у )

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

жидкости и давлением паров Р над жидкостью. В соответствии с правилом фаз для получения заданной концентрации у з следует поддерживать на определенном значении только два из перечисленных параметров, например давление Р и концентрацию х з .

Давление Р легко стабилизировать изменением расхода пара из колонны. Регулятор давления 6 (см. рис. 3.1) при этом устанавливают на линии хладоносителя, поступающего в дефлегматор, а не на шлемовой трубе, соединяющей верхнюю часть ректификационной колонны с дефлегматором. Это вызвано, в частности, тем, что при дросселировании пара в шлемовой трубе дефлег­матор начинает работать в режиме переменного давления, что неблагоприятно влияет на процесс конденсации.

Стабилизация давления в верхней части колонны необходи­ма не только для поддержания заданного состава целевого продукта, но и для обеспечения нормального гидродинамиче­ского режима колонны. Например, при увеличении давления снижается скорость парового по­тока и производительность установки, а при уменьшении давления мо­жет произойти «захлебывание» колонны, когда восходящий поток пара увлекает за собой стекающую по тарелкам жидкость.

Сравнительно просто регулировать также и концентрацию х изменением расхода флегмы: чем выше этот расход, тем боль­ше низкокипящего компонента будет в жидкости. Регулирующий орган регулятора расхода 4 при этом может быть установлен как на линии флегмы, так и на линии дистиллята, что равноценно. На практике часто изменением рас­хода флегмы регулируют как состав паров, так и непосредственно состав дистиллята. В качестве анализаторов состава в промышлен­ности используют хроматографы и газоанализаторы.

Итак, для достижения цели управления необходимо стабили­зировать давление и состав жидкости в верхней части колонны путем изменения расхода хладоносителя, поступающего в деф­легматор, и расхода флегмы. Качество регулирования этих па­раметров зависит от состава и скорости паров, движущихся из нижней исчерпывающей части колонны и определяемых ее тех­нологическим режимом – главным образом давлением, темпе­ратурой и составом жидкости в кубе колонны.

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

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

Регулирующие воздействия в нижней части колонны могут осуществляться изменением расходов кубового остатка и тепло­носителя, подаваемого в кипятильник. Если учесть, что один из них, а именно расход остатка следует использовать для под­держания материального баланса, т. е. для стабилизации уровня жидкости в кубе (регулятор уровня 5 ), то единственно возможным регулирующим воз­действием остается изменение расхода теплоносителя через кипятильник с помощью регулятора температуры 2 .

Таким образом, если целевым продуктом является дистил­лят, то для достижения цели управления необходимы следующие регуляторы: расхода исходной смеси - 1, температуры исходной смеси - 3, давления в верхней части колонны - 6, состава жидкости в верхней части ко­лонны - 4, температуры - 2 и уровня жидкости в кубе - 5.

Контролю под­лежат : расход исходной смеси, дистиллята, флегмы, остатка, тепло- и хладоносителей; состав и температура конечных про­дуктов; температура исходной смеси, тепло- и хладоносителя; уровень в кубе колонны; температура по высоте колонны, дав­ления в верхней и нижней частях колонны, а также перепад этих давлений.

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

Регулирование процесса при использовании кубового остат­ка в качестве целевого продукта. Кубовый остаток используют в качестве целевого продукта не реже, чем дистиллят. В этих случаях более жесткие требования предъявляют к поддержанию технологического режима в нижней части колонны, поэто­му в кубе колонны устанавли­вают датчик состава, а в верх­ней части – датчик температу­ры. Остальные узлы регулиро­вания типовой схемы остаются неизменными.

Регулирование параметров на контрольных тарелках. При большом числе тарелок восстановление нарушенного режима колонны из-за значительного запаздывания происходит лишь спустя длительный промежуток времени. В этом случае удобнее использовать в качестве регулируемой величины состав фракции на промежуточной тарелке, который изменяется значительно быстрее и сильнее (в 20–60 раз), чем состав продукта на выходе колонны.

Состав конечных продуктов при скачкообразном изменении расхода флегмы (рис. 3.3) изменяется слабо, поскольку кривые 1 и 2 почти совпадают вблизи крайних точек. В тоже время на средних контрольных тарелках исчерпывающей (точки А 1 и А 2) и укрепляющей (точки Б 1 и Б 2) частей колонны изменения состава значительны, где и следует устанавливать датчики соста­ва. Заметим, что все сказанное в отношении состава продуктов справедливо и для температур.

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

Для обеспечения заданного состава промежуточной фрак­ции на тарелке ее отбора необходимо поддерживать постоянный состав или температуру жидкости (постоянство дав­ления пара над тарелкой поддерживается регулятором давле­ния верхней части колонны). Наиболее часто регулирующее воздействие осуществ­ляется изменением расхода промежуточной фракции, возвра­щаемой в колонну.

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

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

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

На рис. 3.4 показан, в частности, узел регулирования со­става по разности температур кипения продукта и эталонной жидкости при постоянном давлении в исчерпывающей части ко­лонны.

В куб колонны непрерывно подается небольшое количество насыщенных паров эталонной жидкости – кубового остатка за­данного состава. В камере 3 они конденсируются; температура их измеряется термопарой. Другой термопарой измеряется тем­пература кипящей жидкости в колонне. Термопары соединены по дифференциальной схеме, и разность их термо-ЭДС подается на регулирующий прибор. Равенство давле­ний в кубе колонны и в камере 3 должно обеспечиваться малой длиной и достаточно большим диаметром (10–15 мм) соединительной трубки.

Регулирование давления в верхней части колонны. Типовой метод регулирования давления изменением расхода хладоносителя, подаваемого в дефлегматор, связан с большим запаздыванием, поэтому нашли применение и другие способы регули­рования (рис. 3.5).

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

Рис. 3.5. Схемы регулирования давления в верхней части колонны:

1 – колонна; 2 – дефлегматор; 3 – емкость; 4 – эжектор

Для регулирования давления используют метод байпасирования (рис. 3.5 б). В этом случае часть паров из колонны (до 10 %) перепускается помимо дефлегматора во флегмовую емкость и конденсируется там. Если запаздывание в системе регулирования давления надо свести к минимальному значению, то дроссе­лируют пары, выходящие из колонны. Оба способа требуют использования крупногабаритных паровых регулирующих орга­нов, что является их недостатком.

В случае полного отсутствия неконденсирующихся паров применяется метод регулирования давления изменением вели­чины поверхности конденсации в дефлегматоре. При уменьше­нии давления в колонне регулятор давления прикрывает кла­пан на линии слива конденсата из дефлегматора. При этом уро­вень конденсата повышается, поверхность конденсации уменьша­ется, и давление принимает заданное значение.

Если конденсация паров в дефлегматоре осуществляется за счет испарения хладагентов (аммиака, фреона и т. п.), то улучшение качества регулирования давления может быть до­стигнуто изменением расхода отводимых из дефлегматора па­ров хладагента. Это приводит к быстрому изменению давления и температуры кипения хладагента и, следовательно, интен­сивности испарения. Расход жидкого хладагента может из­меряться или по уровню в дефлегматоре (рис. 3.5 в), или по перегреву паров с помощью терморегулирующего вентиля.

Разрежение в вакуумных колоннах обычно регулируется из­менением подачи воздуха или инертного газа в линию между дефлегматором и паровым (водяным) эжектором (рис. 3.5 г).

Необходимо заметить, что, если возможны сильные измене­ния расхода хладоносителя, подаваемого в дефлегматор, во всех приведенных выше схемах наряду с узлом регулирования давления следует предусмотреть узел стабилизации расхода хладоносителя.

Каскадно-связанное регулирование. Ректификационные ко­лонны являются объектами управления с большими запаздыва­ниями, поэтому возмущения успевают существенно изменить режим всей колонны прежде, чем изменится состав целевых продуктов и начнется их компенсация основными регулятора­ми схемы. Улучшения качества управления процессом можно добиться введением дополнительных контуров регулирования.

Каскадно-связанное регулирование почти всегда применяют при регулировании состава конечных продуктов, что объясня­ется невысокой надежностью анализаторов состава. В качестве вспомогательного параметра при регулировании состава в верх­ней части колонны (или на контрольной тарелке) используют расход флегмы (рис. 3.6 а).

Рис. 3.6. Схемы регулирования состава дистиллята с помощью многоконтурных систем регулирования: 1 – колонна; 2 – дефлегматор

Если регулируют состав дистилля­та, то вспомогательным параметром лучше брать температуру на контрольной тарелке. Можно использовать и трехконтурную систему (рис. 3.6 б), в которой первым вспомогательным кон­туром будет регулятор температуры, а вторым – регулятор расхода.

Регулирование процесса в колонне с дефлегматором и кон­денсатором. Если температуры кипения компонентов смеси близки, конденсация паров, выходящих из колонны, осуществляется раздельно. В дефлегматоре конденсируется только вы­сококипящий компонент, конденсат отделяется в сепараторе от парожидкостной смеси и возвращается в колонну.

Пары низко­кипящего компонента проходят через дефлегматор и затем конденсируются в конденсаторе.

Чтобы в дефлегматоре конденсировался только вы­сококипящий компонент, необходимо поддерживать на опреде­ленном уровне температуру парожидкостной смеси, выходящей из дефлегматора. Для этого устанавливают регулятор темпера­туры (рис. 3.7), воздействующий на расход хладоносителя, подаваемого в дефлегматор. Давление в колонне стабилизируется путем изменения расхода хладоносителя в конденсаторе.

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