В помощь самогонщику!

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

celsius! а не setTemp! строка 50

bwn
Offline
Зарегистрирован: 25.08.2014
#include <OneWire.h>
OneWire  ds(10);  // Подключаем датчик к 10 цифровому пину
// Для дисплея
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

float setTmp; // переменная для заданного значения температуры
float celsius; // переменная для текущего значения температуры


int buttFixPin = 2;     // пин кнопки
int buttFixPinCurentState = LOW;       // текущее состояние кнопки 
const int ledPin =  13;      //  LED pin
//int buttonState = 0;         // статус кнопки

void setup(void) {
 
 // buttonState = digitalRead(buttonPin); //read the state of the pushbutton value
  //pinMode(2, OUTPUT); //пин реле клапана отбора
  pinMode(buttFixPin, INPUT_PULLUP); //подтягиваем входы кнопок к плюсу встроенными резисторами
  //pinMode(buttonPin, INPUT_PULLUP); //подтягиваем входы кнопок к плюсу встроенными резисторами
  pinMode(ledPin, OUTPUT);      //13й вывод индикация нажатия кнопки
  
   pinMode(3, OUTPUT); //пин реле клапана отбора
  //digitalWrite(3, LOW);  // Включаем реле
  
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  
  display.clearDisplay();
  
  Serial.begin(9600);
 
}

void loop(void) {
  // считываем состояние кнопок
   buttFixPinCurentState = digitalRead(buttFixPin);
  
 // float celsius=celsius; // переменная для текущего значения температуры 
 // buttonState = digitalRead(buttonPin);
  
  if (buttFixPinCurentState == LOW)digitalWrite(ledPin, HIGH ); //Зажигаем светодиод по нажатию кнопки 
  else digitalWrite(ledPin, LOW); 
  
 //Запись температуры фиксации в переменную    
  if (buttFixPinCurentState == LOW && setTmp == 0)
    {setTmp=celsius;  //Если нажата кнопка, пишем в переменную текущее значение температуры
     Serial.println(setTmp);}  
  
  if (celsius > (setTmp+0.1))digitalWrite(3, LOW  );  // Если температура выше зафиксированной на 0,1 С, клапан закрыт         
  else digitalWrite(3, HIGH); 
      
  byte i;
  byte type_s;
  byte data[12];
  byte addr[8];
 
   // Ищем алрес датчика
  if ( !ds.search(addr))
  {
    ds.reset_search();
    delay(250);
    return;
  }
  // Проверяем не было ли помех при передаче
  if (OneWire::crc8(addr, 7) != addr[7]) {
     Serial.println("CRC is not valid!");
     return;
  }
  Serial.println();
  // Определяем серию датчика
  switch (addr[0]) {
  case 0x10:
    Serial.println("  RECTIFICAT");  
    type_s = 1;
    break;
  case 0x28:
    Serial.println("  CRECTIFICAT");
    type_s = 0;
    break;
  case 0x22:
    Serial.println("  RECTIFICAT");
    type_s = 0;
    break;
  default:
    Serial.println("Device is not a DS18x20 family device.");
    return;
  } 

  ds.reset();            
  ds.select(addr);       // Выбираем адрес
  ds.write(0x44, 1);     // Производим замер, в режиме паразитного питания
  delay(1000);    

  ds.reset();
  ds.select(addr);    
  ds.write(0xBE);         // Считываем оперативную память датчика

  for ( i = 0; i < 9; i++) {           
    data[i] = ds.read();  // Заполняем массив считанными данными
  }
  // Данные о температуре содержатся в первых двух байтах, переведем их в одно значение и преобразуем в шестнадцатиразрядное число
  int16_t raw = (data[1] << 8) | data[0];
    if (type_s) {
    raw = raw << 3; 
    if (data[7] == 0x10) {
      raw = (raw & 0xFFF0) + 12 - data[6];
   }
   } 
  else 
  {
    byte cfg = (data[4] & 0x60);
    if (cfg == 0x00) raw = raw & ~7; 
    else if (cfg == 0x20) raw = raw & ~3; 
    else if (cfg == 0x40) raw = raw & ~1; 
  } 
  celsius =  (float)raw / 16.0;
  Serial.print("T = ");
  Serial.print(celsius);
  Serial.print(" C   ");
  Serial.print("setTmp  ");
  Serial.print(setTmp);
  
 //Работа Дисплея
  display.clearDisplay();
  display.setCursor(0,5);
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.println("RECTIFICAT"); //Надпись сверху дисплея
  display.setCursor(10,27);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.println("KLAPAN"); //Знак температуры
  display.setCursor(60,23);
  display.setTextSize(2);
  display.setTextColor(WHITE);
  if (digitalRead(3)) display.println("ON"); // показываем состояние выхода
    else display.println(" OFF");
 // display.println("ON"); // знак градуса
  //display.setCursor(115,5);
  //display.setTextSize(2);
  //display.setTextColor(WHITE);
  //display.println("C"); // Цельсия
  display.setCursor(0,39);
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.print(celsius); //Выводим на дисплей текущую температуру в колонне
  display.setCursor(98,42);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.println("O"); // знак градуса
  display.setCursor(110,43);
  display.setTextSize(3);
  display.setTextColor(WHITE);
  display.println("C"); // знак Цельсия
  display.setCursor(0,57);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.print("setTmp"); //Выводим зафиксированную температуру на дисплей
  display.setCursor(40,57);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.print(setTmp); //Выводим переменную зафиксированной температуры на дисплей
  display.display();
  delay(1000);

 }
  
 // }

Так тоже идут? Светик на кнопку реагирует?

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

bwn пишет:


Так тоже идут? Светик на кнопку реагирует?

Ура заработала! Спасибо ребята, без Вашей помощи я бы с ума сошел!

Сейчас буду разбираться где мои косяки.

bwn
Offline
Зарегистрирован: 25.08.2014

Тут не косяки, тут полностью код лучше переписать. Во первых грохнуть все delay(), реальная температура у вас отстает на 2 секунды. Обработку ds18b20, недавно dimax причесал тщательно, поищите на форуме месяц-полтора назад было.

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Так на макетке выглядит.

Сейчас попробую найти про ds. Еще раз спасибо!

 

Нашел изучаю.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

используйте всегда для if и else фигурные скобки - самому будет легче читать.

bwn
Offline
Зарегистрирован: 25.08.2014

JollyBiber пишет:

используйте всегда для if и else фигурные скобки - самому будет легче читать.

поддерживаю двумя руками.

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Я читал про оформление кода, но торопышка я еще тот. Быстрее нужно всегда. Спасибо ребята.

bwn
Offline
Зарегистрирован: 25.08.2014

Гонщик-самогонщик пишет:

Я читал про оформление кода, но торопышка я еще тот. Быстрее нужно всегда. Спасибо ребята.

Здесь не оформление, а потенциальные плохо различимые грабли. Если сама тема интересует, то почитайте вдумчиво этот холивар . Человек практически с нулевыми знаниями начинал, за два месяца все взлетело. Там и про убийство delay() и меню и кнопки. Доктор, ты ни ходи, а то на смех подымешь. Главное, все заработало, как хотелось.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Правильная тема! А то все эти аквариумы и поливалки ... :)

bwn
Offline
Зарегистрирован: 25.08.2014

ЕвгенийП пишет:

Правильная тема! А то все эти аквариумы и поливалки ... :)

В итоге они все сводятся к одной теме "Термостат" с вариациями.

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

bwn пишет:

недавно dimax причесал тщательно

Нашел, но почемуто скетч у меня не запустился. Вчера искал еще раз тему не нашел, чудеса!

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

bwn пишет:

ЕвгенийП пишет:

Правильная тема! А то все эти аквариумы и поливалки ... :)

В итоге они все сводятся к одной теме "Термостат" с вариациями.

Термостат наше все! Но доп функции приятные можно пристроить, в хозяйстве пригодятся.

Я по блютуз на андроиде смотрь температуру, что б не бегать постоянно к колонне.

Развитие темы здесь http://alcodistillers.ru/forum/viewtopic.php?id=616

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Приветсвую всех. Снова я. Пересел я на ESP 8266 под ардуину IDE

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

Этот кусок выбирает дельту

 if (request.indexOf("/Select=0.1") != -1 && setTmp == 0) {
 setTmp=sensors.getTempCByIndex(0)+0,1;
 Serial.print("setTmp "); 
 Serial.println(setTmp);
 value = HIGH;
 }
 if (request.indexOf("/Select=OFF") != -1) {
 setTmp ==0;
 value = LOW; 
 } 

Этот включает клапан

if (sensors.getTempCByIndex(0) >= setTmp){
     digitalWrite(releyPin, HIGH );
    }
   else {
     digitalWrite(releyPin, LOW);
    }

Ни чего не могу изобразить не из примеров, ни придумать. 

Выглядит это сейчас так

Спасибо.

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Гонщик-самогонщик пишет:
После сработки клапана (отключение) по превышении температуры, нужно после возврата на исходнуюю температуру, дать устаканиться колонне например 5 минут, после чего снова включить клапан.

В момент, от которого надо отсчитывать 5 минут взводите две переменных: long int "время ожидания" и boolean "флаг ожидания". Дальше в большом цикле проверяем: не находимся ли мы в ожидании, если да - проверяем паузу, сравнивая millis из переменной и его текущее значение. Как только проскочили ноль - сбрасываем флаг ожидания и начинаем работать... Примеры смотреть в "моргаем светодиодом без delay()".

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Andrey_Y_Ostanovsky 

Спасибо что откликнулись. Как раз и пытался соорудить конструкцию из моргалок без delay(). Однако все это зацикливается. 

Вот такая получилась конструкция


if (sensors.getTempCByIndex(0) >= setTmp){
     digitalWrite(pin_reley, HIGH );
     }
   else {
    digitalWrite(pin_reley, LOW);
    }
  
  if(state_on){                        //  on
    if(digitalRead(pin_reley)==HIGH){     
      state_on=false;
      changestate();
    }
    if(millis()-last_on>=60000){      // time expired (60000 ms = 1 min)
      state_on=false;
      changestate();
    }
  }else{                               //  off
    if(digitalRead(pin_reley)==LOW){     
      state_on=true;
      last_on=millis();
      changestate();

Осмысливаю как реализовать то что вы написали.

 

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Буду писать что делаю, иначе запутаюсь.

Объявляем переменные

 long pause =0
 boolean flag = false;
 
void loop() { // Отключаем отбор если превышена дельта по температуре.
if (sensors.getTempCByIndex(0) >= setTmp){
     digitalWrite(pin_reley, HIGH );
     }
   else {
    digitalWrite(pin_reley, LOW);
    }
 
  if (sensors.getTempCByIndex(0) < setTmp)
  {  // Температура упала ниже зафиксированной
   flag = !flag;                // меняем значение  переменной
   pause = !pause
  }
}
 

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

 

Не понимаю как сделать.

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Вот что получилось, но кажется криво.

 long pause =0
 boolean flag = false;
 
 
 
void setup() {
  // put your setup code here, to run once:
 
}
 
void loop() {
 //Проверяем, не находимся ли мы в ожидании 
  if (flag =  true){ // Если да
    if(millis()- pause >= 60000){      // time expired (60000 ms = 1 min)
      boolean flag = false;
  }    
 }
  if (sensors.getTempCByIndex(0) >= setTmp){ // Отключаем отбор если превышена дельта по температуре.
     digitalWrite(pin_reley, HIGH );
     }
   else {
    digitalWrite(pin_reley, LOW);
    }
 
  if (sensors.getTempCByIndex(0) < setTmp)
  {  // Температура упала ниже зафиксированной
    flag = !flag;                // меняем значение  переменной
    pause = millis();
  }
}
 
 
}
Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Andrey_Y_Ostanovsky 

Спасибо еще раз. Вымучил таки! Получилось. Выглядит так:

unsigned long pause;
boolean flag;


void setup() {
  

}

void loop() {
  
// Проверяем, не находимся ли мы в ожидании 
  if (flag =  true){ // Если да
     if(millis()- pause >= 60000){      // time expired (60000 ms = 1 min)
          digitalWrite(pin_reley, LOW);

   } 
  
   if (sensors.getTempCByIndex(0) < setTmp){  // Температура упала ниже зафиксированной
     //digitalWrite(pin_reley, LOW);
     flag = false;
   }
  
  if (sensors.getTempCByIndex(0) >= setTmp){ // Отключаем отбор если превышена дельта по температуре.
      flag = true;
      pause = millis();
    digitalWrite(pin_reley, HIGH );
     }


}

 

Может не очень красиво, но работает!

bwn
Offline
Зарегистрирован: 25.08.2014

Гонщик-самогонщик, по опыту личной эксплуатации, более правильным будет алгоритм, не фиксации какой то заданной температуры, а неизменность контролируемого параметра (температуры колонны) в течении времени (пусть 5 минут). За время ректификации, температура которая была true в начале процесса, может под воздействием внешних факторов измениться как вверх, так и вниз. ИМХО.

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Нужно обдумать.

bwn
Offline
Зарегистрирован: 25.08.2014

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

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

В моем случае датчик стоит на высоте 2/3 колонны. Если на этом датчике температура скакнула, отбор закрыли. Дали время - колонна стабилизировалась. Отбор открыли. То есть, хвосты остаются на этом уровне, и не проскакивают в отбор. По термометру в верхней точке прекращает отбор если на 0,1* скачек. Функция пока не реализованная.

Если подстраивать колонну под изменение по внешним факторам, вероятность поймать хвост возрастает многократно. Может я и не прав.

Что касается голов, тут я буду пробовать такой вариант:

Два клапана отбора. В емкости для голов датчик, контактный или поплавок. Устанавливаем уровень на расчетное количество голов (считается от абсолютного спирта). Сработал датчик- переключился клапан. Пошел отбор тела.

Но все таки полностью автомат не получится. Без оператора не обойтись. Автоматика только как помошник.

 

bwn
Offline
Зарегистрирован: 25.08.2014

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

А сам алгоритм отбора, надо пробовать. Эксперимент, наше все.

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

bwn пишет:

За время ректификации, температура которая была true в начале процесса, может под воздействием внешних факторов измениться как вверх, так и вниз. ИМХО.

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

bwn
Offline
Зарегистрирован: 25.08.2014

Кубовая увеличивается постоянно, по мере снижения концентрации. В зоне отбора ощутимо влияет только атм.давление, за время отбора 8-10 часов изменения бывают. Я этот алгоритм хочу исключительно для автоматического определения "константы", ну а если все таки уже вышли за штатный режим, пускай проверит на всякий случай. Делать специальные проверки, наверно излишество, либо  BMP-шку прикрутить и по ней принимать решение о доп.проверке.
Зона отбора питьевых обычно до +0,2гр.С.
Хвостовые фракции, кроме помойки никуда не годятся. Мерзость хуже голов.

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

BMP заказал. Придет буду пробовать зависимость атмосферного давления вводить.

Если в верхней точке скакнет больше 0,1, хвосты проскочат гарантировано.

bwn
Offline
Зарегистрирован: 25.08.2014

Скорее всего и от колонны зависит здорово. У меня "Доктор Губер", в нем две точки контролируются, куб и колонна в районе дефлегматора. Превышение до 0,3 на вкус не чувствуется, химию естественно не делал. Если проморгать и до 0,4-0,5 проскочит, здесь да, привкус конкретный прет.((((

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Куб контролировать бестоку. При первичной дистилляции можно ориентироваться по температуре сколько примерно осталось спирта. На колонне верхняя точка и 2/3 колонны. На 2/3 датчик и упарвляет клапаном отбора, хвосты сторожит.

Еще датчик на выходе воды с дефлегматора, чтобы флегма не переохлаждалась. По нему настраивать колонны удобно.

bwn
Offline
Зарегистрирован: 25.08.2014

Я по кубовой первый сэм забираю. Кран на полную, доходит до 97 и прекращаю. На выход воды думаю ставить вторым этапом, а в полете фантазии, вместо обычного вентиля, с эл.приводом, пускай сама регулирует))).

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Вот сегодня почти собрал в коробушку. Закреплю все и на испытание.

bwn
Offline
Зарегистрирован: 25.08.2014

Ждемс вести с полей))).

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Стоит яблочная, некогда перегнать.

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Andrey_Y_Ostanovsky пишет:

 

 

 чтобы отобрать именно "питьевую" часть, 

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

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

Гонщик-самогонщик пишет "ещё датчик на выходе воды с дефлегматора, чтобы флегма не переохлаждалась.

По нему настраивать колонны удобно."  ??? прочитал гору мукулатуры но про переохлождение флегмы слышу первый раз.

 Имею ректификационнную колонну - 1.3 метра, дефлегматор из термоса, бак на 40л., работает на автономном охлаждении,

сделана примерно 3 года назад. Не давно на управление поставил ардуину.  Датчики температуры LM335 - один стоит в дефлегматоре

и при получении спирта температура стабильна и не ЗАВИСИТ от температуры охлаждающей жидкости. Темрература дефлегмации

у меня зависит только от АТМОСФЕРНОГО давления, для контроля давления стоит BMP180. Колонна работает примерно на превышении

давления 22мм.рт.ст. - BMP отключает нагрев. После калибровки LM по темрературе кипения спирта в зависимости от атмосферного

давления НА КОНКРЕТНОМ ДЕФЛЕГМАТОРЕ показания LMки соответствуют табличным значениям. Также эта LMка управляет звуковой индикацией (пик- пик).

Вторая LMка управляет ТЕНами нагрева бака по алгоритму: t - максимальная - отключить 2 ТЕНы, t - близка к максимальной отключить

1 ТЕН, t в средней зоне перевести 1 ТЕН в режим 0,5 мощности.

Сейчас необходимо подключить втрой датчик BMP180 для постоянного контроля атмосферного двления.

ВОПРОС:   как это сделать наболее просто не прибегая к мультиплексированию шины I2C.

 

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

oleg_kazakof пишет:

Гонщик-самогонщик пишет "ещё датчик на выходе воды с дефлегматора, чтобы флегма не переохлаждалась.

По нему настраивать колонны удобно."  ??? прочитал гору мукулатуры но про переохлождение флегмы слышу первый раз.

При настройке колонны для работы в режиме предзахлеба (наиболее эффетивный режим), показатель температуры воды на выходе дефлегматора, позволяет более точно настроить колонну. 55-65С*

Уровень флегмы тоже вещь весьма желательная.

Многое зависит от конструкции колонны.

Управление тенами тоже вещь полезная. Однако регулировка мощности производиться при настройке колонны. И он сделан отдельным блоком из соображений безопасности.

А дальше только играем отбором продукта. Все регулировки и настройки колонны- один раз и все. 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

а, медь придаёт незабываемый вкус медного купороса конечному продукту.

вроде ж мельхиор сейчас доступен? или не?

bwn
Offline
Зарегистрирован: 25.08.2014

Клапауций 911 пишет:

а, медь придаёт незабываемый вкус медного купороса конечному продукту.

вроде ж мельхиор сейчас доступен? или не?

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

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

Что используете в качестве насадки в колонне. Судя по фотографии колонна не термоизолированная что больше походит на самогонный аппарат.

Температура дефлегмации (классически, насколько я понимаю процесс) измеряется в точке отбора продукта и зависит только от АТМОСФЕРНОГО давления,  и ни как от температуры охлаждающей жидкости. При калибровки датчика температуры в конкретном дефлегматоре по температуре кипения спирта в зависимости от давления (производится один раз или при замене датчика или ардуины на новые) показания температуры при получении продукта соответствуют табличным значениям.

Колонна у меня работает в режиме предзахлёба, превышение давления в баке над атмосферным 22мм.рт.ст (поддерживает ардуина с помощю датчика температуры бака LM и датчика давления бака BMP),  при вводе превышения 23мм.рт.ст происходит захлеб.  Атмосферное давление имеет свойство меняться во времени поэтому необходим второй датчик BMP180 для постоянного контроля  атмосферного давления и ввода коррекции.

ТЕНами управляет ардуина через симисторные ключи, для БЕЗОПАСНОСТИ, с ОПТОЭЛЕКТРОННОЙ развязкой.  

re: подскажите как вставить фото и картинки.

 

bwn
Offline
Зарегистрирован: 25.08.2014

Вставлять картинки здесь.

У меня тоже без теплоизоляции и производитель "Доктор Губер" настоятельно не рекомендует ее использовать. По температуре охлаждающей жидкости особо не заморачивался, но по личным ощущениям, когда на выходе 35-45 градусов, процесс идет более стабильно.
Ну а датчики давления, там физически лепить некуда. Остается только замер и стабилизация температуры краном отбора.

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

oleg_kazakof пишет:

Что используете в качестве насадки в колонне. Судя по фотографии колонна не термоизолированная что больше походит на самогонный аппарат.

Это сильно похоже на самогонный аппарат? Насадку использую разную. Спиральную медную, нержавеющие мочалки. Мочалки работают стабильно и без заморочек.

Термоизолировать колонну- обязательно. 10 мм теплоизолятора.

Утверждать, что медь дает привкус, можно только сделав органолептический анализ продукта после медной колонны и нержавейки. Есть такие данные? В студию.

Температура естественно контролируется в вержней точке колонны. Но клапаном отбора, у меня управляет датчик на высоте 2/3 колонны. При подходе хвостов, он перекрывает отбор. Колонна снова входит в режим стабилизации.

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

А вообще конечно тему немного увели в сторону. Всетаки автомактика для колонны- а не конструкция колонны.

К тому же, у меня и колонна из нержавейки есть. Фотка только головы еще не законченой имеется

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Олег, ваша колонна и автоматика судя по описанию, делалась по мативам Шульмана? 

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

bwn пишет:

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

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

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015
 
вот такая конструкция
 

 

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Ну да я был прав. Оттуда ноги растут.

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

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

http://alcodistillers.ru/forum/index.php

Заходиете сюда. Единственный форум без торгашей. И инфы полезной и правильной за так.

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

вся автоматика разработанна лично мной на основе изучения теории и практики процесса ректификации и учебников по химии и ни КАКОГО ОТНОШЕНИЯ К НИМ НЕ ИМЕЕТ.

 

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Гонщик-самогонщик пишет:
Термоизолировать колонну- обязательно. 10 мм теплоизолятора.

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

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

Свойства теплоизоляционных материалов разные. Если стекловатой обмотать, то да, сантиметры нужны.

Уходим в дебри. Пора завязывать.

Гонщик-самогонщик
Offline
Зарегистрирован: 18.06.2015

oleg_kazakof пишет:

вся автоматика разработанна лично мной на основе изучения теории и практики процесса ректификации и учебников по химии и ни КАКОГО ОТНОШЕНИЯ К НИМ НЕ ИМЕЕТ.

 

Хорошо, просто очень уж на ихнюю похожа.

Я так вообще к этому вопросу подхожу -не повторять. Иначе ни фига нового не придумаешь. Пусть не совсем нового, но со своим уклоном хотя бы.