Защитная автоматика для горелок и котлов на отработанном масле своими руками

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024

Комментарии • 41

  • @heatirradiation9539
    @heatirradiation9539  4 года назад +6

    /*
    Пины:
    2 - датчик температуры 18b20
    3 - SO
    4 - CS
    5 - CLK/SCK
    6 - кнопка, по умолчанию LOW, со стягивающим резистором
    7 - светодиод режима работа
    8 - светодиод термопары
    9 - светодиод датчика температуры 18b20
    10 - светодиод фоторезистора
    11 - реле. In
    А0 - фоторезистор
    А1 - потенциометр термопары
    А2 - потенциометр датчика температуры 18b20
    А3 - потенциометр фоторезистора
    */
    //датчик температуры 18b20. Все недостающие библиотеки скачать в интернете
    #include
    #include // библиотека для 18b20
    OneWire oneWire(2); // вход датчика 18b20
    DallasTemperature ds(&oneWire);
    //------------------------------
    //Термопара
    #include "max6675.h"
    int thermoDO = 3; // SO
    int thermoCS = 4; //CS
    int thermoCLK = 5; //SCK
    MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
    //-------------------------
    int thermoCouple = 0; // Переменная для хранения значений температуры с термопары
    int valThermoCouple = 0; // Переменная для хранения значений потенциометра термопары
    int PinThermoCoPot = A1; // пин, к которому подключен потенциометр термопары
    int Temp = 0; // Переменная для хранения значений температуры датчика 18b20
    int valTemp = 0; // Переменная для хранения значений потенциометра температуры
    int PinTempPot = A2; // пин, к которому подключен потенциометр температуры
    int brightness = 0; // ркость пламени. Чем ярче, тем меньше значение
    int valPhotoRez = 0; // переменная потенциометра яркости
    int PinPhotoRezPot = A3; // пин, к которому подключен потенциометр яркости
    int PinPhotoRez = A0; // пин фоторезистора
    int pinRelay = 11; // пин реле
    //Аварийные значения. Прибавляются или отнимаются от текущего значения датчика
    int alarmThermoCoupleMin = 30; // отключить реле припадении температуры на 30 градусов
    int alarmThermoCoupleMax = 50; // при превышении температуры на 50
    int alarmTemp = 5; // отключить реле при превышении температуры на 5 градусов. Учесть погрешность датчика при установке поверх трубы +5. Т.е. если в трубе 90, на датчике 85
    int alarmBrightness = 60; // отключить реле при падении яркости на 60 единиц
    //Диапазон оптимальных значений. Значение датчика +/- указанное число
    int rangeThermoCo = 15; //термопара
    int rangeTemp = 2; //температура
    int rangeBrightness = 20; //яркость пламени
    //Аварийные триггеры
    bool BoolBrightness = false;
    bool BoolTemp = false;
    bool BoolThermoCo = false;
    //Мигание светодиода
    int ledState = LOW;
    unsigned long previousMillis = 0;
    unsigned long currentMillis;
    //Таймер опроса датчика температуры
    unsigned long previousMillisTemp = 0;
    unsigned long currentMillisTemp;
    //Режим работы кнопки
    int regim = 0;
    int flag;
    //Аварийное мигание светодиода
    int led;
    bool blinker = true;
    void setup() {
    // Serial.begin(9600); // старт com-порта
    ds.begin(); // 18b20
    pinMode(6, INPUT); // кнопка
    pinMode(7, OUTPUT); // светодиод переключателя режима
    digitalWrite(7, LOW);
    pinMode(8, OUTPUT); // светодиод термопары
    digitalWrite(8, LOW);
    pinMode(9, OUTPUT); // светодиод датчика температуры
    digitalWrite(9, LOW);
    pinMode(10, OUTPUT); // светодиод фоторезистора
    digitalWrite(10, LOW);
    pinMode(pinRelay, OUTPUT); //реле
    digitalWrite(pinRelay, HIGH);
    delay(500);
    }
    void loop() {
    //Данные с датчиков и потенциометров
    Temp = ds.getTempCByIndex(0); // температура котла
    valTemp = analogRead(PinTempPot); // потенциометр температуры
    brightness = analogRead(PinPhotoRez); // яркость пламени
    valPhotoRez = analogRead(PinPhotoRezPot); // значение уровня яркости с потенциометра
    thermoCouple = thermocouple.readCelsius(); // термопара
    valThermoCouple = analogRead(PinThermoCoPot); // потенциометр термопары
    currentMillisTemp = millis();
    if (currentMillisTemp - previousMillisTemp >= 10000) { // раз в 10 секунд проверяем температуру котла
    previousMillisTemp = currentMillisTemp;
    ds.requestTemperatures(); // считываем температуру с датчика, на это требуется 750мс
    /*
    //Проверка через COM-порт
    Serial.print("Temp: " );
    Serial.print(Temp);
    Serial.print("C");
    Serial.print("; ");
    Serial.print("valTemp:");
    Serial.println(valTemp/10);
    Serial.print("brightness: " );
    Serial.print(brightness);
    Serial.print("; ");
    Serial.print("valPhotoRez:");
    Serial.println(valPhotoRez);
    Serial.print("thermocouple: " );
    Serial.print(thermoCouple);
    Serial.print("; ");
    Serial.print("valThermocouple:");
    Serial.println(valThermoCouple);
    Serial.println(regim);
    */
    }
    //Настройка параметров. Если светодиод горит, значит параметр задан
    //Параметры задаются в диапазоне, т.к. могут отклоняться от номиналов в связи с составом масла, его температурой, тягой дымохода и т.п.
    if(BoolThermoCo == false){
    if (thermoCouple = valThermoCouple - rangeThermoCo ) { // значение температуры на термопаре в диапазоне +/- 15 градусов
    digitalWrite(8, HIGH);
    }
    else {
    digitalWrite(8, LOW);
    }
    }
    int DIVvalTemp = valTemp / 10; // 1024/10 = 100. возвращаемое значение 0..1024 / 10 = 0..100 настройка температуры до 100 градусов
    if(BoolTemp == false){
    if (Temp = DIVvalTemp - rangeTemp ) { // Например, 85

    • @heatirradiation9539
      @heatirradiation9539  4 года назад +2

      if(regim == 1){ // Режим старта. Принудительно включается реле для запуска горелки вручную
      // При первом запуске задаются параметры потенциометров. При последующих запусках ждем, когда включатся светодиоды
      currentMillis = millis();
      if (currentMillis - previousMillis >= 100) { //светодиод мигает часто
      previousMillis = currentMillis;
      if (ledState == LOW)
      ledState = HIGH;
      else
      ledState = LOW;
      digitalWrite(7, ledState);
      digitalWrite(pinRelay, LOW); // реле включено
      }
      }
      if (regim == 2) { // Режим слежения. Если условия температуры и яркости соблюдены, то реле включено
      digitalWrite(7,HIGH); // Светодиод горит постоянно
      //В этом режиме реле включено только, если соблюдены все заданные условия для датчиков
      if (thermoCouple >= valThermoCouple - alarmThermoCoupleMin && Temp DIVvalTemp + alarmTemp || BoolTemp == true ) {
      digitalWrite(pinRelay, HIGH); //off
      BoolTemp = true;
      if(blinker == true)
      led = 9;
      }
      if (brightness > valPhotoRez + alarmBrightness || BoolBrightness == true) {
      digitalWrite(pinRelay, HIGH); //off
      BoolBrightness = true;
      if(blinker == true)
      led = 10;
      }
      if (BoolTemp == true || BoolThermoCo == true || BoolBrightness == true ) { // аварийная мигалка
      currentMillis = millis();
      if (currentMillis - previousMillis >= 50) {
      previousMillis = currentMillis;
      if (ledState == LOW)
      ledState = HIGH;
      else
      ledState = LOW;
      digitalWrite(led, ledState);
      }
      blinker = false;
      }
      }
      }

  • @sergeinazarov2668
    @sergeinazarov2668 4 года назад

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

    • @sergeinazarov2668
      @sergeinazarov2668 4 года назад

      С меня подпись и лайк

    • @sergeinazarov2668
      @sergeinazarov2668 4 года назад

      Так же можно замутить GSM)))

    • @heatirradiation9539
      @heatirradiation9539  4 года назад +2

      Спасибо за отзыв! Дисплей добавить проблем нет, как в принципе и все остальное. Горелка по сути готова, осталась автоматика. Я работаю строителем, поэтому в разгар сезона на горелку нет времени. Но канал продолжает работу и осенью будут видео.

    • @АйтанБолатов-у1б
      @АйтанБолатов-у1б 2 года назад

      Здравствуйте.Хоть один человек нашелся который делиться своими достижением умением .Много коммерсантов развелось.Ладно я и купил бы если были цены адекватные .Ну да ладно про них .И вот вижу есть люди которые без всякой корысти выкладывает все .Именно для Вас желаю чтоб все было у Вас хорошо .Чтоб всегда делали добро людям.Чтоб твой канал процветал .Утри нос кммерсантам.Просьба будет время сделай автоматику информативней как Сергей пишет. Ну конечно по подробней как самомому повторить Ваше детище со всеми названиями деталей и ссылки где найти.Я думаю многие умеют паять и повторить подробным описанием и схемы сможет каждый.С меня лайк и подписка. Удачи и здоровья

    • @Drakon940
      @Drakon940 Год назад

      @@АйтанБолатов-у1бкаждый контроллер должен писаться под свой котёл или печь. То что реализовал плюс автору. А по сути ? Не достаточно отключения маслоподачи. Контроль масло подачи, горения, температуры теплоносителя, подачи воздуха. Если есть аварийная ситуация где оповещение, хотяб зуммер. Сыро.

  • @Frolangen
    @Frolangen 4 года назад +1

    Отличная работа. Данная система контроля имеет очень широкий спектр использования.

  • @sergiobalak1270
    @sergiobalak1270 4 года назад

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

  • @serjik1010ify
    @serjik1010ify 4 года назад +1

    Можно попросить выложить скетч. Очень понравилось что в скетче подробные комментарии.

  • @ВладимирКуликов-ш8д
    @ВладимирКуликов-ш8д 3 года назад +1

    Как с вами связаться? Мне нужно, чтобы вы мне собрали автоматику для котла..

  • @АндрейМанита
    @АндрейМанита 2 года назад +1

    Хочу купить у вас контролер.

  • @user-y1e9r7i7k
    @user-y1e9r7i7k Год назад

    Для теплицы можно использовать?

  • @сергейкаменский-й5т
    @сергейкаменский-й5т 2 года назад +1

    а на продажу делаете

  • @СашаБелый-х8р
    @СашаБелый-х8р 3 года назад +1

    Здравствуйте, в вы делаете котлы на заказ

  • @43rus52
    @43rus52 2 года назад

    Сколько стоит?

  • @DepechLyot
    @DepechLyot 4 года назад

    3 - SO
    4 - CS
    5 - CLK/SCK
    Решил заняться автоматикой, скопировал скетч в программу, проверку нажал, все ок но не понятно что это за сигналы для чего они и на какие пины подается на самой ардуино? что за нумерация у вас? на 4 пине ардуины земля!

  • @СергейГущин-ш9ь
    @СергейГущин-ш9ь 4 года назад

    А на заказ можете сделать автоматику?

  • @Drakon940
    @Drakon940 Год назад

    Тут я с критикой. Да что-то получилось. Но что!? Алгоритм работы? Мой котёл не потерпит такого отношения к себе и покажет всю прелесть перегрева теплоносителя.

  • @letay12
    @letay12 3 года назад +1

    У нас много философов но ничего конкретного вы написали общие моменты которые написаны в книге любого фантаста хотелось бы конкретный список материалов а то в магазине можно накупить много всяких термопар и плат которые никогда совместно работать не будут а то что бензин горит если его поджечь любой идиот знает и даже обезьяна может написать поэму которую никто никогда не поймет

  • @vasilemihai572
    @vasilemihai572 2 года назад

    Нет режима старта

  • @letay12
    @letay12 3 года назад

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

  • @alekseyevgrashin6704
    @alekseyevgrashin6704 4 года назад +1

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

    • @heatirradiation9539
      @heatirradiation9539  4 года назад +3

      Сначала защитная автоматика, затем автозапуск. Те, кто уже столкнулся с залитым маслом котлом, меня поймут. А вообще, идей много, буду постепенно реализовывать. Спасибо!

    • @DepechLyot
      @DepechLyot 4 года назад +2

      @@heatirradiation9539 да уж, заходишь в сарай а там наливные полы, черные, потолок отражается, красиво! А так же незабываемый вечер с ведрами тряпками и прочим таким

  • @letay12
    @letay12 3 года назад

    Можно конкретный список и конкретно где скачать программу как куда и что подсоединять и регулировать а то таких идиотов на просторах интернета миллион а потом в новостях показывают как целыми деревнями горят

  • @Alexkolomna
    @Alexkolomna 4 года назад

    а как же розжиг????
    photos.app.goo.gl/RRqLV58KLizAdKUw8
    photos.app.goo.gl/2FL4pKYBoFo1ubi16

    • @heatirradiation9539
      @heatirradiation9539  4 года назад

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

    • @Alexkolomna
      @Alexkolomna 4 года назад

      @@heatirradiation9539 катушка,коммутатор, проводка и одно реле в качестве генератора импульса ...

    • @heatirradiation9539
      @heatirradiation9539  4 года назад

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

    • @Alexkolomna
      @Alexkolomna 4 года назад

      @@heatirradiation9539 если вывести электроды за пределы факела -то не сильно коксуются .
      Посмотрим.неделя -полет нормальный.
      До этого они два месяца жили в краю факела от китайской горелки.
      Ещё пара недель и отпишусь.
      Следующую горелку буду собирать уже в крестовин е, по вашему принципу.
      Вторая печка в кадре мелькает.
      Автоматику полностью аналоговую собрал.
      Ардуино только для контроля и аварийного отключения .

    • @heatirradiation9539
      @heatirradiation9539  4 года назад

      А по какой причине вы автоматику аналоговую сделали, а не на ардуино?
      В двух словах попробую описать суть проблемы: в баке заканчивается масло, вы доливаете холодное, тэн начинает его греть, и пока оно, так сказать, прохладное немного ухудшается распыл. На стабильность факела это не влияет. НО! На какое-то время по краям факела происходит недожог. И вот это явление коксует электроды вблизи факела. Это мои наблюдения. Решение проблемы следует искать в правильной конфигурации сопла/завихрителе/подачи вторичного воздуха. После сборки своей горелки с автозапуском и автоматикой я сделаю видео и про сопло.