Отопление загородного дома на arduino с передачей данных в internet

Мне хотелось бы представить очередной пример использования Arduino в реальных задачах. Тут я представлю максимально простой, но реально работающий проект регулировки отопления дома с помощью электрокотла на базе Arduino. Я очень надеюсь, что эта статья поможет кому-то отбросить страхи и попробовать самостоятельно применить свои руки по назначению, это очень здорово тренирует руки, мозги и даёт редкое чувство удовлетворения созданием чего-то интересного. Начав работать с этим контроллером, я до сих пор нахожусь в некотором замешательстве от возможностей, открывающихся при его использовании.

image

История


Почему, собственно, Arduino? Простота, доступность, масса документации и библиотек. Как, наверное, многие, я долго присматривался к Arduino, с детства люблю всякие батарейки и моторчики, а тут новый уровень, полноценный язык программирования и куча возможностей ввода-вывода. Когда его начали выпускать наши “наиболее вероятные экономические партнёры”, цены на него упали до приемлемого уровня. В результате купил старт кит и, вдоволь наморгавшись светодиодами и индикаторами, поимел желание применить его где-то по хозяйству.

image

Что отапливаем


У меня бабушка живёт в деревенском доме под Москвой, там нет ни нормального водоснабжения, ни газа, ни отопления, а решение всех этих задач требует больших капиталовложений либо приложения рук. Вот тут и виделось место, где можно полноценно использовать arduino, есть где развернуться. Самый большой плюс деревенского дома в том, что он традиционно не большой и очень простой. Так и мой — типичный дом крестьянской семьи середины 20-го века, представляет из себя бревенчатый сруб с одной большой комнатой и кухней. Других отапливаемых помещений нет, что для нас плюс, достаточно поддерживать и контролировать температуру в единственной комнате.

Отопление


Оборудование для отопления. Традиционно в доме было печное отопление. Одна “немецкая” печь в комнате (греет за счёт длинной извилистой трубы), вторая “русская” на кухне (греет за счёт больших размеров самой топки). Если кто-то витает в киношных представлениях, что печь это классно и к тому же натурально и романтично, то беру на себя смелость предположить, что эти люди никогда не жили в доме с печным отоплением. На самом деле, это не очень комфортно, неудобно и пожароопасно. Поэтому лет 5 назад был заказан и осуществлён проект по разводке простейшего двухтрубного отопления с газовым котлом. Питать котёл предполагалось из газовых баллонов.

Впоследствии решено было систему модернизировать, добавить насос для принудительной рециркуляции теплоносителя и небольшой 2-киловаттный электрокотёл, чтобы не мучиться с разжиганием газа, когда ещё не очень холодно. Вся автоматизация сводилась к наличию большого рубильника на стене, когда становилось холодновато, его включали, а когда жарковато — выключали. Двух киловатт хватало где-то до температуры 0°C, дальше приходилось зажигать газ или печь, что было крайне неудобно.

image

Экономическая целесообразность


Перед тем как что-либо менять, естественно, было решено посчитать, имеет ли вообще вся эта задумка смысл. Просчитав по опыту расход газа из баллонов, прикинув ожидаемый расход дизтоплива, я пришёл к выводу, что в таких типах отопления нет никакого смысла при наличии достаточного количества электроэнергии. По цене баллоны выходили где то 6-7 тыс в месяц, дизтопливо, если покупать что-то палёное или летнее зимой, можно наэкономить до расхода 5 тысяч в месяц, при этом на чистой электроэнергии получалось 7 тыс. Прибавим сюда стоимость котла, постоянные таскания баллонов и запах от саляры, и станет ясно, что электричество куда проще и вовсе не дороже. Ещё, конечно, есть модные в последнее время пеллетные горелки, но они мне не подходили, так как они не умеют зажигаться сами и потому имеют минимальную мощность, при том совсем не малую (порядка 5кВт), которую 90% времени просто некуда девать, и требуют хотя бы 2 раза в неделю засыпать топливо, что иногда делать некому. Да и стоимость самих котлов на порядок больше предыдущих вариантов, поэтому они подходят для больших домов, где нужна большая мощность и большие затраты, а не в моём случае.

Heavy hardware


Попытался прикинуть требуемую мощность исходя из расхода газа и других прикидок, получилось, что надо 4-5 кВт, с запасом 6. Обзор рынка показал, что существует модель электрокотла, аналогичная уже установленному, но с 3-мя нагревательными элементами по 2 кВт каждый. При том продавалась она без управления, что мне было даже удобнее и дешевле. Вообще, сам котёл это крайне простая конструкция, металлический цилиндр с входной и выходной трубами, сверху притянутая болтами крышка, в которой закреплены ТЭНы. Дополнительно в корпус врезаны 2 датчика, резистивный датчик температуры и датчик, замыкающийся при перегреве, оба от системы охлаждения авто. Теперь встал вопрос о электроэнергии. Моя ситуация упрощалась тем, что рядом с домом находится мастерская, к которой подведены 3 фазы (в народе — 380). Естественно, возник соблазн питать каждый ТЭН от своей фазы, поэтому был куплен и проложен в котельную специализированный 4-жильный кабель в металлической оплётке для подземной укладки. Кабель введён в щиток с последовательно включенными УЗО и блоком из 3-х автоматов по 10А. Далее кабель шёл уже непосредственно в щиток с arduino и уже оттуда к элетрокотлу.

image

Light hardware


Понятно, что управлять ТЭНами будем с arduino, вопрос — как? Придерживаясь принципа — чем проще, тем надежнее, будем их просто включать или выключать с помощью реле безо всяких переходных вариантов. Облазив алиэкспресс, нашёл блок реле для ардуино, который может управлять сразу 5-ю силовыми линиями. Одна беда, максимальный ток, который эти реле могут выдерживать — 10А, а у меня получается 2кВт / 220В ~ 9А. То есть практически максимум, а желательно иметь запас хотя бы 25%. Однако решил рискнуть. Реле честно продержались почти неделю, затем просто начали плавиться. Надо было что-то решать и быстро, ибо была зима и останавливать отопление было нельзя. Потому были прикуплены 30А реле, правда, с обмотками на 12В. Поэтому быстренько припаял к каждому реле по транзистору, чтобы включать их от 5В ардуино.

Схема неплохо работала почти месяц, а потом я заметил, что дома как-то слишком жарко. Проверка показала, что одно реле “запало” в включенном положении. Постучал по нему — заработало опять, но хватило на несколько дней. Поменял его в надежде, что это брак, но уже через неделю то же самое случилось со 2-м реле. Поставив последнее запасное, отправился опять на али. Там были обнаружены специализированные реле для ардуино на 40А! Этих-то должно хватить наверняка, подумал я. Пара-тройка недель ожидания, и вот опять выкидываю транзисторы и ставлю новые реле с уже готовой обвязкой и индикацией. Радость была недолгой, недели через 2-3 опять залипшее реле. Начал изучать вопрос, оказывается, чтобы уменьшить нагрузку на реле и убрать искрение контактов, реле надо включать не как попало, а в момент, когда синусоида напряжения проходит через 0. Ну, в теории это можно сделать с помощью нашего же ардуино, только на подключить через делить все три фазы и смотреть напряжение. Проблема ещё и в том, что реле имеет некоторое время реагирования и, собственно, нам ещё надо его установить опытным путём. В общем, задачка не такая простая.

image

И тут я наталкиваюсь на так называемые Solid State Relay, проще говоря — электросхемка, собранная на мощном тиристоре, в корпусе, похожем на обычное реле. Из его плюсов — нет механики, ничего не залипнет. Не создаёт мощных ЭМ-помех, что важно для ethernet’a, о котором ниже. Они уже содержат схему, которая включает и отключает реле при проходе нуля. На реле есть индикатор включения. Ну и ещё они беззвучные, хотя для нашего случае это не так и актуально. После изучения инструкций и характеристик были заказаны SSR-40DA, что по-русски означает — твёрдотельное реле с постоянным управляющим током 3-5В и током нагрузки до 40А. Заодно решил немного отойти от принципа «проще-лучше» и сделать ещё контроль тока в ТЭНах. Это позволило бы узнать о перегоревшем ТЭНе/реле или отключении питания на одной из фаз. Добавил в заказ модуль контроля тока на 20А, хотя выглядели они хлипковато для такого тока (2.5 квадрата кабель даже не лез в их зажим). Когда реле и модули измерения тока пришли, оказалось, что реле достаточно громоздкие, поэтому было решено перенести всё, что связано с высоковольтной частью в новый ящик, а ардуино оставить в старом.

После первых экспериментов оказалось, что я совершенно забыл, что эти реле, так как собраны на тиристорах, довольно сильно греются. Через сутки работы реле нагревались так, что я не мог терпеть, держа на них палец, то есть градусов 60C, а это уже близко к критическим 80C. Опять полез на али, прикидывая, какие радиаторы приспособить, и тут узнал, что для этих SSR есть штатные радиаторы! На момент установки радиаторов также обнаружил, что один модуль контроля тока сам ток больше не пропускает, а со стороны платы видна подгорелая дорожка. Ещё один модуль также не вызывал уверенности, решил снять их все. В таком виде они всё же слабоваты и опасны, а толку от них не так и много. Проблему отключения фаз или ТЭНов пока отложил как не очень актуальную, за 3 года ни первого, ни второго не случалось не разу.

Теперь о ПО



image

image

Arduino


Сразу же в примерах был найден кусок, который позволял управлять средней мощностью, имея двоичное управление — вкл и выкл. Смысл простой, берём некое окно времени, скажем, 1 минута, и в цикле включаем либо выключаем нагрузку в зависимости от пройденного времени. То есть, если нам надо 50% мощности, то включаем нагрузку в первые 30 сек и выключаем в последние 30, затем цикл повторяется. Быстренько переделал это под 3 независимых реле, если мощность больше 33%, то включаю второе реле, если больше 66% — то третье, а первое включаю и выключаю по основному алгоритму. Теперь встаёт главный вопрос, а по какому алгоритму подбирать мощность? Будучи программистом по профессии сначала решил, что задачка довольно простая, холодно — добавляй, тепло — отбавляй, и попытался прикинуть всё это в уме.

Оказалось, не так и просто. Полез смотреть, как это делают в продаваемых системах, оказалось, там всё либо максимально просто, как в утюге — +1C = выкл, -1 = вкл. Но тогда мы получаем почти 4C колебаний из-за инертности системы! Это слишком грубо, ибо мы можем получать данные с точностью до десятой доли градуса. Также посмотрел алгоритмы работы с использованием температуры уличного воздуха, они оказались достаточно простые и работали на готовых таблицах, которые были заранее зашиты и просто менялись в зависимости от теплопотерь дома. Копая глубже и глубже, я докопался до промышленных установок, в них повсеместно использовали алгоритмы PID-регуляторов. И, о слава популярности, оказывается, у Arduino есть бесплатная PID-библиотека!

Пару слов о том, что такое PID применительно к нашему случаю. Смысл алгоритма в том, что мы сообщаем ему требуемое значение некоторого параметра (температура внутри дома) и в цикле передаём текущее значение, а он выдаёт нам необходимое воздействие (мощность, которую надо подать на котёл). Не вдаваясь в подробности математической модели, как же он работает с точки зрения программиста. Итак, мы имеем температуру в комнате, пусть 20C, желательную температуру 22С, и даём их нашему PID-алгоритму.

Сам алгоритм имеет 3 независимые части, по имени P, I и D. Первая часть работает крайне просто, смотрит на разницу между желательной температурой и текущей температурами. То есть чем холоднее, тем большую мощность нам даст алгоритм. Вроде бы, этого и достаточно, но ведь у нас есть постоянные теплопотери дома, то есть, чтобы держать нужную температуру, нам надо постоянно давать какую-то мощность. То есть даже если температура в комнате равна заданной, нельзя отключать котёл, а надо как-то искать какую-то мощность, равную теплопотерям. А теплопотери меняются в зависимости от температуры на улице. Вот этим и занимается вторая часть под именем I. Алгоритм пытается подобрать мощность, при которой наша температура будет постоянной. И вроде тут-то уже точно всё, но нет.

Дело в том, что сам котёл, теплоноситель, а тем более дом имеют очень большую инертность. И если вы врубили котёл на 100%, то снижать мощность нужно куда раньше, чем температура достигнет желательной, иначе даже при полном отключении мы всё равно успеем перегреть комнату градуса на 2. То же самое при понижении температуры, добавлять мощность надо ещё до того, как температура дошла до нужной. Вот этим и занимается третья часть алгоритма D. Ну теперь, конечно, всё, осталось только понять, какой части давать какой вес, а вот этим занимаются множители каждой части, которые и надо подбирать. Кстати, подбор этих множителей — отдельная и довольно сложная математическая задача, я подбирал их “на глаз”, вспоминая сказанное выше. Сначала ставил все нули, кроме P, и подбирал его так, чтобы не началось само возбуждение. Потом добавлял I, а в конце и D.

Меряем температуру


Для измерения температуры всё на том же волшебном сайте были заказаны цифровые датчики температуры на базе DS18B20. Датчик сам по себе просто замечательный, его не надо ни калибровать, ни как-то настраивать, при этом он может мерить температуру с заданной точностью, а общается с Arduino по протоколу OneWier. То есть на 3 провода длиной до 50 метров можно вешать практически неограниченное число датчиков. При желании их можно даже не питать, а работать только по 2-м проводам (на самом деле, они питаются, но от провода с сигналом), но работают медленнее. В моём случае датчики я заказал в герметичном корпусе, а соединял обычной витой парой. Я поставил 3 датчика, один в котельной, один в доме, в комнате, и один на чердаке под потолком, чердак никак не отапливается и там я получаю температуру на улице.

image

Список закупленного железа


— Плата arduino. Я использовал UNO r3. Цена около 350 р.
— Ethernet Shield, около 500 р.
— Витая пара (смотря сколько надо), бухта в 305м обойдётся около 4 тыс.
— Датчики температуры, около 200 р.
— Блок питания на 110-240 — 12В 2А, 420 р.
— Стабилизатор LM7805, где-то 20 р.
— Реле SSR-40DA 3 шт. по 330 р.
— Радиаторы для реле по 200 р.

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

image

Складываем данные в базу и показываем.

Но всё это, конечно, хорошо, но не стоять же постоянно с компьютером рядом с котлом, всё же хотелось бы знать о том, что происходит дома, удалённо через инет. У меня давно уже был самый простенький VPS сервер от majordomo для чего попало. На нём создал базу данных на MySQL для хранения данных о температуре.

image

Теперь нам надо как-то положить данные из arduino в эту базу. Для этого, естественно, понадобится как минимум связать arduino с интернетом, это не просто, а очень просто. Для этого нам и понадобится Ethernet Shield и его библиотека. В доме давно уже установлен простенький роутер со “свистком” сначала от megafon, а потом от yota. Тянем стандартную витую пару к роутеру и добавляем в программу передачу данных. Передача идёт через вызов странички на PHP с параметрами — данными. Создаём страничку с именем temp.php на нашем инет-сервере

<?php
$dbhost = 'localhost';
$dbuser = '***';
$dbpass = '***';
$dbname = 'nikolaarduino';
$client_ip = $_SERVER['REMOTE_ADDR'];
$temp1 = $_GET["t1"];
$temp2 = $_GET["t2"];
$temp3 = $_GET["t3"];
$power = $_GET["p"];

$connect = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $connect )
{
  die('Could not connect: ' . mysql_error());
}
mysql_select_db ($dbname, $connect);

$sql = "INSERT INTO Temp (datetime, temp1, temp2, temp3, power, ip) VALUES (Now(), '$temp1', '$temp2', '$temp3', '$power', '$client_ip')";

if(!mysql_query($sql))
{echo '<p><b>Data upload error!</b></p>';}
else
{echo '<p><b>OK</b></p>';}
mysql_close($connect);
?>

После этого мы имеем данные о температурах и мощности работы котла, чтобы каждый раз не лазить в базу, а посмотреть последние данные, написал “временный” скриптик на php, но, как известно, нет ничего более постоянного, чем временные вещи, так им и пользуюсь.
gettemp.php

<?php
$dbhost = 'localhost';
$dbuser = '***';
$dbpass = '***';
$dbname = 'nikolaarduino';
$client_ip = $_SERVER['REMOTE_ADDR'];

$connect = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $connect )
{
  die('Could not connect: ' . mysql_error());
}
mysql_select_db ($dbname, $connect);

$query = 'SELECT * FROM Temp WHERE id=(SELECT MAX(ID) FROM Temp)';
$result = mysql_query($query) or die('Error get data: ' . mysql_error());

echo "<table style='text-align: left; width: 100%;' border='1' cellpadding='2' cellspacing='2'>\n";
while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
  echo "<tr align='center'><td colspan='2' rowspan='1'>$line[1]</td></tr>";
  echo "<tr align='center'><td>TempIN = $line[2]</td><td> TempOUT = $line[3]</td></tr>\n";
  echo "<tr align='center'><td colspan='2' rowspan='1'>TempKotel = $line[4]</td></tr>\n";
  echo "<tr align='center'><td colspan='2' rowspan='1'>Power = $line[5]</td></tr>\n";
}
echo "</table>\n";

mysql_free_result($result);

mysql_close($connect);
?>

image

Что хочется добавить в будущем


Конечно, это, в принципе, минимум, который однако позволяет сделать полноценное и достаточно удобное управление отоплением в небольшом доме. Хотя с некоторыми переделками его можно использовать и в многокомнатных и вообще строениях любой сложности, arduino может тут очень многое, если не всё. Именно в этом проекте хотелось бы добавить в будущем:

  • регулятор температуры. Хотя практика показала, что 22.5 это вполне оптимальное значение и в принципе не требует корректировки. Опять же, регулятор хотелось бы сделать удалённо от основного arduino, но для этого надо либо сложную схему, либо ещё один arduino. В общем, есть о чём подумать.
  • Хотелось бы возможность не только читать температуру, но и менять параметры PID на лету. Возможно, сделать отдельно режим “первоначального прогрева”, а то параметр I долго нормализуется после каждого перезапуска программы.
  • Хочется простенькое приложение под android, чтобы на телефоне не тыкать в мелкий браузер. Это самое простое и уже в процессе.
  • Всё же подключить датчик температуры теплоносителя и передавать его данные, как и другие данные температуры.
  • Сигнализация аварийных случаев. То есть автоматически определять потерю напряжения на линиях, отказ реле или ТЭНов.
  • Сделать “карусель”, менять местами назначения ТЭНов. Иначе получается, что один ТЭН работает всегда больше других, и он в теории должен отказать первым. Надо просто время от времени менять PIN’ы в программке. Вроде просто, но никак не дойдут руки добавить.

Текст программы для Arduino:

#include <OneWire.h>
#include <DallasTemperature.h>
#include <PID_v1.h>
#include <DHT.h>
#include <Ethernet.h>
#include <SPI.h>

// OneWire DS18S20, DS18B20, DS1822 Temperature Example
//
// http://www.pjrc.com/teensy/td_libs_OneWire.html
//
// The DallasTemperature library can do all this work for you!
// http://milesburton.com/Dallas_Temperature_Control_Library

OneWire  ds(6);  // on pin 10 (a 4.7K resistor is necessary)
DallasTemperature sensors(&ds);
boolean waithTemp = false;
int TEMPERATURE_PRECISION = 10;

int  lamp1 = 7;
int  lamp2 = 8;
int  lamp3 = 9;

DeviceAddress IntThermometer = { 0x28, 0x8E, 0xF4, 0x28, 0x05, 0x00, 0x00, 0x07 };
DeviceAddress OutThermometer = { 0x28, 0x65, 0x15, 0x32, 0x05, 0x00, 0x00, 0xE2 };
DeviceAddress KatThermometer = { 0x28, 0x61, 0x43, 0x28, 0x05, 0x00, 0x00, 0x14 };

byte addr[8];
unsigned long StartTime = 0;
unsigned long WorkWindow = 60000; // 10min
unsigned long WorkTime, TenTime;
float maxData = 100;
float celsius, temp;
double Setpoint, Input, Output;

int ThermometerCount;
DeviceAddress Thermometer[100];

PID myPID(&Input, &Output, &Setpoint, 10, 0.1, 5, DIRECT); //0.000006 0.03 40

double targetTemp = 22.5;

byte mac[] = { 0xE0, 0x69, 0x95, 0x72, 0x65, 0xE8 };
byte ip[] = { 192, 168, 1, 100 };
byte server[] = { ?, ?, ?, ? };
EthernetClient client;
byte webskipcount = 10;
byte webcount = 0;  

void setup(void) {

  Serial.begin(9600);
  
  //Ethernet.begin(mac, ip);
  Ethernet.begin(mac);
  
  sensors.begin();
  
  pinMode(lamp1, OUTPUT);
  pinMode(lamp2, OUTPUT);
  pinMode(lamp3, OUTPUT);
  


  Setpoint = targetTemp;
  myPID.SetOutputLimits(0, maxData);
  myPID.SetMode(AUTOMATIC);
  
  celsius = targetTemp;
  
  StartTime = millis();
}

long filter(long x, long Nb, long k) {
  static long y = 0, z = 0;
  z += (x - y);
  return y = (Nb * z) >> k;
};  

void loop(void) {

  byte i;
  byte type_s;
  byte data[12];
  long Out;
  
  if (millis() < StartTime) {
    StartTime = millis();
  }
  
  WorkTime = millis() - StartTime;
  if (WorkTime > WorkWindow) {
    WorkTime = WorkTime - WorkWindow;
    StartTime = millis() + WorkTime;
  }

  //Serial.println("cycle");
  sensors.requestTemperatures();
  celsius = sensors.getTempC(IntThermometer);
  Input = celsius;
  if (webcount >= webskipcount) {
    char buffer[10];
    String temperatureS1 = dtostrf(celsius, 2, 2, buffer);
    String temperatureS2 = dtostrf(sensors.getTempC(OutThermometer), 2, 2, buffer);
    String temperatureS3 = dtostrf(sensors.getTempC(KatThermometer), 2, 2, buffer);
    String OutputPowerS = dtostrf(Output, 2, 2, buffer);
    String msg = "GET /temp.php?t1="+ temperatureS1 + "&t2=" + temperatureS2 + "&t3=" + temperatureS3 + "&p="+OutputPowerS;
    Serial.println(msg);
    client.connect(server, 80);
    client.println(msg);
    client.stop();
    webcount = 0;
  } else {
    webcount += 1;
  }

  myPID.Compute();
  //Serial.print(Input);Serial.print(" ");Serial.print(Output);Serial.print(" ");Serial.println(Setpoint);
  
  if (Output > maxData/3*2) {
    digitalWrite(lamp1, HIGH);
    digitalWrite(lamp2, HIGH);
    Out = Output - maxData/3*2;
  } else if (Output > maxData/3) {
    digitalWrite(lamp1, HIGH);
    digitalWrite(lamp2, LOW);
    Out = Output - maxData/3;
  } else {
    digitalWrite(lamp1, LOW);
    digitalWrite(lamp2, LOW);
    Out = Output;
  }

  TenTime = map(Out, 0, maxData/3, 0, WorkWindow);

  Serial.print(celsius);
  Serial.print("  ");
  Serial.print(sensors.getTempC(OutThermometer));
  Serial.print("  ");
  Serial.print(sensors.getTempC(KatThermometer));
  Serial.print("  ");
  Serial.print(Output);
  Serial.print("  ");
  Serial.print(TenTime);
  Serial.print("  ");
  Serial.println(WorkTime);
  
  if (WorkTime < TenTime) {
    digitalWrite(lamp3, HIGH);
  }
  if (WorkTime > TenTime) {
    digitalWrite(lamp3, LOW);
  }
  
}
Поделиться публикацией

Похожие публикации

Комментарии 58
    0
    Можно номер «первого» ТЭН рандомно выбирать.
      +1
      Сделать “карусель”

      Вот об этом хотел сказать.
      Получается при небольших морозах у вас постоянная нагрузка 2кВт на первую фазу, потом добавляется вторая, а третью фазу вы грузите только в конце. Что вызывает «перекос фаз».
      Может есть смысл сделать карусель. Или врубать все 3 ТЕНа — это конечно даст резкий скачек нагрузки в 6 кВт, но не будет перекоса фаз. Хотя по идее резкого скачка не будет, т.к. это для каждой фазы по отдельности будет равнозначно включению 2 кВт. Сейчас так и есть у вас резко включается 2 кВт. Может стоит изучить вопрос регулировки мощности подачей на все 3 ТЕНа частичной мощности. Ведь есть же такие димеры например вот www.noo.com.by/su111-3k0.html
        +1
        На самом деле 2кВт на фазу это копейки. Даже все три тэна на одну фазу можно посадить, собственно перекос страшен только для входного трансформатора, который работает на всё село и десяток кВт особо не заметит. Поэтому перекос фаз как таковой меня не волнует, меня больше волнует долговечность тэнов.
        Плавное включение не рассматривал так как изначально рассчитывал на механические реле. Когда нашёл SSR, оказалось что у них есть модели с плавной регулировкой. Но регулируются они сложно, не по напряжению а по току на входе (ssr-40la). Подумал, подумал и решил схему не менять. Ту что у вас по ссылке честно говоря не вызывают доверия чисто внешне, 3кВт на такую мелочь, посмотрите какие реле 40А не выдерживали, а это вообще для света рассчитано.
          0
          ну как копейки, в моем селе на 1 фазу дают максимум 5 кВт. Взял себе в дом 3 фазы, что бы было 15кВт. Но по факту это те же 5кВт на фазу.
            0
            Ну так и я только по 2 кВт с фазы беру. В принципе это даже меньше чем просто включить масляный нагреватель в розетку.
            0
            Еще можно рассмотреть вариант использования достаточно мощных диммеров, (из ширпотреба, например, такой www.dinuy.com/en/dimmers/led-lamps-led-strips/93-products/dimmers/318-re-el5-001) с управлением 0-10В. Их можно пофазно подключить к ардуино или к готовому ПИД-контроллеру для систем ОВК с выходом для пропорционального управления, коих существует великое множество.
              0
              Усиленно «курил тему». Вариантов 2, либо использовать те же SSR но серии L, либо самому паять схемки с использованием оптопар и тиристоров. В первом случае потребуется как минимум ещё источник питания на 24 вольта и транзисторы для того чтобы дать нужный ток, а по хорошему надо довольно сложную схему с преобразованием напряжения 0-5в в ток 4-20мА. Во втором случае надо ещё здорово модифицировать программу чтобы по прерываниям обрабатывать задержки на фазы волн. В общем оба способа довольно затратные в плане переделок, думаю пока отложу.
          0
          Насколько я понимаю, в инерционных системах I в ПИДе имеет смысл вычислять только когда температура уже близка к уставке. Иначе в процессе начальных колебаний вы будете интегрировать ерунду. А можно что-нибудь еще хитрее придумать. Табулированные значения мощности в зависимости от температуры на улице — из той же оперы: классический ПИД плохо справляется с инерционными объектами.

          А в целом — очень хорошая работа. Ну и, само собой, будет интересно услышать о стабильности системы.
            0
            Да, потому вторым пунктом «Хотелось бы возможность не только читать температуру, но и менять параметры PID на лету. Возможно, сделать отдельно режим “первоначального прогрева”, а то параметр I долго нормализуется после каждого перезапуска программы.»
            Я даже где то подсмотрел простейшее решение, если разница текущего и установленного больше 2х градусов, то ставим параметры вроде (50, 0, 0), а когда становится меньше — то нормальные. Но с текущими (10, 0.1, 5) I всё равно устанавливается достаточно долго, где то часа 2, но для дома это не очень критично, запуски происходят крайне редко.
            Меня больше беспокоит что у меня меняется время PID цикла. Сначала идёт просто опрос датчиков, а потом ещё добавляется довольно длительная задержка передачи данных. Вроде для PIDа это плохо.
            На данный момент программа не менялась уже с прошлой зимы, получаю точность где то +- пол градуса. Типичные колебания от 22.2 до 23 градусов что человек в принципе не замечает.
              0
              Период цикла, само собой, надо учитывать. Просто нормируйте на время и не напутайте с размерностями параметров.

              Я даже где то подсмотрел простейшее решение, если разница текущего и установленного больше 2х градусов, то ставим параметры вроде (50, 0, 0), а когда становится меньше — то нормальные.

              Вполне себе вариант.
            +2
            Не надо делать карусели. И не надо включать нагреватели по одному. Включайте сразу все три фазы. В этом случае средняя выделяемая мощность на одной фазе будет гораздо меньше, чем при ступенчатом включении по фазам. Вы избавляетесь от перекоса фаз и снижаете вероятность срабатывания защиты из-за перегрузки одной фазы. Все элементы схемы будут изнашиваться равномерно (включая кабели). Для электросети такой режим работы будет лучше.

            П.С. Силовая часть у вас собрана экстремально. Я бы опасался.
            П.П.С. Электросеть далеко не всегда разрешает использовать электроэнергию для отопления зданий. Не знаю как сейчас, но раньше в тех. условиях на подключение мощность для обогрева выделялась отдельно. Если все начнут отапливать электричеством, сети не выдержат, т.к. не рассчитывались на это (и сейчас не рассчитываются).
              0
              Я выше писал, 2кВт это совсем не много. То же самое происходит когда вы включаете дома утюг, стиралку или бойлер. Трёхфазное выделялось 60А — 20А на фазу. Для чего его использовать в договоре никак не указывается, только максимальная мощность.
                0
                20А это 4,5кВт на фазу. (Примерно)
                Так, что 2кВт на фазу — это практически 50% от максимально разрешенного.
                0
                Подскажите что не так с силовой частью? Я всё же электронщик и с электрикой знаком только «по картинкам».
                  +2
                  Вообще дерево — это очень смело, особенно радиаторы ключей на нем.
                  По хорошему надо искать способ смонтировать все на DIN-рейку, не забыв как минимум про гальваноразвязку ардуины.
                    +1
                    Не нужно мудрить с DIN, когда ни одного устройства на DIN у топикстартера нет.
                    Гетинакс или стеклотекстолит — нормальное решение.
                      0
                      С деревом да, делал что было под рукой. Развязку — оптронами?
                        0
                        Да, оптронами.
                        Еще проверьте все земли (в т.ч ноут, термометры, ящик, оплетку витой пары если есть) на отсутствие колец и замыканий с чем не надо.
                        Здесь упоминается развязка и где-то на этом же сайте были отличные материалы про земли, с лету не могу найти.
                          0
                          Спасибо большое, ещё раз почитал даташит на ssr, оказалось там уже есть развязка и детектор перехода через 0. С землёй сложнее из за картонки, по идее надо бы заземлять каждое реле ибо пробить может скорее его, на корпус фаза попасть может только что с нарушением изоляции и проводки одновременно.
                            0
                            а как вы реле к ардуине подключили? напрямую к выходам?
                              0
                              Тоже интересует. Ардуина подобные не запускает, не хватает 5V. Пришлось через оптрон, коммутировать 12 вольт на реле. Хотелось бы попроще.
                      0
                      Еще у вас вода как-то подозрительно близко находится от незащищенных электрических цепей.
                        0
                        Купи контакторы/пускатели, они и на 60, 100, 250А бывают.

                        www.etm.ru/cat/nn/9737836/ например

                        еще обращай внимание на качество монтажа, все-таки токи серьезные.
                        контактор это тоже самое реле, но питается обычно от 220в. тебе надо поставить сначала любое слабое реле можно твердотельное, а следом контактор.
                          +1
                          Я бы сказал: все не так. Фанера в щитках, не заземленные корпуса (в т.ч. нагревателя) и дверцы (и вообще, заземление скорее всего отсутствует), расположение аппаратов, подозрительные китайские устройства (успешно сгоревшие и новые), висящие как попало кабели, полиэтиленовые клеммники (я бы их не использовал даже для слаботочки). И т.д. и т.п. На все это есть определенные правила.

                          Судя по фото, стоит автомат на 20А. Для 6 кВт я бы поставил 10А (без учета потребления схемой управления), максимум 16А. УЗО на 300 мА. Формально, ПУЭ не обязывает ставить УЗО на бойлер. Но если уж поставили (что хорошо), то 30 мА было бы лучше. Если такое УЗО будет срабатывать, ищите утечку или неисправность с ТЭНами. Стоять это все должно в мастерской в начале линии, а не в конце. В щитке бойлера достаточно поставить рубильник. На схему управления (блок питания) нужен отдельный автомат (можно двухполюсный) на 2А.

                          Понятно, что собрано из подручных материалов. Для экспериментальной установки постоянно находящейся под наблюдением еще сойдет, но оставлять без присмотра… Надеюсь соблюдены противопожарные расстояния от вашего дома до домов соседей.

                          Дальше попробую объяснить на пальцах (расчеты условные, реальность сложнее). Много или нет 2 кВт не важно. Подключая по фазам, вы сами себе (и другим в поселке) ограничиваете максимальную мощность. Предположим у вас вводной автомат на 16А (трехфазный). На бойлере включен один ТЭН постоянно, второй «моргает» для поддержания температуры, третий отключен. Вы включаете утюг (2,5 кВ). Он попадает на фазу с постоянно включенным ТЭНом и через некоторое время автомат срабатывает. Если «моргать» будут все три ТЭНа одновременно, то на какую фазу утюг ни воткни, автомат не сработает, пока средняя потребляемая мощность бойлера не превысит 3 кВт, т.е. по 1 кВт на ТЭН (двухкиловаттный ТЭН 30 сек. включен, 30 сек. выключен). При включении ТЭНов по очереди максимальная мощность бойлера, при которой включение утюга гарантированно не приведет к срабатыванию автомата, будет всего лишь 1 кВт. А это в три раза меньше. Поэтому всегда надо использовать три фазы, если есть такая возможность. Кстати, допустимый перекос фаз тоже нормируется. Иначе по «счастливой» случайности все заявители могут перегрузить фазу «А» и дружно поплатятся за это.

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

                          В реальности, скорее всего сетям сейчас наплевать на нарушителей, т.к. ходить отлавливать нет желания, это проблема вашего поселка. В первую очередь от нарушителей будут страдать соседи (снижение напряжения и отключения трансформатора). И только через несколько лет постоянных проблем сети может заменят вам трансформатор и протянут новые линии, если будут выделены деньги в бюджете. Хотя электроотопление влияет и на загрузку высоковольтных линий. В общем, я не знаю почему сети сейчас не занимаются этой проблемой. Может считают, что отопление затеряется в выделяемых 15 кВт (раньше выделяли 2-3 кВт).
                            –1
                            >Судя по фото, стоит автомат на 20А. Для 6 кВт я бы поставил 10А (без учета потребления схемой управления), максимум 16А
                            Можно, но мне кажется это не критично. Основная задача — защита от КЗ. Если решу ставить тэны побольше, придётся и автоматы менять.

                            >Стоять это все должно в мастерской в начале линии, а не в конце.
                            Тогда не пойдёт стандартный 4х жильный кабель, надо будет ещё одну жилу отдельно на землю. К тому же я так понимаю есть большой шанс получить рассогласование нуля, в доме отдельная фаза и свой ноль.

                            >Предположим у вас вводной автомат на 16А (трехфазный)
                            Всегда считал что трёхфазный автомат это всего лишь 3 отдельных автомата соединённые механически. То есть не может быть автомата на 16А, может быть 3 автомата по 6А на каждую фазу. Иначе в вашем примере 16А выбивало бы при срабатывании всех 3х тэнов (это 27А).
                            То что вы предлагаете некий аналог импульсного регулирования мощности не спасёт сеть от перегрузок. 38 с половиной ампер по любому больше чем те же 20 с половиной от одного тэна и чайника. Почему вы думаете что для меня или линии лучше кратковременно (что само по себе мне кажется вредно) шарашить почти 40А, чем долговременно 20?
                            Но в любом случае это не играет никакой роли так как у меня отдельная 3х фазная линия на мастерскую. С домом она соединяется где то на общем трансформаторе и общих автоматов не имеет.

                            >Может у вас в договоре и не указано, но это не значит, что разрешено.
                            Хотелось бы подтверждения. Почему вы думаете, что меня должно волновать, что поставщик электроэнергии заключает со мной договор который он не в состоянии выполнить? Про 10% и кратковременность нагрузки тоже хотелось бы хоть каких то подтверждений. В договоре ничего про временный характер нагрузки не сказано.
                              +1
                              Когда речь заходит об электрооборудовании философские размышления о том как сделать почти всегда не уместны. Эта область зарегулирована правилами безопасности и экономической целесообразности. Простор для творчества проектировщика минимальный. Вопросы типа: «какой тут лучше поставить автомат» решаются расчетами.

                              Что касается автоматов (и плавких вставок). Если на нем написано 16А, это не значит, что он сработает при 17А. И при 20А он сразу не сработает и при 30А тоже. Изучите что такое время-токовая характеристика. Именно поэтому в моем примере автомат на 16А не сработает при одновременном включении утюга и ТЭНа, если ТЭН будет переключатся с определенной частотой (для модульных автоматов: трехфазный автомат на 16А это три однофазных на 16А каждый с механической связью).

                              Когда изучите время-токовые характеристики, то поймете, что автомат на 10А в два раза чувствительней к токам КЗ, чем автомат на 20А. А также, увидите какое значение тока КЗ должно быть, чтобы автомат отключился за 0,4 сек (ПУЭ 1.7.79). Затем попробуйте рассчитать значение однофазного КЗ около нагревателя и если все посчитаете правильно, то может оказаться, что его недостаточно для отключения автомата в требуемое время.

                              Кроме того, защита должна быть селективной. Вышестоящий автомат не должен срабатывать. Сравнивайте время-токовые характеристики и берите запас.

                              И последний аргумент. Номинал автомата всегда принимается минимальным. Это правило.

                              Как у вас подключен дом и мастерская со слов не понятно. Если кабель четырехжильный, то автомат в начале линии, а УЗО в конце. Но скорее всего вам надо что-то переделывать.

                              На остальные вопросы вам ответит любой старый учебник по электроснабжению.

                              Кроме КЗ, автомат защищает еще и от перегрузки.
                              Мощность трансформатора иногда указана на ТП. Но не в кВт, а кВА.
                              Импульсное регулирование трехфазного нагревателя на 6 кВт (это 9,1А, а не 40А) для исправной электросети абсолютно безопасно. Это чисто активная и слабая нагрузка. Более того, это именно так и делается.

                              Прежде чем заниматься электропроводкой, посоветуйтесь с инженером (или хотя бы с монтажником). Не все так просто, как кажется.

                              П.С. Читайте ПУЭ.
                              П.П.С. А вообще, лицам без специального образования и допуска по электробезопасности лезть в электропроводку запрещено. Это угроза не только для вашей жизни.
                                –1
                                > Именно поэтому в моем примере автомат на 16А не сработает при одновременном включении утюга и ТЭНа
                                Но в вашем примере автоматы просто неверно рассчитаны. Если вы понимаете в электрике то знаете как расчитываются автоматы, их рассчитывают по максимально возможному току * 1,52. Превышения номинального тока быть не должно, только во время аварийных ситуаций.
                                >Когда изучите время-токовые характеристики, то поймете, что автомат на 10А в два раза чувствительней к токам КЗ, чем автомат на 20А.
                                Опять же насколько я знаю, для КЗ там отдельная схема и она одинаковая что на 10, что на 20А. Опять же по расчётам мне требуется автомат 16А, а не 10. Разница 16-20 уже не так значительна.
                                >Как у вас подключен дом и мастерская со слов не понятно
                                Могу повторить. На мастерскую от общего трансформатора идёт отдельная линия 3 фазы. На дом оттуда же идёт одна фаза. Общих автоматов у них нет. Поэтому включая чайник в доме я на 3х фазную линию нагрузку никак не даю.

                                Вы так и не объяснили главную мысль, почему вы считаете что импульсная (кратная не периодам, а минутам) нагрузка на 3 фазы сразу лучше чем нагрузка на одну фазу, импульсная на вторую и отсутствие нагрузки на 3ю, как реализовано у меня сейчас.
                                Я руководствовался простым принципом, что подключение нагрузки вызывает просадку напряжения у других потребителей на этой фазе. Если я буду дёргать все 3 фазы, страдать будут все, если только одну — то одна.
                                  +1
                                  У меня был показан пример того, в чем смысл распределения нагрузки по фазам (и импульсного регулирования), а не как выбирать автоматы.

                                  I*1,52 — нет такого правила. Номинал автомата выбирается по расчетному току нагрузки с учетом возможных скачков тока (как правило, это пусковые токи). Большинство скачков вписываются в ВАХ, поэтому ни на что умножать ток не надо. Рассчитываете ток нагрузки и принимаете минимальный номинал автомата. Затем смотрите какой будет пусковой ток и его длительность, открываете ВАХ и проверяете, чтобы он не вызывал отключение автомата. Если надо, меняете характеристику B на C, C на D, если это не помогает, то увеличиваете номинал.

                                  Формулы в книжках, где ток нагрузки на что-то умножается даны для быстрых приблизительных расчетов под разную нагрузку. То, что я написал это общее универсальное правило дающее самый точный результат. И именно его надо стараться всегда использовать.

                                  У ТЭНа нет пускового тока, который бы влиял на автомат. Поэтому надо брать автомат B10 в вашем случае.

                                  У модульных автоматов ток отсечки (защита от КЗ) пропорционален номиналу и зависит от характеристики (B, C, D).

                                  Почему лучше импульсное регулирование см. выше (перечитайте, попробуйте вникнуть). Это я и объяснял. Никаких страданий от «дерганья» трех фаз не будет. Если включение нагрузки в 2 кВт на фазу у вас вызывает просадку напряжения, то сеть неисправна. Но даже в этом случае единственный вред от этого — моргающие лампочки.
                                    0
                                    * ВАХ заменить на ВТХ (время-токовая характеристика)
                                      0
                                      Про автоматы понял, спасибо. Единственное там от них ещё и насос питается, поэтому на одной фазе больше 10А выходит, пот ому всё равно 16А потребуется. По возможности поменяю, сейчас вспомнил, просто 16А не было в наличие в Мерлене, вот и взял что было.
                                      Про 3 фазы одновременно перечитал, но так и не понял. Если «дёргать» одну фазу, то из минусов — просадка на этой линии, повышение на 2х других. Если дёргать все 3, то просто просадка по всем 3м будет. Других каких то минусов не вижу честно говоря.
                                        +1
                                        Если дёргать все 3, то просто просадка по всем 3м будет.

                                        Блин. Зато перекоса не будет, не?
                                          0
                                          Ну а что такое перекос? Это когда при подении напряжения на одной фазе, на других оно возрастает. Те же яйца перепады только в другую сторону. Но при этом общая нагрузка на сеть может быть в 3 раза меньше.
                                          ЗЫ насколько я знаю трансформатор у нас со схемой защитой от перекоса.
                            0
                            Какая разница электросети, идут ли 2 кВт на чайник или на обогрев помещения?
                            Пока не срабатывает вводной автомат — все мое.
                              0
                              Это как с интернетом. Физическому лицу можно продать толстый канал за копейки, так как в среднем 90% времени он простаивает у всех. А юрлицу дорого, так как утилизация близка к 100%
                            +1
                            регулятор температуры

                            Не планировали делать регуляцию в зависимости от времени?
                            8:00 — 16:00 по будням никого дома нет — можно греть до +14
                            22:00 — 06:00 все спят — хватит и +20

                            Или от такого решения не ожидается существенной экономии?
                              +1
                              Примерно прикидывал и пользовался результатами замеров других людей, остужать более чем на 5 градусов (до 17-15С) не имеет смысла, на последующий быстрый прогрев потребуется энергии больше чем наэкономили. А так как в доме постоянно кто то есть, то имеет смысл только что ночной режим, но опять же существенной экономии он не даст. Хотя может и стоит попробовать ради комфорта ночную понижать до 20-21. При том началом ночного режима считать темноту в комнате по датчику. Но тут наверное всё же потребуется 2й arduino чтобы не тянуть датчик по ещё одному проводу.
                              +2
                              У вас не заземлен щиток и дверца.
                                0
                                А там вообще что-то заземлено?
                                  0
                                  Вообще, УЗО надо ставить на выходе из главного щитка, а щас получается, что участок между котельной и щитком не заУЗОван
                                    0
                                    УЗО там, между прочим, на 300мА, от поражения током не очень-то и поможет.
                                      0
                                      Да, такие узо мы ставим при вводе в дом (автомат на улице в щитке рядом со счетчиком).
                                      А в доме 30мА только, причем на каждую линию, которая имеет или может иметь контакт с человеком ставится свое узо. (Любые отводы на улицу, ванную, розетки)
                                      • НЛО прилетело и опубликовало эту надпись здесь
                                          0
                                          Ну вот так электрика делается на Кипре. На вводе в дом, перед счетчиком стоит автомат с УЗО, и максиманый ток допустимый 300мА, все розетки получают по УЗО 30мА на линию, все провода, что проходят через ванную, должны тоже получать по узо 30 мА. Всё, что выходит на улицу — тоже получает отдельное УЗО.
                                0
                                А почему бы не сделать PID автоподстраивающийся? Понятно, такая модель сложнее, но я думаю всё решается какими-нибудь дифференциальными уравнениями
                                  +5
                                  Меня терзают смутные сомнения. Сомнения насчет надежности ардуины. А как этот дешевый и глючный китайский клон атмеги (ну хорошо, оригинальная атмега, если покупали ардуину не на алиэкспрессе) возьмет и зависнет? Не приведет ли это к тяжелым последствиям, вроде закипания теплоносителя в системе с разрывом трубопроводов, к критическому перегреву помещения и пожару и так далее? Защиты от подобных нештатных ситуаций я не увидел.
                                    0
                                    У автора написано про котёл:
                                    Дополнительно в корпус врезаны 2 датчика, резистивный датчик температуры и датчик, замыкающийся при перегреве, оба от системы охлаждения авто.
                                      0
                                      Да, по хорошему надо бы сигнальные линии провести через реле, а его через этот датчик.
                                      0
                                      дешевый и глючный китайский клон атмеги

                                      А есть клоны атмег?
                                        0
                                        Есть. Даже официальные какие-то есть (LGT8F88), а то, что атмеги с алиэкспресса бывают глючные — я с этим сам столкнулся. Флеш сыпался, или просто зависали иногда (с сохранением целостности прошивки). Все заработало, как часы, когда поставил купленную в «Вольтмастере». И китайская глючная Arduino Mega 128 тоже была. Хотя тут не факт, что контроллер поддельный, может развели с косяками или что-то с питанием намудрили. Возможно, речь идет не о клонах, а просто брак сливают. Но факт…
                                      0
                                      Других отапливаемых помещений нет, что для нас плюс, достаточно поддерживать и контролировать температуру в единственной комнате.
                                      заказан и осуществлён проект по разводке простейшего двухтрубного отопления с газовым котлом. Питать котёл предполагалось из газовых баллонов.

                                      В данном случае можно было бы обойтись газовым конвектором и парой электрических конвекторов с термостатами. Было бы эффективнее и комфортнее.
                                      ЗЫ. Поставьте между электрокотлом и отсечными кранами клапан аварийного сброса давления, а то ненароком кто-нибудь перекроет краны не выключив котёл…
                                        0
                                        А смысл? Газовый конвектор — крайне упрощённое отопление котлом. Тот же баллон таскать, дырку на улицу сверлить, по цене никаких плюсов. Электрические конвекторы — да, но ставить 6 ковекторов (сколько окон) накладно, да и пришлось бы проводку переделывать.
                                        ЗЫ краны кроме меня никто не перекроет.
                                        0
                                        А смысл? Газовый конвектор — крайне упрощённое отопление котлом. Тот же баллон таскать, дырку на улицу сверлить, по цене никаких плюсов.
                                        На мой взгляд в данном случае водяной котёл был избыточен.
                                        Электрические конвекторы — да, но ставить 6 ковекторов (сколько окон) накладно, да и пришлось бы проводку переделывать.
                                        Да и не обязательно под каждое окно вешать.
                                          0
                                          Тогда с большой вероятностью будут плачущие или замёрзшие окна.
                                          0
                                          Чем не устроили терморегуляторы, продаваемые в магазинах? Начиная от банальных, с механическим выбором нужной температуры, и заканчивая теми, которые стоят примерно как итоговая сумма, но уже имеют дисплей и всякие шлюшки, типа возможности настройки расписания и сработок по внешним факторам, датчиков движения, например.
                                            0
                                            У меня в чем-то похожая статья habrahabr.ru/post/248219/

                                            Также посмотрел алгоритмы работы с использованием температуры уличного воздуха.

                                            Какие-нибудь ссылки сохранились?
                                              +1
                                              Спасибо за статью, интересно, жаль у меня нет выделенного сервера.
                                              Ссылок точных нет, копал в реальном режиме по постам в forumhouse. Выяснил что алгоритм примерно такой. Из готовых таблиц выбирается определённая температура теплоносителя основываясь на температуре на улице, например на улице -10 = теплоноситель 30С. Если через заданное время, например 30 минут, температура в доме не достигла требуемой, то делается вывод что температура теплоносителя мала и выбирается другая таблица, с более высокими температурами носителя. Получаем например -10 = теплоноситель 40. Если температура достигла нужной, то эта таблица принимается верной и температура теплоносителя держится согласно уличной на основе таблиц.

                                              Я прикинул что имея данные по температуре в каждой комнате, данные о положении регулятора потока теплоносителя (а лучше самому регулировать), вполне можно тем же PIDом подобрать минимальную температуру теплоносителя без уличной температуры. Это будет куда точнее и правильнее.
                                              0
                                              Спасибо!

                                                0
                                                Комментарий от автора в стиле «3 года спустя».
                                                Два года оборудование работало нормально, никаких проблем не было. Но в один день… Судя по всему был хороший разряд молнии, дома никого не было, наблюдал только последствия.
                                                Вырубились все автоматы на входе, в том числе и в доме. Выгорели все датчики температуры. Так же сгорел Ethernet шилд. Собственно из живого осталась Ардуина, БП 12в и силовая часть.
                                                Для быстрого возобновления работы, чтобы не разморозить дом, купил и подключил регулятор температуры тёплых полов. Он выдавал на выходе 220, которые шли на БП на 12В, а оно включало все три тэна. Устройство оказалось не очень удачным ибо без PID были очень большие перепады температуры как в доме, так и в трубах. Они сначала успевали разогреться градусов до 60ти, а потом долго остывали градусов до 5. Опасаясь за здоровье и жизнь всего отопления прикупил и поставил готовый PID с выходом для SSR REX-C100. Он имеет автоматическую настройку параметров, возможность подключения сигнализации перегрева или наоборот недогрева и умеет работать с любыми термопарами, в комплекте шла типа K с металлической оплёткой. На данный момент в жилой комнате стоит REX-100C с датчиком, от него провода идут в силовой щит котельной где параллельно подключены все 3 SSR.
                                                Регулируется температура точно, каких либо проблем не замечено.

                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                Самое читаемое