avatar_Игорь

Малыш. Управление насосом.

Автор Игорь, 07-12-2020, 12:52:51

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

vova0869

Два полных комплекта .

Denim

"Україна не поділяється на захід, або схід. Вона поділяється на тих хто любить Україну, і не любить" (с) Любомир Гузар

vova0869

Отримав , гарнi малюки . Щиро дякую .

Soul

Игорь говорил: Давайте по настройкам ШИМ, и не только.
Нужно включить малыша без датчика температуры, в настройках ШИМ  поставить минимуму и максимуму  значение 200.
Следить за насосом. Если он гудит и не крутится, постепенно менять значения минимума и максимума не единичку больше. Каждый раз сохранять. И так до тех пор, пока насос не запульсирует.
Если же на 200 насос уверенно крутится, наоборот, последовательно уменьшать настройки, до тех пор, пока насос не остановится. Другими словами, нужно найти минимальное значение ШИМ, при котором насос начинает работать.
К полученному значению нужно добавить двоечку и записать эту цифру на бумажку.
Минимум определен.
Определяем максимум.
В настройки минимума и максимума вводим 1023. Если блок питания не отключается при такой нагрузке, процесс окончен. Если отрубается - найти наибольшее значение, при котором отключений с перезагрузками не случается и отнять двоечку для надёжности.
Значение 1023(или найденное значение) оставляем в клеточке максимума, в минимум вписываем значение, которое раньше записали на бумажке.
Настройка ШИМ закончена.
Кому интересн ковыряться с ПИД...
Расматривая графики реакции Малыша на резкие изменения условий, увидел, что диференциальная составляющая должна быть настроена значительно выше, чем она настроена по умолчанию.
Физический смысл этого коэффициента такой...
Сколько процентов оборотов нужно на одну секунду прибавить к имеющимся, если температура за предыдущую секунду поднялась на 1 градус. Или отнять если опустилась.
Теперь настроим прочие настройки (кнопка с тремя точками)
Аварийные обороты - это такие обороты, на которых будет работать насос если вдруг отвалится, испортится или сбежит датчик температуры. В этом случае насос должен мотать так, чтобы охлаждения гарантировано хватило.

Это лучшая инструкция к Малюку? Если у кого-то есть более расширенная версия, опубликуйте пожалуйста.

ИгорьTopic starter

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

ИгорьTopic starter

Настройка оборудования - не таблица умножения, которая никогда не меняется. Со временем рождаются новые подходы, и инструкции устаревают.
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

Soul

Цитата: Игорь від 08-04-2023, 11:06:08
Настройка оборудования - не таблица умножения, которая никогда не меняется. Со временем рождаются новые подходы, и инструкции устаревают.
Но надо же от чего то отталкиваться.
А то грабли сотрутся.
Для ректификационной колонны.

ИгорьTopic starter

Конкретизируй вопрос, без этого не стартуем.


добавлено: 08-04-2023, 11:36:26


Цитата: Игорь від 08-04-2023, 11:04:30
Многое зависит от того, для какой цели ты используешь Малюка. Если для управления охлаждением, одно, если для дефлегмации - другое.
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

Soul

#608
Для ректификационной колонны.
Все работает, спасибо. Но грызет мысль, что может работать лучше.


ИгорьTopic starter

При управлении температурой воды на выходе из дефлегматора мы имеем два критерия оценки адекватности этого управления.
Первый критерий - точность поддержания заданной температуры длительное время.  В принципе,и колебания температуры в пределах одного градуса вверх и вниз от задания можно считать удовлетворительным. Как правило, без особых усилий удается добиться отклонений не больше 2-3 десятых.
Второй параметр - адекватность реакции управления на изменение условий, это может быть резкое изменение мощности нагрева или резкое изменение настройки.
Если изменить настроенный порог на 10-20 градусов выше достигнутой температуры, реакция управления должна быть быстрой, стремительной. Фактическая температура должна быстро, за минуту, достичь нового порога, причем по мере приобретения к порогу, кривая температуры должна из почти вертикального взлета должна перейти в почти горизонтальное приближение.
"Залёт", то есть пересечение порога вверх,  допустимо, но оно должно быть небольшим и кратковременным. После этого допустимы колебания фактической температуры вокруг порога с уменьшением размаха, и после двух-трёх размахов фактическая температура должна приклеиться к заданию. Идеальный вариант - это когда температура резко взлетает аследиза порогом, а затем переходит к приближению к заданию снизу, и достигает порога с одним, либо вообще без залета вверх. 
Что у тебя отличается от этого?
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

Soul

Все, в принципе так и есть. Есть одно НО. Время от времени на секунду включается насос на большие обороты, хотя отклонений температуры нет. Пендюль отключен. Может причина в блоке питания, помехах на датчик температуры, а может так и должно быть.

Уменьшил коэф.D, вроде перестало.
В общем в поиске оптимальных настроек. Думал опереться на инструкцию.

Гарилыч

Добрый день. Тоже была такая проблема. Сбоил датчик температуры. Кратковременно выдавал завышенную температуру. Исправил заменой датчика.

ИгорьTopic starter

Расскажу про пендель, он же копняк. 
Кому интересно про скачки температуры, сразу переходите к следующему сообщению.


Особенность ПИД управления состоит в том, что оно основано на ошибке. Как в поговорке - пока гром не грянет, мужик не перекреститься.
Для того, чтобы наш насос вышел на рабочие обороты, должна появиться и некоторое время просуществовать ошибка, отклонение температуры от задания.
То есть, когда появляется потребность в охлаждении, неизбежен некоторый зашкал, залёт температуры выше задания. Это может привести к срабатыванию защиты по перегреву.
Поэтому пришлось ПИД дополнять. Этим и занимается пендель.
Когда я его сделал впервые, не был уверен будет ли он работать, поэтому в настройках сделал кнопку его отключения.
Как этот пендель работает...
Если какое-то время (кажется две минуты) фактическая температура ни разу не приблизилась вплотную к заданию снизу, Малюк понимает, что мы приближаемся к порогу и сейчас можем первый раз пересечь его. И если к моменту пересечения обороты насоса будут нулевыми, то залёт температуры неизбежен.
Чтобы всё-таки его избежать, Малюк даёт насосу пендель, подсрачник, то есть не ожидая накопления ошибки, сразу даёт некоторые обороты насоса,  как будто ошибка уже существовала и накопилась.
Это помогает если не устранить, то по крайней мере снизить залёт.
Это сработает только в том случае, если пендель  в настройках под тремя точками включен. 
Там же рядом есть ещё одна настройка, автокоррекция пенделя.
Вот что это такое.
Важно не только дать насосу пендель, надо ещё знать какой силы он должен быть.
Если пендель будет очень слабым, система не заметит его, и стартовый залёт температуры, с которым мы боремся, все равно произойдет. 
Если пендель будет чрезмерно сильным, мы дадим слишком много охлаждения, и температура рухнет вниз. Через некоторое время она снова подкрадется к порогу, и снова получит пендель, от которого опять обрушится вниз. Так и будет скакать, на стабильный режим так и не выйдет.
Значит в момент пересечения порога мы должны установить как раз такие обороты, которые необходимы для нормального, стабильного поддержания охлаждения.
При каждом срабатывании "пенделя" Малюк берет его силу из настройки аварийных оборотов. Если автокоррекция пенделя запрещена, адекватность силы пенделя будет зависеть от того, угадал ты это значение или нет.
В эту настройку надо установить примерно такое значение оборотов, которое устанавливается в стабильном режиме.
Если автокоррекцию пенделя разрешить, Малюк сам сделает это, но только после того, как выйдет на стабильный режим. И в дальнейшем будет постоянно корректировать значение аварийных оборотов.
И если датчик температуры по какой-то причине отвалится, Малюк перейдет на аварийный обороты, и они уже будут соответствовать свежему значенню оборотов в стабильном режиме. 


Что надо понимать.
1. Пендель срабатывает только при первом пересечении порога снизу вверх, либо после приостановки нагрева, либо после изменении настройки температуры. После этого он никак не проявляется.
2. Если включить пендель без установки правильного значения аварийных оборотов, первое время он будет срабатывать плохо, пока в аварийных оборотах не появится адекватное значение. Его нужно либо установить вручную, либо предоставить Малюку возможность сделать это самому, разрешив аатокоррекцию пенделя.
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ИгорьTopic starter

О прыжках температуры.
На графиках в последних сообщениях они прекрасно видны. Из появление связано со спецификой работы цифрового датчика температуры. Раз в секунду он передает Малюку значение температуры в виде 13-ти единичек или ноликов. Каждая из единичек имеет свой вес от 1/16 до 64 градусов. Если вместо какого-то нолика Малюк примет единичку, возникнет ошибка, равная "весу" сбойнувшей единички.
То есть, причина таких сбоев - в искажении информации на пути от датчика к Малюку.
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ИгорьTopic starter

#614
На картинке - 10 минут работы Малюка и есть два выбрыка. Александр, спасибо за меткое название.
Первый, примерно в середине графика, был на пару градусов вверх. 
Этот псевдо-скачок (ведь фактического скачка температуры не было), вызвал резкую реакцию дифференциальной составляющей, которая для того и рождена, чтобы такие выбрыки гасить. Но проблема в том, что тревога была ложной, а поэтому резкая реакция насоса оказалась лишней. Ложная тревога. 
Второй выбрык - это одноразовое, на одну секунду, пропадание датчика из поля зрения Малюка, то есть он увидел нулевую температуру.
И снова зелёная (дифференциальная) линия метнулась сначала в одну сторону, а затем обратно.
Снова ложная тревога. 


[attach=1]
Как бороться с такими выбрыками?
Два способа - аппаратный и программный. 
Аппаратный - это увеличить помехозащищённость системы.
Программный - это поймать выбрык и проигнорировать неадекватное значение температуры. 
На графике 10 минут, это 600 замеров температуры.
Из них неадекватных только два. Система дала 0.3% сбоев.
Если мы увеличим ее помехозащищённость вдвое, потратив на это кучу времени и денег, она даст за 10 минут один сбой. Разница не велика.
Поэтому я остановился на программном способе фильтрации выбрыков.   


На страничке Малюка справа вверху есть синяя кнопка. Если ее нажать будет видна таблица данных за последние 10 минут. За каждую секунду.
Если рассмотреть эту таблицу во время самого быстрого нагрева, можно заметить, что рост температуры за секунду никогда не превышает 1 градус... Или два? Точно не помню, да и не важно.
Я сделал в прошивке проверку.
Если измеренная температура отличается от предыдущей больше, чем на эту величину, то это выбрык, и мы его игнорируем. Вместо измеренной температуры используем предыдущую.
Это полностью устраняет выбрыки, но таит опасность каким-то чудом пропустить настоящий аномальный всплеск температуры. Чтобы защититься от этого, я разрешил пятикратное игнорирование неадекватного значения. Если на шестой секунде от датчика приходит все то-же  выглядящее неадекватным значение, Малюк понимает, что это не ложная тревога и принимает новую температуру в работу. 
Пока, за время тестирования, я не замечал ни одного случая неправильной фильтрации выбрыков.. 
Изменения прошивки, связанные с фильтрацией выбрыков,  сделаны в новой, пятой прошивке Малюка и Карлсона. 
Кроме того, в ней удалена настройка типа прибора (малюк или Карлсон). Изменить это можно специальной командой один раз при пуске, и нет необходимости потом всю жизнь таскать этот ненужный выбор в настройках.
Думаю, со временем кнопки включения копняка и автокоррекции тоже можно будет удалить.
Пятая прошивка проходит обкатку. Есть подозрение, что если не включить копняк и автокоррекцию, отключается интегральная составляющая ПИД. Поэтому я пока не выкладывал эту прошивку на скачивание. Выложу завтра, но на всякий случай включайте копняк и автокоррекцию.
И ещё... Прежде чем заливать новую прошивку, сохраните скриншоты или перепишите все настройки. Они должны сохраниться, но на всякий случай...
Утром выложу прошивку.


Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

SMF spam blocked by CleanTalk