Re: Модульная ректификационная колонна на клампах
Обсуждали уже.
Да, я просто внимание хотел еще раз привлечь, может кто-нибудь все-таки встречал подобные оценки.
Форум самогонщиков, винокуров, виноделов, пивоваров, бондарей и очень хороших людей |
Назад 1 … 12 13 14 15 16 … 25 Следующая
Чтобы отправить ответ, вы должны войти или зарегистрироваться
с 261 по 280 из 486
Обсуждали уже.
Да, я просто внимание хотел еще раз привлечь, может кто-нибудь все-таки встречал подобные оценки.
st, можно поискать в яндексе, я реализацию такой колоны уже видел, только на спн. И хроматограммы приведены по ГОСТу на спирт. Имхо при правильной укладке мочалки не хуже спн.
al, народ массово скупает РМ-ки, ставит диоптры, ловит предзахлеб с точностью до вольта. Зачем?
Мне изначально этот вопрос был интересен в контексте короткой царги, чтоб хвосты держать максимально долго внизу.
чтоб хвосты держать максимально долго внизу.
А что делать с крайним объемом спирта заполняющем колонну при эмульгации? Отходы были всегда и будут, нам от них никуда не деться.
al, там спирта не очень много. Половина трубы (грубо)- это пар, половина- жидкость. Спиртуозность жидкости от 45% до 95%, т.е. в среднем 70% (опять грубо)
0,165*0,165*3,14*7=0,6л - объем трубы (35мм, 70см)
0,6*70%/2= 0,2л АС
При этом в кубе 17% СС. Так что отходы, а точнее переработка могут оказаться разными.
Saks, только сегодня увидел Мой долгострой - Рк с вертикальным дефлегматором,царга 42 мм
Очень перекликается...
Очень перекликается
Да,есть такое.Собственно делать её не собирался,так как уже была медная,хорошо работающая колонна.Да как-то сидели с товарищем булькали,а у него простой дистиллятор есть,остался по наследству от отца. И он начал поднывать:"вот бы мне такую колонну,да не умею паять,не умею с железом обращаться".Я ему объяснил,что можно подкупить железа и с минимум сварки или пайки сделать колонну.Вот так она и родилась.
Кстати, очень и очень ей доволен.Работаю на ней с зерновой и фруктовой с одной царгой 900 мм. Предзахлеб предсказуем и очень управляем.
Если сахарная,ставлю вторую царгу или достаю медную колонну.Царга на ней не разборная 1700 мм.
идею с колонной 4м обсуждали... Я, кстати, от этой идеи еще не отрекся
Danil, дай ссылку, не могу найти.
Kusnezov Oleg, да чет я и сам не найду...
Мы в основном в личке с Артемом обсуждали.
Начитавшись неких описаний, представленных коллегой, про ручейковый режим работы колонны и про то, что "флегма «выстраивается» по фракциям в соответствии со своей температурой кипения – вверху относительно холодно-кипящие, внизу горяче-кипящие...",
решил в своей теме выложить две цитаты.
Первая, уже была неоднократно, но еще раз:
В.Н.Стабников
Вторая:
В.Л. Яровенко
Не нашел подходящую тему. Решил в своей отчитаться.
Обсуждали прошивки DS18B20:
попадались датчики с настройкой с шагом 0.5С
После можно попробовать добавить:
ds.reset()
ds.write(0XCC)
ds.write(0X48);// Запись настроек в EEPROM
Попробовал - все прекрасно прошивается в EEPROM, написал небольшую программку. Программировать я не умею. Но, вроде, работает, - как иллюстрация сгодится.
// Прошивка датчика DS18B20 средствами библиотеки OneWire.
// Запись в энергонезависимую память разрешения и температуры аварии NL TH.
// Должен быть подключен 1 датчик DS18B20 (с резистором).
//
// !!! Нужно ввести свои значения
//
//======================================================
byte newResol = 12; // можно установить 12,11,10, или 9 соответствует 0.0625,0.125, 0.25, 0.5.
int newTemp_Th = 94; // верхняя ALARM температура -127...127
int newTemp_Tl = 71; // нижняя ALARM температура -127...127
//======================================================
#include <OneWire.h>
#define pinDS 15 // задаем пин подключения датчика
OneWire ds(pinDS);
int oldTemp_Th = 127;
int oldTemp_Tl = -127;
int key = 0;
bool flagWrite = false;
byte oldResol;
byte i;
byte data[12];
byte addr[8];
byte ThNew ; // Th контроль температуры
byte TlNew ; // Tl контроль температуры
byte configNew ; // байт конфигурации
void setup(void) {
Serial.begin(9600);
Serial.println (newTemp_Tl, BIN);
Serial.println (TlNew, BIN);
Serial.println (newTemp_Tl);
Serial.println (TlNew);
ds.reset_search();
while (!ds.search(addr)){ // пока датчик не обнаружен
Serial.println("NO SENSOR");
ds.reset_search();
delay(250);
}
// Если датчик обнаружен выводим
Serial.print("SENSOR ");
for( i = 0; i < 8; i++) {
// Serial.write(' ');
Serial.print(addr[i], HEX);
}
Serial.println();
ds.reset();//сброс шины
ds.write(0xCC); // пропустить поиск по адресу - одно устрйоство
ds.write(0xB8); // копировать EEPROM в Scratchpad
delay (10);
ds.reset();
ds.write(0xCC); // пропустить поиск по адресу - одно устрйоство
ds.write(0xBE); // читаем энергозависимую Scratchpad
Serial.println( " OLD CONFIG Scratchpad ");
Serial.println( " HEX BIN ");
Serial.print(" ");
for ( i = 0; i < 12; i++) {
data[i] = ds.read();
Serial.print(data[i], HEX); Serial.print(" ");Serial.println(data[i], BIN);
Serial.print(" ");
}
Serial.println();
byte configR = data[4];
byte th8 = data[2] ;
byte tl8 = data[3];
bool signtl = (bool((1 << 7) & tl8));
bool signth = (bool((1 << 7) & th8));
th8 &= ~(1 << 7);
tl8 &= ~(1 << 7);
if (signth) oldTemp_Th = -1 * (int)th8;
else oldTemp_Th = (int)th8;
if (signtl) oldTemp_Tl = -1 * (int)tl8;
else oldTemp_Tl = (int)tl8;
if (configR & (1 << 5)) { // в 5 бит вписана единица
if (configR & (1 << 6)) { // в 6 бит вписана единица
oldResol = 12;
}
else{
oldResol = 10;
}
}
else { // в 5 бит вписан ноль
if (configR & (1 << 6)) { // в 6 бит вписана единица
oldResol = 10;
}
else {
oldResol = 9;
}
}
// Готовим новые параметры
// пересчет температуры
if ( (newTemp_Th > 127)| (newTemp_Th < -127)| (newTemp_Tl > 127)| (newTemp_Tl < -127)) {
Serial.println("ERR USER ALARM TEMPERATURE - ONLY -127 ... 127");
Serial.println("STOP PROGRAMM");
return;
}
if (newTemp_Th < 0 ) {
ThNew = (-1) * newTemp_Th;
ThNew |= (1 << 7);
}
else {
ThNew = newTemp_Th;
ThNew &= ~(1 << 7);
}
if (newTemp_Tl < 0 ) {
TlNew = (-1) * newTemp_Tl;
TlNew |= (1 << 7);
}
else {
TlNew = newTemp_Tl;
TlNew &= ~(1 << 7);
}
// пересчет разрешения
if ( (newResol > 12) | (newResol < 9) ) {
Serial.println("ERR - USER RESOLUTION ONLY 9,10,11,12 ");
Serial.println("STOP PROGRAMM");
return;
}
switch (newResol) {
case 12:
configNew = configR;
configNew |= (1 << 5);// единица в пятый
configNew |= (1 << 6);// единица в шестой
break;
case 11:
configNew = configR;
configNew &= ~(1 << 5);// ноль в пятый
configNew |= (1 << 6); //единица в шестой
break;
case 10:
configNew = configR;
configNew &= ~(1 << 6);// ноль
configNew |= (1 << 5); //единица
Serial.println(configNew,BIN);
break;
case 9:
configNew = configR;
configNew &= ~(1 << 5);// ноль
configNew &= ~(1 << 6);// ноль
break;
default :
Serial.println("ERR - USER RESOLUTION ONLY 9,10,11,12 ");
Serial.println("STOP PROGRAMM");
return;
}
ds.reset();//сброс шины
ds.write(0xCC); // пропустить поиск по адресу - одно устрйоство
ds.write(0x4E); // разрешение записать конфиг
ds.write(ThNew); // Th контроль температуры
ds.write(TlNew); //Tl контроль температуры
ds.write(configNew); // 0x60 12-бит
ds.reset();
ds.write(0xCC); // пропустить поиск по адресу - одно устрйоство
ds.write(0xBE); // читаем энергозависимую Scratchpad
Serial.println( " NEW CONFIG Scratchpad ");
Serial.println( " HEX BIN ");
Serial.print(" ");
for ( i = 0; i < 12; i++) {
data[i] = ds.read();
Serial.print(data[i], HEX); Serial.print(" ");Serial.println(data[i], BIN);
Serial.print(" ");
}
Serial.println(" OLD NEW ");
Serial.print("Alarm temperature High " );Serial.print(oldTemp_Th ); Serial.print(" " );Serial.println(newTemp_Th );
Serial.print("Alarm temperature Low " ); Serial.print(oldTemp_Tl ); Serial.print(" " );Serial.println(newTemp_Tl );
Serial.print("Resolution " ); Serial.print(oldResol ); Serial.print(" " ); Serial.println(newResol );
Serial.println(" ");
Serial.println(" ? COPY Scratchpad to EEPROM ?");
Serial.println(" ");
Serial.println("Enter Y if YES ");
while (true) {
if (Serial.available() > 0) {
Serial.println(" ");
int key = Serial.read();
Serial.print(" ");
if( (key == 'y') | (key == 'Y') ) {
flagWrite = true;
break ;
}
else {
if( !(key == 0) ) {
flagWrite = false;
break ;
}
}
}
}
if (flagWrite) {
Serial.println("COPY DONE !!!!!!!!!");
Serial.println("PROGRAMM STOP");
ds.reset();
ds.write(0XCC);
ds.write(0X48);// Запись настроек в EEPROM
delay (10);
}
else {
ds.reset();//сброс шины
ds.write(0xCC); // пропустить поиск по адресу - одно устрйоство
ds.write(0xB8); // копировать EEPROM в Scratchpad
delay (10);
Serial.println("NO COPY");
Serial.println("PROGRAMM STOP");
}
}
void loop(void) {
}
Интересную вещь обнаружил.
При отключении питания и последующем включении (я пробовал держать отключенным минут 15) энергонезависимая память должна копироваться в энергозависимую. Но этого не происходило! При отключенном питании данные в энергозависимой памяти Scratchpad сохранялись. Пришлось принудительно копировать.
вопрос по датчикам. можно ли им присвоить имена и потом уже по этим именам обращаться?
Это позволит подключить все датчики на 1 пин и точно знать какой куда вставлен в колонну. Если испортился датчик по пару - программируем его разрешение, присваиваем имя - подключаем к рабочей ардуине - показания в правильной строчке - "пар".
бегло поискал в инете - обращение по имени не попалось, только по вшитому номеру.
...по датчикам. можно ли им присвоить имена...
Увы...
Серого вещества у датчиков маловато для этого.
У них всего три ячейки EEPROM, да и из них только две полноразрядные(TH,TL).
Konster, kvic, Ну, так TH и TL, все равно, обычно не используется (нами). Вот туда имя, если так уж хочется, и записывать предварительно. Например, TL = -126 - это 2/3...
Kusnezov Oleg, создать таблицу имён и номер имени зашивать в датчик в TL TH.
65536 имен можно закодировать.
Понадобился ввод в куб на клампе. Для забора жидкости со дна, при мойке.
Вспомнил, что труба 15 мм отлично входит в латунный штуцер 20 мм.
Пайка заняла 2 минуты.
Готово.
Надо будет парогенератор так сделать...
Не дает мне покоя микрохолодильник-доохладитель.
Узел отбора на перистальтическом насосе
kvic,
Но у меня, как правило, - автономка. Городить отдельный контур водяного охлаждения для доохладителя со своим радиатором и насосом... Не...
Ну, первое, что приходит в голову, - элемент Пельтье.
Странно, про элемент Пельтье рассуждений много, реализаций - нет, или я плохо искал.
Сразу проблема: к чему элементы Пельтье прижимать? Сначала хотел две заглушки соединить и трубки впаять.
Показалось, что будет очень дорого. Покапал... Нашел!
Блок водяного охлаждения процессора.
В моем случае, по размерам идеально совпадает с размерами наиболее популярной модели элемента Пельтье.
На этом можно и закончить сообщение, но продолжу:
Добавил два кулера.
Собрал.
Элементы Пельтье соединены последовательно при питании 12 В. Получил дельту температуры - 16 градусов.
Kusnezov Oleg, я проводил подобные эксперименты. Эффективность получается низкая. Принцип схематически такой же. Основная задача отводить тепло от горячей части.
Но вообще такие охладители китайцы делают, продают уже готовые.
al, ну я не "эксперименты провожу". Я холодильник сделал. Рабочий. Эффективность низкая относительно чего? Какие варианты с более высокой эффективностью?
Ткни в готовые проточные холодильники (у моего внутренний объем менее 15 мл., себестоимость менее $15 US).
А, вот, нашел, действительно...
Kusnezov Oleg, сейчас ограничен в технических возможностях.
Эффективность низкая, это у элементов Пельтье кпд низкий. Нужны большие токи и обязательно хороший отвод тепла с горячей стороны пластины. Сейчас уже не помню, собирал подобную схему года два назад. Получил невысокую отводимую ,,мощность. При протоке горячей воды охлаждение получил небольшое.
П,ельтье используют в автомобильных. холодильниках и получают разницу температур порядка 10 градусов, причем 0ависит это от т5мпературы окружающей среды. Чем теплее, тем меньше разница.
Видел ролики, где процессоры разгоняют при помощи старых компрессоров для кондеев, там действительно охлаждение ломовое.
Ошибок много, пишу с маленького планшета.
с 261 по 280 из 486