eddy_em: (Default)
[personal profile] eddy_em
Как уже писал в предыдущей записи, пока сегодня я дописывал альфа-версию документации на MMPP, у меня в разных режимах копились данные с чиллера.

Чтобы облегчить себе жизнь в плане формирования таблиц с данными, набросал вот такой скрипт:
#!/bin/bash
if [ $# != 1 ]; then
    echo "Usage: $0 outfile [pause in seconds]"
    exit 1
fi

OUT=$1
TTY=/dev/ttyUSB0
PAUSE=10
[ x$2 != "x" ] && PAUSE=$2

[ -f $OUT ] || echo -e "#UNIX time\tT0\tT1\tT2\tT3" > $OUT

while true; do
    T0=$(date +%s)
    STR=$T0
    for x in 0 1 2 3 4; do
        echo "[T$x]" > $TTY
        T=$(cat $TTY | sed 's/.*=//')
        STR="$STR\t$T"
    done
    echo -e $STR | tee -a $OUT
    T0=$((T0+$PAUSE))
    while [ $(date +%s) -lt $T0 ]; do echo -en "$(($T0-$(date +%s)))    \r"; sleep 1; done
    echo -en "              \r";
done


Его задача — раз в 10 секунд (паузу можно изменить вторым аргументом скрипта) опрашивать контроллер чиллера и записывать эти данные + время (UNIX time) начала измерения в табличку — первый аргумент скрипта.
А вот такой простой скрипт на октаве рисовал мне данные:
function plotgr(fname)
    [D T0 T1 T2 T3] = textread(fname, '%d %f %f %f %f', "headerlines", 1);
    D -= D(1);
    T0 /= 10.; T1 /= 10.; T2 /= 10.; T3 /= 10.;
    plot(D, [T0 T1 T2 T3]);
    legend("0", "1", "2", "3");
    xlabel("Time, s");
    ylabel("T, {}^\\circ{}C");
    h = gcf();
    TL = get(gca, 'ticklength');
    set(gca, 'ticklength', TL*1.5);
    set(gca, 'linewidth', 3);
    H = 8; W = 12;
    lg = findobj(h, "type","axes", "Tag","legend");
    set(lg, "FontSize", 16);
    set(gca, 'fontsize', 16);
    set(get(gca(), "xlabel"), 'fontsize', 16);
    set(get(gca(), "ylabel"), 'fontsize', 16);
    set(h,'PaperUnits','inches')
    set(h,'PaperOrientation','landscape');
    set(h,'PaperSize',[W,H]);
    set(h,'PaperPosition',[0,0,W,H]);
%    print(h, '-dpdf', sprintf("%s.pdf",  fname));
    print(h, '-dpng', sprintf("%s.png", fname));
endfunction

И опять автоматом какие-то уж больно кривые легенды на графиках получились. Ну да хрен с ними.
Везде T0 - температура на входе, T1 - на выходе, T2 - температура на пластине нагревательного транзистора, T2 - температура воздуха перед вентилятором, охлаждающим радиатор теплообменника.
Итак, сначала температуры в статике:
stay_still

Видно, что T0 ближе всех к батарее отопления, чуть дальше находится T3, еще дальше T1 и T1.
Дальше включил помпу на минимальных оборотах (заполнение ШИМ 80/256, при меньших заполнениях насос не включается). Кулер и нагреватель выключены.
P_080

Видно, как быстро выровнялись температуры (бутылка с водой недалеко от батареи отопления стоит) и температура воздуха над кулером поползла вверх: вентилятор-то выключен!
Далее на 50% мощности добавляем нагреватель:
P_080_h128

T2 быстро взлетает вверх (вот такое большое тепловое сопротивление получилось между транзистором и медной трубкой с водой), понемногу вверх ползет и температура жидкости. Скорость нагрева жутко маленькая: меньше 0.001°C в секунду! Можно рассчитать, кстати: 4Вт тепла нужно для нагрева 1см³ воды на 1°C, у меня почти полтора литра. Т.е. для нагрева этого объема воды на 1°C нужно затратить 6кДж энергии и если бы система была идеально замкнутой, можно было бы определить, что нагреватель при этом отдавал бы около 5Вт мощности в нагрев воды. Если я хочу нагреть этот объем за 1 минуту, то нужна мощность как минимум 6000/60=100Вт!
Теперь выключаем нагреватель и на 100% включаем вентилятор:
P_080_C255

Хорошо заметно, как быстро выросла разница температур между входом и выходом. Ну и температура воздуха перед вентилятором упала из-за появления воздушного потока. За 530 секунд T0 упала на 2°, T1 и T2 — на 3°, T3 вышла на температуру воздуха в кабинете. Но так считать нечестно, т.к. T1 и T2 были горячей из-за включенной грелки. Через 50 секунд после охлаждения они точно стабилизировались, т.о., за 490 секунд T0 уменьшилась на 2.3°, T1 - на 1.7°, T2 - на 2.4° (с точностью до ошибки оно и должно вести себя как T0).
Итого, скорость охлаждения составляет около 0.005°C в секунду! Умножив это на массу воды и 4.19Дж/кал, получим среднюю мощность охлаждения: 29.5Вт! В шесть раз больше, чем давал нагреватель на 50% своей мощности!
Теперь отключаем кулер и смотрим, как температуры за счет интенсивного перемешивания воды выравниваются:
P_080_C0

Всего лишь за 5 минут воздух над кулером вернулся к температуре воды, а вода вышла на средний уровень - около 26°C (на 3° теплее, чем в кабинете!).
Теперь смотрим, что будет, если включить нагреватель на 100%. Заодно и поток увеличим, пусть будет 200/256:
P_200_h255

В прошлый раз нагреватель на 5°С был теплей входящей воды, теперь эта величина равна 6°С. За 2000 секунд T0 увеличилась на 5°C. Мощность нагрева, таким образом, составила 15.7Вт, что в 2 раза меньше мощности охлаждения при меньшем потоке.
Ну, что ж, посмотрим, кто кого! Оставляем насос на 200/256, нагреватель на 100% и включаем кулер на 100%:
P_200_h255_C255

Бдыщь! И температура поползла вниз.. За 1000 секунд T0 упала на 4°C! Т.о., мощность охлаждения составила 25Вт. И если бы система была строго замкнутой, получалось бы, что при такой величине потока эффективность охлаждения возрастает на треть!
ОК, пусть дальше тягаются кто кого, но теперь с меньшей величиной потока — опять 80/256:
P_080_h255_C255

Эффективность охлаждения нагревательного элемента упала, поэтому T2 быстро подскочила, увеличив градиент с 6 до 10°C! Водичка тем временем по температуре достаточно приблизилась к температуре воздуха, значительно снизив эффективность охлаждения. Вкупе с возросшей эффективностью нагрева это дало, наконец, то, что температура почти выпрямилась.
Отключаем нагреватель, и все температуры жидкости радостно стремятся в дружные объятия:
P_080_h000_C255

За 800 секунд (выбросим начальный участок со слишком кривыми графиками) температура примерно на 1.2°C изменилась, т.е. мощность охлаждения составила 9.4Вт (понятно, всего пара градусов разности между температурой жидкости и воздуха).
А теперь включаем насос на 200/256. Но тут я стал подмерзать и закрыл форточку:
P_200_h000_C255

в итоге температура воздуха подскочила почти на 3.5°C, сильно поднасрав статистике. И вместо того, чтобы охлаждаться, жидкость пошла в нагрев. Мощность нагрева с 300 по 500 секунды составила 15.7Вт — прямо как в предыдущем варианте с включенным на 100% нагревателем при таком же потоке воды!
Теперь выключаем кулер и включаем насос на 80/256, а нагреватель на 100%:
P_080_h255_C000

Отбросив первые пару сотен секунд, получаем, что за 3500 секунд вода нагрелась на 8°C, т.е. мощность нагрева получается 14.2Вт. Почему менее эффективно? Потому что с таким небольшим потоком вода эффективней охлаждалась по пути.
Теперь посмотрим просто развлечения ради на график, где насос работает на 100%, нагреватель отключен, а вентилятор дует на 100%:
P_255_h000_C255

Резкая просадка температуры в районе 1000с — это я зажарился и открыл форточку и дверь. Потом закрыл дверь. На 1300 закрыл форточку. Где-то на 1800 снова ее открыл.
Теперь, чтобы порадовать контроллер работой всего на 100%, включаем еще и на 100% нагреватель:
P_255_h255_C255

И в районе 400с я закрыл окно. Создается даже впечатление, что "грелка побеждает"!
Снижаем мощность насоса до 90/256:
P_090_h255_C255

Неужели вот он — баланс? При разнице воды и воздуха в 2°C и потоке в 90/256 охлаждение полностью компенсирует нагрев.
Отключаем кулер:
P_090_h255_C000

Расчетная мощность нагрева — 15.1Вт. Градиент между грелкой и входящей водой — около 8.5°C.
И мешанина:
P_090_h000_C000

Сначала выключаю нагреватель. Температуры очень медленно начинают стремиться к комнатной. Около 1300с включаю кулер на 100%. Около 1400 открыл дверь в коридор. При 1570 установил мощность кулера в 90/256. А на 1900 отключил кулер.
Судя по графику, снижение мощности кулера со 100% до 35% почти не отразилась на интенсивности охлаждения!

Итак, картинки получились очень веселыми. Но сразу становится понятно, что одним транзистором для нагрева не обойтись. Как он ни пыжится, но (даже с учетом потерь на охлаждение воды по пути) дает не больше пары десятков Ватт мощности (надо бы, кстати, замерить эту величину)! И этого оказалось слишком мало. Единственная надежда — ПЗС будет отдавать воде около 100Вт. Т.е., возможно, воду подогревать и не придется особо. Но нужно сначала поиграться "на кошках", разместив систему в подкупольном Ц-1000, но вместо ПЗС воткнув какую-нибудь 100-ваттную грелку. Правда, основные морозы уже того — весна на носу!
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

May 2025

S M T W T F S
    123
45678910
11121314151617
1819202122 2324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 24th, 2025 06:35 am
Powered by Dreamwidth Studios