Как уже писал в предыдущей записи, пока сегодня я дописывал альфа-версию документации на 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) начала измерения в табличку — первый аргумент скрипта. А вот такой простой скрипт на октаве рисовал мне данные:
И опять автоматом какие-то уж больно кривые легенды на графиках получились. Ну да хрен с ними. Везде T0 - температура на входе, T1 - на выходе, T2 - температура на пластине нагревательного транзистора, T2 - температура воздуха перед вентилятором, охлаждающим радиатор теплообменника. Итак, сначала температуры в статике:
Видно, что T0 ближе всех к батарее отопления, чуть дальше находится T3, еще дальше T1 и T1. Дальше включил помпу на минимальных оборотах (заполнение ШИМ 80/256, при меньших заполнениях насос не включается). Кулер и нагреватель выключены.
Видно, как быстро выровнялись температуры (бутылка с водой недалеко от батареи отопления стоит) и температура воздуха над кулером поползла вверх: вентилятор-то выключен! Далее на 50% мощности добавляем нагреватель:
T2 быстро взлетает вверх (вот такое большое тепловое сопротивление получилось между транзистором и медной трубкой с водой), понемногу вверх ползет и температура жидкости. Скорость нагрева жутко маленькая: меньше 0.001°C в секунду! Можно рассчитать, кстати: 4Вт тепла нужно для нагрева 1см³ воды на 1°C, у меня почти полтора литра. Т.е. для нагрева этого объема воды на 1°C нужно затратить 6кДж энергии и если бы система была идеально замкнутой, можно было бы определить, что нагреватель при этом отдавал бы около 5Вт мощности в нагрев воды. Если я хочу нагреть этот объем за 1 минуту, то нужна мощность как минимум 6000/60=100Вт! Теперь выключаем нагреватель и на 100% включаем вентилятор:
Хорошо заметно, как быстро выросла разница температур между входом и выходом. Ну и температура воздуха перед вентилятором упала из-за появления воздушного потока. За 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% своей мощности! Теперь отключаем кулер и смотрим, как температуры за счет интенсивного перемешивания воды выравниваются:
Всего лишь за 5 минут воздух над кулером вернулся к температуре воды, а вода вышла на средний уровень - около 26°C (на 3° теплее, чем в кабинете!). Теперь смотрим, что будет, если включить нагреватель на 100%. Заодно и поток увеличим, пусть будет 200/256:
В прошлый раз нагреватель на 5°С был теплей входящей воды, теперь эта величина равна 6°С. За 2000 секунд T0 увеличилась на 5°C. Мощность нагрева, таким образом, составила 15.7Вт, что в 2 раза меньше мощности охлаждения при меньшем потоке. Ну, что ж, посмотрим, кто кого! Оставляем насос на 200/256, нагреватель на 100% и включаем кулер на 100%:
Бдыщь! И температура поползла вниз.. За 1000 секунд T0 упала на 4°C! Т.о., мощность охлаждения составила 25Вт. И если бы система была строго замкнутой, получалось бы, что при такой величине потока эффективность охлаждения возрастает на треть! ОК, пусть дальше тягаются кто кого, но теперь с меньшей величиной потока — опять 80/256:
Эффективность охлаждения нагревательного элемента упала, поэтому T2 быстро подскочила, увеличив градиент с 6 до 10°C! Водичка тем временем по температуре достаточно приблизилась к температуре воздуха, значительно снизив эффективность охлаждения. Вкупе с возросшей эффективностью нагрева это дало, наконец, то, что температура почти выпрямилась. Отключаем нагреватель, и все температуры жидкости радостно стремятся в дружные объятия:
За 800 секунд (выбросим начальный участок со слишком кривыми графиками) температура примерно на 1.2°C изменилась, т.е. мощность охлаждения составила 9.4Вт (понятно, всего пара градусов разности между температурой жидкости и воздуха). А теперь включаем насос на 200/256. Но тут я стал подмерзать и закрыл форточку:
в итоге температура воздуха подскочила почти на 3.5°C, сильно поднасрав статистике. И вместо того, чтобы охлаждаться, жидкость пошла в нагрев. Мощность нагрева с 300 по 500 секунды составила 15.7Вт — прямо как в предыдущем варианте с включенным на 100% нагревателем при таком же потоке воды! Теперь выключаем кулер и включаем насос на 80/256, а нагреватель на 100%:
Отбросив первые пару сотен секунд, получаем, что за 3500 секунд вода нагрелась на 8°C, т.е. мощность нагрева получается 14.2Вт. Почему менее эффективно? Потому что с таким небольшим потоком вода эффективней охлаждалась по пути. Теперь посмотрим просто развлечения ради на график, где насос работает на 100%, нагреватель отключен, а вентилятор дует на 100%:
Резкая просадка температуры в районе 1000с — это я зажарился и открыл форточку и дверь. Потом закрыл дверь. На 1300 закрыл форточку. Где-то на 1800 снова ее открыл. Теперь, чтобы порадовать контроллер работой всего на 100%, включаем еще и на 100% нагреватель:
И в районе 400с я закрыл окно. Создается даже впечатление, что "грелка побеждает"! Снижаем мощность насоса до 90/256:
Неужели вот он — баланс? При разнице воды и воздуха в 2°C и потоке в 90/256 охлаждение полностью компенсирует нагрев. Отключаем кулер:
Расчетная мощность нагрева — 15.1Вт. Градиент между грелкой и входящей водой — около 8.5°C. И мешанина:
Сначала выключаю нагреватель. Температуры очень медленно начинают стремиться к комнатной. Около 1300с включаю кулер на 100%. Около 1400 открыл дверь в коридор. При 1570 установил мощность кулера в 90/256. А на 1900 отключил кулер. Судя по графику, снижение мощности кулера со 100% до 35% почти не отразилась на интенсивности охлаждения!
Итак, картинки получились очень веселыми. Но сразу становится понятно, что одним транзистором для нагрева не обойтись. Как он ни пыжится, но (даже с учетом потерь на охлаждение воды по пути) дает не больше пары десятков Ватт мощности (надо бы, кстати, замерить эту величину)! И этого оказалось слишком мало. Единственная надежда — ПЗС будет отдавать воде около 100Вт. Т.е., возможно, воду подогревать и не придется особо. Но нужно сначала поиграться "на кошках", разместив систему в подкупольном Ц-1000, но вместо ПЗС воткнув какую-нибудь 100-ваттную грелку. Правда, основные морозы уже того — весна на носу!