1 2 3 4 5 6 7 8 9 10 10/10 9,80оценок: 15

Автоматика управления ТТ котлами своими руками

Тема в разделе "Котлы, горелки, котельное об-е своими руками", создана пользователем Senkiivan, 28.03.14.

Метки:
  1. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
    Про 20 тактов
    Счётчик прерываний на 20 обнуляется. А шим работает в этом диапазоне. Т. е. Допустим тен 3 вкл 17 выкл. Будет определяться ПИДом.
    Получается, что считать лучше отдельно. Иначе смысл использования прерывания пропадёт. Правильно?
    В качестве датчика аналоговый МРХ 5010. Получается готовый int.
    Где то встречалось, что на деление много времени уходит. А если смасштабировать сам сигнал придушением с 5 допустим до вольта резисторами и дальше вычитанием?
    Условно 5в с датчика это 1023. Душу допустим в 40 раз. Можно уточнить. И как раз попадаю в 20 тактов пропорционального регулирования.
    Как идея?
     
  2. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633
    Адрес:
    Москва
    Mpx 5010 разве датчик темературы? Вы хотите реализовать регулирование мощности пропуском полупериодов?
     
  3. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
    Датчик давления. Это для самогонного аппарата. Держать давление в ректификационной колонне. Прямое управление процессом. Сразу снимается ряд вопросов по определению вдуваемой мощности.
    Да, пропуск полупериодов по простейшему алгоритму. Это устраивает.
     
  4. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
    А для печи добавил в constrain закрытой позиции заслонки:
    constrain0=constrain (70-tдымовых) *2, 0,20);
    pos=constrain (pos, constrain0, 180);
    Сейчас тепло и ПИД загоняется в старт-стоп. Коррекция нулевого положения заметно улучшила устойчивость горения на малых оборотах.
     
  5. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633
    Адрес:
    Москва
    Это вы хотите управлять давлением насыщенного пара спирта?
     
  6. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
  7. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
    Вести с дачи. Для звукового контроля режима ракеты (периодического действия) подключил пищалку. Была в наличии активная, посему так:
    if (thermocouple.readCelsius()
    >minR&&thermocouple.readCelsius()<minR+5){bell=2;/после растопки контролька прохождения райзером температуры 400, затем либо после прогорания подкинуть дров, либо перекрыть воздух для догорания
    }else
    if (thermocouple.readCelsius()>leto&&
    thermocouple. readCelsius()<leto+5){bell=3;/контролька прогрева райзера до 600. можно переключить растопочную задвижеу летнего хода глянув на дымовые
    }else
    if (thermocouple.readCelsius()
    >leto+200&&thermocouple.readCelsius()<leto+205){bell=4; / контролька нормального режима 800 - 950. Можно подкорректировать воздух
    }else
    if (thermocouple. readCelsius()>maxR){bell=10;}/ контролька начала перегрева райзера 950. Лучше придушить
    else bell=0;
    if (bell>=1&&benn=1) {
    for (int b=0;b<=bell;b+){digitalWrite (LED_BUILTIN, HIGH); /звонок тут
    delay (50);
    digitalWrite (LED_BUILTIN, LOW);
    delay (100);
    }
    benn=0; /фраг сброса цикла гудка. Восстанавливается через минуту милсом.
    }
    Встал с утра, растопил и лежу на диване новости мониторю. Ну и по характеру пиков если нужно подхожу. Пока так проще, чем механизмы припиливать. Жена тоже уже на кое какие команды реагирует. Через час всё свободны. К завтраку.
    Может кому пригодится. Не всегда нужно пялиться в дисплей.
     
    Последнее редактирование: 25.04.22
  8. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
    Вдогонку. Дисплей печки после про топки. Дымовые, около печки, углерод и райзер
    IMG_20220425_081544.jpg
    И вкрячил типа метеостанции.
    Давление сейчас, час назад, сутки назад. Влажность и температура ща бортом. Пока датчик на солнце болтается. Был бы в тени показывал 7.
    IMG_20220425_081549.jpg
     
  9. arsenty
    Регистрация:
    15.01.15
    Сообщения:
    3.095
    Благодарности:
    1.079

    arsenty

    Живу здесь

    arsenty

    Живу здесь

    Регистрация:
    15.01.15
    Сообщения:
    3.095
    Благодарности:
    1.079
    Виктрычч, когда хоть какой нить скетч будет рабочий, а не опытно -показательно-кусочный?.Летом будем отрабатывать *печурку* весьма замудреную, вот бы и хотелось твою разработку попытаться притереть к конструктиву. И Тебя к этому можно припахать в роли консультанта-конструктора.
     
  10. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
    Да легко. Вот буба с ПИД. Рабочая. Уже откатана на весеннем потеплении. Основной режим ПИД по температуре помещения. При невозможности удержаться на малых оборотах переходит в режим удержания минимальных дымовых для минимального но факела.
    Пока загрузить не получается, не поддерживает тип файла ino.
    Че-нить придумаю.
    И не стреляйте в музыканта. Он играет как умеет. Некоторые комменты совсем не в тему. Некогда прибраться.
     

    Вложения:

    Последнее редактирование: 25.04.22
  11. Контора
    Регистрация:
    19.11.17
    Сообщения:
    131
    Благодарности:
    16

    Контора

    Живу здесь

    Контора

    Живу здесь

    Регистрация:
    19.11.17
    Сообщения:
    131
    Благодарности:
    16
    OMRON D6F-PH0505AD3 -50Па-+50Па по шине I2c 3. volta работает на FLPROG написан блок.
     
  12. Контора
    Регистрация:
    19.11.17
    Сообщения:
    131
    Благодарности:
    16

    Контора

    Живу здесь

    Контора

    Живу здесь

    Регистрация:
    19.11.17
    Сообщения:
    131
    Благодарности:
    16
    OMRON D6F-PH0505AD3 -50...50Па I2C 3.3 вольта блок написан автором FLPROG
     
  13. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
    Добрый день. Помогите люди добрые, сами мы не...
    Проблема с блютузом. На новой конструкции при включении и выключении терминала телефона либо обрыве связи прилетает ноль в одну из переменных. Отличие от нормально работающих, это использование OneTimer. h и блютуза JDY-31 (HC-05 кончились).
    Фрагмент. Суть: при отправке не только команды а и цифры она прописывалась в ячейке.
    if (Serial.available() > 0) { str = Serial. readString();

    if (str = "F+"){ P=POW; POW=20;}else
    if (str = "F-"){ POW= P;}else
    if (str = "P+"){ POW=POW+1;}else
    if (str = "P-"){ POW=POW-1;}else
    if (str = "P+5"){ POW=POW+5;}else
    if (str = "P-5"){ POW=POW-5;}else
    POW= str. toInt(); / РOW обнуляется при обрыве связи.
    POW = constrain (POW, 0,20);
    Serial. println (POW);

    }

    Где чего поправить?
     
  14. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
    Отбой. Разобрался. Завёл дуркующую строку в фигурные скобки. Хотя этот фрагмент криво, но работал с НС-05. Похоже новый модуль при вкл/откл генерит какой то не цифровой символ. С цифрой недоделаный блок справлялся.
     
  15. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.387
    Благодарности:
    1.327
    :hello:
    Всём добра! Начался полноценный отопительный сезон. Напомню, что кочегарю печь бубафоню, но несколько продвинутую. На сегодняшний день алгоритм управления сервой заслонки воздуха на словах такой:
    В устоявшемся режиме управляет классический ПИД по температуре помещения. Но максимальный угол открытия ещё контролирует ещё один П регулятор по температуре дымовых. Удерживает максимальную мощь. Первая картинка. Красное. Третья колонка дымовые в корень трубы.
    А минимальный угол для поддержания минимального факела ещё один П регулятор. Розовое. Всё трое дружат друг с другом. Скетч без премудростей прилагается. Ну и картинка ведения минимального факела не в большой ущерб задания. Вторая колонка температура. Третья дымовые. Последняя серва.
    И пламя на 115 дымовых.

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

    Вложения:

    • IMG_20221101_223450.jpg
    • Screenshot_2022-11-01-22-22-42-631_de.kai_morich.serial_bluetooth_terminal.jpg
    • IMG_20221101_153818.jpg