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

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

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

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

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379
    Старт/стоп это управление поездом как трамваем. Что бы там не говорили. Это не лампочку включил и выключил. Какое нафик качество горения в переходных процессах. Вот про это и речь. И душить не позволяет и разогнаться не может.
    Вот кстати фрагмент. Сгорело пол чурки судя по торчащей трубе. Заслонка в крейсерском положении. Сверху нахлобучивается клапан ПВ.
    https://youtube.com/shorts/EvIyKO-3Zo8?feature=share
     
  2. Оксфорд
    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880

    Оксфорд

    Живу здесь

    Оксфорд

    Живу здесь

    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880
    Адрес:
    Уфа
    У каждого свой путь.
     
  3. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379
    Старт/стоп это управление поездом как трамваем. Что бы там не говорили. Это не лампочку включил и выключил. Какое нафик качество горения и экономия топлива в переходных процессах. Вот про это и речь. И душить не позволяет и разогнаться не может.
    Вот кстати фрагмент. Сгорело пол чурки судя по торчащей трубе. Заслонка в крейсерском положении. Сверху нахлобучивается клапан ПВ.
    https://youtube.com/shorts/EvIyKO-3Zo8?feature=share
    И дым при этом и трубу чистить не нужно
     

    Вложения:

    • IMG_20211125_162257.jpg
    Последнее редактирование: 25.11.21
  4. Оксфорд
    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880

    Оксфорд

    Живу здесь

    Оксфорд

    Живу здесь

    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880
    Адрес:
    Уфа
  5. Оксфорд
    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880

    Оксфорд

    Живу здесь

    Оксфорд

    Живу здесь

    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880
    Адрес:
    Уфа
  6. Оксфорд
    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880

    Оксфорд

    Живу здесь

    Оксфорд

    Живу здесь

    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880
    Адрес:
    Уфа
    Естественно это разумный компромис. Вот только как заставить нормально работать котел на минимальной мощности с большим объемом шахты по другому пока не предложили. А хочется комфорта. Например шахтный с топливником 350 литров заставить отдавать 5 кВт.
    Пока по другому получается хуже. Пример Таймень 10. 130 литров - 5 кВт горение проблемное. См тему соответствующую. Кремень 25. Шахта 180 литров. 5 кВт (у продвинутых 3) легко. Есть первоначальные данные что и 350 литов выдает 5 кВт без танцев с бубном.
     
    Последнее редактирование: 25.11.21
  7. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379
    Естественное горение. Шахта вверх ногами. Добивать Стропуву. Дрова отдельно от воды.
     
  8. Оксфорд
    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880

    Оксфорд

    Живу здесь

    Оксфорд

    Живу здесь

    Регистрация:
    12.04.12
    Сообщения:
    9.549
    Благодарности:
    1.880
    Адрес:
    Уфа
    Не надо всех за идиотов держать. Принцип известен много лет- где куча довольных пользователей?
     
  9. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379
    Дык брошена на полдороге бизнесменами. Как и многое. Моя печь та же Стропува. Только попроще. Ненравится как горит? Тоже поначалу дёготь в вёдра сливал.
     
  10. alarin
    Регистрация:
    29.07.16
    Сообщения:
    8.695
    Благодарности:
    3.766

    alarin

    Живу здесь

    alarin

    Живу здесь

    Регистрация:
    29.07.16
    Сообщения:
    8.695
    Благодарности:
    3.766
    Адрес:
    Казахстан, Алма-Ата
    Вот именно, что примерно. У нас не измерение ошибки или сумма ошибок, а обновление данных их анализ. Алгоритм другой, хотя сам механизм действительно похож и может быть вполне использован для наших целей. В ПИДе алгоритм заставляет исполнительные механизмы следовать за некой заданной функцией, а у нас мы наоборот, должны эту функцию построить при помощи этих механизмов, да еще и не напрямую, а косвенно, через обратные связи. Обратные связи создает именно процесс горения, а не электрические цепи от исполнительного механизма.
    А вообще, давайте попробуем вместе разобрать детали алгоритма управления, если это интересно
     
  11. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379
    Наблюдение на малых мощностях. Если её регулировать только входом, щель получается настолько тонкая, что её сложно не только удержать саму, но и удержать режим. Но если прижать выход до минимума, то регулирование входом идёт в широком диапазоне. Причём переход идёт в устойчивый режим. Ни какого расколбаса. Ракетчикам это известно. У Берга как минимум 3 единожды настроенных заужения. Но ими же всеми можно манипулировать.
     
  12. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633
    Адрес:
    Москва
    Так это (int=pos) оказывается я написал? Ахренеть!
     
  13. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379
    Всё! Теперь не отмажетесь! :)]
    Я тут накропал аварийные ограничения режима.
    Суть. Не дать потухнуть при зажимании режима термометром помещения. Ну и не дать взлететь при разгоне на легкоплавком топливе.

    / конечники бубы по дымовым

    byte Min_dg=50; / уставка от потухания
    byte Max_dg=200;/ уставка от перегрева
    byte Kf=10; / возможно подобрать
    float T_dg; / термопара дымовых газов
    void setup(){}
    void loop(){

    Min_dg=Kf*(Min_dg-T_dg);/ + к поз серво
    Max_dg=Kf*(T_dg-Max_dg);/ - к поз серво
    Бла-бла-бла

    pos=(int)(P_gain*Err_T+45+Min_dg-Max_g);
    }
    Вопрос. byte справятся с получением положительной разницы? Ну что бы коррекция шла только за краями рабочего диапазона?
     
    Последнее редактирование: 26.11.21
  14. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633
    Адрес:
    Москва
    Не, это все, на мой взгляд не правильно. Потому что, во-первых не надо все валить в кучу, через какое-то время при таком написании по мере развития самому автору будет сложно разобраться, что где. Т. е. Структура должна быть такой, чтобы было понятно что где. Все отдельно ПИД, защита от перегрева, защита от затухания и т. д.
    Например так.
    1. Если дымогазы какое-то время подряд 5 (например) отсчетов превышают какую-то температуру
    поднимаем флаг перегрева OverT_flag=TRUE; и держим его пока есть перегрев.
    2. Если дымогазы какое-то время подряд 50 (например) отсчетов ниже чем задано
    поднимаем флаг опасности затухания UnderT_flag= TRUE;
    3. Считаем pos по ПИДу
    4. Перед тем, как отправить pos в сервомеханизм, проверяем флаги
    если флаг перегрева поднят - ставим угол на ограничение.
    если флаг затухания поднят - открываем на какое-то время заслонку, флаг опускаем по таймеру или какой-то пороговой температуре дымогазов.
    5. Если оба флага опущены, то только тогда передаем позицию по п. 3 в сервомеханизм.
    Что касается byte это число 0...255 (минуса быть не может), если это число участвует в выражениях, как например Max_dg=Kf*(T_dg-Max_dg);, то при этом могут возникать (а могут и нет) трудно отлавливаемые ошибки, потому что переменные в этом выражении разного типа. Поэтому следует сделать явное приведение типов
    Код:
    Max_dg=(byte)((float) Kf*(T_dg-(float) Max_dg));
    А лучше изначально работать с переменными одного типа, нпр float. А начинать экономить надо когда явно не хватает памяти или производительности. Чтобы уйти от float, которые чрезвычайно затратны для 8 битных МК, с далласом можно работать как с числом фиксированной разрядности, он фактически и пересылает не float а целое int, где младшие четыре бита дробная часть градуса.
     
  15. arsenty
    Регистрация:
    15.01.15
    Сообщения:
    3.168
    Благодарности:
    1.118

    arsenty

    Живу здесь

    arsenty

    Живу здесь

    Регистрация:
    15.01.15
    Сообщения:
    3.168
    Благодарности:
    1.118
    Хорошо когда толково разьясняют. :hndshk:
     
  16. Виктрычч
    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379

    Виктрычч

    Живу здесь

    Виктрычч

    Живу здесь

    Регистрация:
    05.06.17
    Сообщения:
    2.420
    Благодарности:
    1.379
    Примерно понятно, но непонятно, как передавать позицию. На бейсике просто указываешь номер строки. А тут?