Протокол опен терм что это

Обновлено: 17.05.2024

OpenTherm (ОТ) является стандартным протокол связи используется в центральное отопление системы для связи между котел центрального отопления и термостатический контроллер. Стандартно OpenTherm не зависит от одного производителя. Контроллер от производителя A в принципе может использоваться для управления котел от производителя B. Однако контроллеры OpenTherm и котлы на самом деле не всегда правильно работают вместе. Стандарт OpenTherm включает ряд дополнительных функций, а некоторые устройства могут включать в себя функции, зависящие от производителя. Наличие или отсутствие таких функций может ухудшить совместимость с другими устройствами OpenTherm.

Содержание

История

OpenTherm была основана в 1996 году, потому что нескольким производителям требовалась простая в использовании система связи между комнатным контроллером и котлом. Он должен был работать, как и существующие контроллеры, по двум существующим проводам, не чувствительным к полярности, без использования батареи. Для одного английский фунт, Honeywell продал первую спецификацию ассоциации OpenTherm в ноябре 1996 года. [ нужна цитата ] Вскоре на рынке появились первые продукты. К 2008 году ассоциация выросла примерно до 42 членов и регулярно обновляла и улучшала спецификации. Кроме того, Ассоциация также активно лоббирует интересы своих членов и также присутствует на таких выставках, как ISH (Франкфурт) и Mostra Convegno (Милан). По состоянию на 2016 год [Обновить] , ассоциация насчитывает 53 члена со всего мира. [1]

дизайн

Связь между контроллером (ведущим) и котлом (ведомым) цифровая и двунаправленная. Можно передавать различные команды и виды информации; однако самая простая команда - установить заданную температуру воды в котле. OpenTherm использует традиционный 2-жильный кабель, не скрученный между контроллером и котлом. OpenTherm не чувствителен к полярности: провода можно менять местами. Максимальная длина проводки составляет 50 м с максимальным сопротивлением 2 x 5 Ом. Для обратной совместимости с традиционными переключаемыми термостатическими контроллерами OpenTherm указала, что если два провода соединить вместе, то котел включится.

Многоточечный

Варианты

OpenTherm / Plus (OT / +)

Два провода используются как для подачи питания на контроллер, так и для двунаправленной цифровой связи между контроллером и котлом. Минимальная доступная мощность 35 мВт. При использовании OpenTherm Smart Power это может, по запросу мастера, также составлять 136 мВт (средняя мощность) или 255 мВт (высокая мощность). Контроллер передает на котел, отправляя Манчестерская кодировка последовательность в области напряжения. Котел передает данные обратно контроллеру в текущем домене. OpenTherm определяет максимальный интервал связи в одну секунду. Данные в коммуникационном пакете функционально определены и называются OpenTherm-ID (OT-ID). Доступно 256 OT-ID, 128 зарезервировано для OEM использовать. Остальные 128 зарезервированы, 90 из них функционально определены. (Спецификация OT v3.0)

OpenTherm / Light (OT / -)

Когда используется OT / -, мастер генерирует ШИМ сигнал напряжения, отображающий заданную температуру котловой воды. Текущий сигнал котла указывает на состояние котла: ошибка, нет ошибки. Из-за ограниченных возможностей ОТ / - используется редко. [ нужна цитата ]

OpenTherm Smart Power

16 июня 2008 года спецификация OpenTherm 3.0 была одобрена ассоциацией. Эта версия представляет OpenTherm Smart Power. Ведущее устройство может запросить ведомое устройство изменить доступную мощность на низкую, среднюю или высокую мощность. С помощью этого мастера производители могут добавить к своей продукции дополнительные функции (подсветка или дополнительные датчики).

Сертификация

Производителям разрешается продавать продукты OpenTherm, если они соблюдают некоторые правила ассоциации OpenTherm. Самое главное, что производитель должен быть членом OpenTherm, а продукт должен быть протестирован независимым органом тестирования. Передавая отчет об испытаниях и декларацию соответствия ассоциации, производитель может использовать логотип OpenTherm.


aforest



aforest



Сергей Долганов


OpenTherm is the name of a non-manufacturer-dependent system of communication between modulating HVAC heating appliances and room thermostats. The system consists of a communication protocol and an interface specification. OpenTherm is futuristic system, which combines simple installation techniques with high functionality and future expansion possibilities.


aforest



GNG


Возможно ли подключить котлы с модулируемой горелкой и протоколом OpenTherm к контроллеру KS E8?
Существуют ли адаптеры интерфейса OpenTherm - CAN, OpenTherm - eBUS?


HVAC


Я сильно сомневаюсь, что для сигнала 0. 10В придумали название Open Therm :-))))))


voVap


Возможно ли подключить котлы с модулируемой горелкой и протоколом OpenTherm к контроллеру KS E8?
Существуют ли адаптеры интерфейса OpenTherm - CAN, OpenTherm - eBUS?

Не появились ли мнения и ответы по данному вопросу?


voVap


Сам спросил, сам отвечу )
Нашел в сети интерфейс конвертор CoCo OT-CAN (в Киеве стоит 1200 грн) специально для контролеров KROMSCHRODER E8. Понятно по названию, что это интерфейс протокола OpenTherm для шины CAN.
На выходных провели тестирование котла BAXI Luna duo-tec 1.28 на предмет управления им по OpenTherm протоколу. Замечу, что нигде в инструкции к котлу протокол OpenTherm не упоминался, да и сам BAXI ответил, что автоматика в котле от Бертелли и хотя протокол и называется Open -Thеrm, он работает с платами и аксессуарами самого Бертелли. Только вот протокол OpenTherm является стандартным, без модификаций!
Результаты тестирования:
Вариант 1.
KROMSCHRODER E8.0634 + CoCo OT-CAN. В BAXI duo-tec подключать на колодку М2, клемы 1-2 (в инструкции как подсоединение пульта дистанционного управления).
На E8 придется убрать датчик котла KF, т.к. надо закоротить между собой контакты 7+8 разъема I (по инструкции), без этого не будет соединения по BUS шине. Не забудьте перекинуть землю датчика бойлера SPF с контакта 7 на какой нибудь другой.
Плюсы:
- Котел нормально управляется по OT протоколу. Работает модуляция, только на контролере ее не видно. Температуру котла контролер получает также по ОТ протоколу.
Минусы:
- температура на гидрострелке и внутри котла могут отличаться, а вернее, всегда отличаются.

Вариант 2.
KROMSCHRODER E8.5064v1 + CoCo OT-CAN. (стоит на 300 грн дороже, чем Е8.0634)
Плюсы:
- все работает, никаких танцев с бубнами, просто делать все по инструкции
- отлично управляет модулируемой горелкой котла
- на контролере Е8 отображается % модуляции горелки
- контролирует температура коллектора (или гидрострелка) по датчику KF
- отдельно показывает температуру котла, которую получает по ОТ протоколу (для информации)
- управляет каскадом котлов, только для каждого котла понадобится свой CoCo OT-CAN

Думаю, что E8.5064v1 + CoCo OT-CAN может управлять любым котлом с модулируемой горелкой по OpenTherm протоколу!

Мой обзор посвящён устройству, позволяющему присоединить комнатный терморегулятор к котлам по протоколу OpenTherm.

Обзор на Устройство для подключения термостатов к газовым котлам ZONT OpenTherm - изображение 1

Это устройство позволяет осуществлять более "глубокое" управление, и расширяет функциональные возможности домашних термостатов .

Необходимость в данных устройствах возникла после постройки дачи. Так как была возможность подключения к газопроводу (посёлок газифицирован), для отопления был выбран настенный двухконтурный котёл Baxi. Первая зима выявила проблему. Газопровод на посёлке проложен подземным способом, и из-за малого количества пользователей конденсат в системе замерзал в трубе при выходе из земли у дома. Так по крайней мере объясняли в управляющей компании. В результате котел вставал выдавая ошибку. В виду того, что это дача, и появляемся мы там только в выходные, узнавали мы об этой проблеме не сразу. Таким образом несколько пятниц были омрачены необходимостью отогревать сначала газовую трубу, а потом и сам дом. Было принято решение об установке устройства дистанционного контроля и управления отопительным газовым котлом. Для этих целей я остановился на продукции фирмы Микролайн.

Сначала я закрепил на ДИН-рейке своего электрического щитка и присоединил к газовому котлу Baxi термостат с SIM-картой ZONT H-1V .

В виду того, что дача расположена за городом, необходимо было сразу знать что за авария (какой код ошибки выдает котел), чтобы ехать на место уже с заранее приготовленным решением проблемы. Именно для этих целей специалисты компании Микролайн мне порекомендовали приобрести прибор для присоединения GSM-терморегуляторов к любым котлам ZONT OpenTherm. Предназначен данный адаптер для подключения контроллеров и термостатов ZONT к газовым котлам по информационной шине OpenTherm. Он дает возможность удаленного регулирования мощности газового или электрического котла благодаря периодическому изменению мощности его горелки, позволяет контролировать многие параметры в его работе .

Упаковано устройство для подключения термостатов к газовым котлам ZONT OpenTherm в картонную коробку. Помимо самого устройства в ней также находилась инструкция и гарантийный талон.

Обзор на Устройство для подключения термостатов к газовым котлам ZONT OpenTherm - изображение 2

Данное устройство представляет собой пластиковый короб для фиксации на ДИН-рейку в электрическом щитке.

Обзор на Устройство для подключения термостатов к газовым котлам ZONT OpenTherm - изображение 3

Клеммы подключения газового отопительного котла и GSM-- термостата ZONT H-1V расположены в нижней части, а плата со всеми микросхемами находится под передней крышкой, которая легко снимается.

Обзор на Устройство для подключения термостатов к газовым котлам ZONT OpenTherm - изображение 4

Установка на DIN-рейку в электрическом щитке и подключение устройства не вызвали никаких трудностей, главное следовать инструкции. К тому же на сайте производителя есть вся подробная информация и хорошо работает служба технической поддержки. После подключения все устройства быстро "увидели" друг друга, и я получил возможность более "глубокого" дистанционного управления и контроля газового котла. В результате управление термостатом пошло не по релейному типу ( включение - выключение горелки ), а путем модуляции мощности её горения ( то есть плавного изменения её мощности). Благодаря протоколу OpenTherm происходит адаптация котла к реальным фактический теплопотерям дома. Термостат оценивает скорость и величину отклонению фактической температуры теплоносителя в системе отопления от заданной, и на основании этой оценки меняет мощность горелки в большую или меньшую сторону. За счет этого достигается экономия расходования газа, и денежных средств соответственно. Ведь постоянная работа горелки в режиме пониженной мощности эффективнее с точки зрения коэффициента полезного действия, чем постоянные её включения и отключения

Обзор на Устройство для подключения термостатов к газовым котлам ZONT OpenTherm - изображение 5

Данная покупка полностью оправдала мои ожидания, смело могу рекомендовать это устройство для подключения термостатов к газовым котлам ZONT OpenTherm.

Еще один термостат на Arduino, но с OpenTherm

2015-02-26 в 7:22, admin , рубрики: arduino, DIY, diy или сделай сам, Ferolli, OpenTherm, термостат, метки: Arduino

Еще один термостат на Arduino, но с OpenTherm - 1

Читая первую часть заголовка многие из вас, наверняка, подумали – еще один термостат на многострадальной Arduino. И… Это правда – да, это очередной термостат для очередного котла, очередного дома, но правда это только отчасти – в статье я не хочу концентрироваться на самом устройстве – их (статей) действительно предостаточно. Несомненно, я опишу термостат, но больше хотел бы рассказать о том, как я связывал сам микроконтроллер с котлом. Итак, кому интересно – прошу…

Как все начиналось

Итак, собственно, с чего началось создание термостата – после установки автономного отопления с газовым котлом, я, как и многие, столкнулся с обычными проблемами – температура в доме очень зависела от погоды на улице – мороз – в квартире холодно, нужно увеличивать температуру теплоносителя в батареях, потеплело – наоборот. Такие танцы с бубном меня не сильно устраивали, т.к. регулировка котла осложнялась тем, что он был установлен за дверцей, а дверца подперта микроволновкой, на которой лежала куча хлама. Ну, вы поняли – иголка в яйце, яйцо в утке и т.д.

Решалась эта проблема очень просто – датчиком OTC (Outside Temperature Compensation), который подключается к котлу и позволяет ему автоматически подстраивать температуру теплоносителя в зависимости от уличной температуры. Проблема, казалось бы, решена, но чтение сервис-мануала на котел (Ferolli Domiproject C24D) быстро растоптало мою надежду – подключение датчика внешней температуры в данной модели не предусмотрено. Все? Все. И вот, наверное, можно было бы закончить, но летом в котле в грозу до сих пор непонятным мне способом сгорает плата управления, и разговаривая с сервис-мэном (плату в последствии отремонтировали) я спросил, возможно ли подключение OTC на мой котел? Он ответил, что подключают, используя внешние термостаты. Это отложилось у меня в памяти, но я не особо на этом концентрировался до наступления холодов, а дальше всё таже проблема.

Вся соль в том, что биты кодируются не уровнем сигнала, а переходом между уровнями в средине периода:

Еще один термостат на Arduino, но с OpenTherm - 3

Вдобавок этот самый переход происходит не ровно посредине периода, а где-то около:

Еще один термостат на Arduino, но с OpenTherm - 4

Как видно, сам период составляет 1мс -10%+15% и переход где-то посредине.

Вот на этом я и остановился надолго. Копировать что-то из интернета не было никакого желания, т.к. в каждом проекте есть свой камень преткновения, решив который чувствуешь себя не просто бездумным копипастером библиотек, а разработчиком, который этот самый проект и делает. Это, собственно, и есть сердце термостата — работа с ОТ, скопировать это означает просто собрать очередную игрушку из конструктора, а не создать что-то свое.

Вот здесь-то мне и захотелось применить все свои скудные знания МК – и прерывания и таймеры и т.п. Да на delay() это все гораздо проще, но, во-первых передача слишком медленная, для того чтобы ее принимать с помощью delay(), а мне хотелось во время приема/передачи выполнять другие действия параллельно, во-вторых мне хотелось, чтобы все выглядело достойно, а не как поделка школьника.

Думал я думал – как же красиво отловить тот самый переход, да еще и разобрать был ли это фронт или спад, и стоило мне посмотреть на это под другим углом, как все тут-же стало кристально ясно – зачем вообще разбираться какой был переход?! Ведь уровень первой половины периода и есть искомое значение бита:

Еще один термостат на Arduino, но с OpenTherm - 5

Есть первый шаг – брать уровень первой половины периода (где то через 250мкс после начала) – вот и все декодирование. Но тут меня ждало следующее разочарование – отловить начало периода не всегда представляется возможным: если идет комбинация 01 или 10, то ничего примечательного между периодами не происходит, т.к. очевидно, что уровень не меняется – нужно искать дальше. И тут второе откровение – в средине периода ВСЕГДА происходит переход – именно им кодируются 0 и 1. Значит можно к нему привязаться, и значение следующего бита будет через половину периода! Здесь-то все и стало окончательно ясно.

Представим, что мы уже приняли часть бит и находимся как раз в средине первого периода:

Еще один термостат на Arduino, но с OpenTherm - 6

Все что нужно сделать – включить прерывание по изменению сигнала на входе. Как только это случится, значит, мы ровно посредине периода. Выключаем прерывание по изменению сигнала, обнуляем таймер, и делаем так, чтобы прерывание по таймеру произошло где-то через ¾ периода (что для ОТ составит 750мкс), при сработке прерывания таймера записать уровень на входе, отключить прерывание таймера, который и является искомым битом и повторить все сначала для всех оставшихся бит.

Особым случаем будет первый бит, т.к. ждать его уровень нужно не ¾ а ¼ периода.

Быстренько были набросаны обработчики прерываний и собрана прошивка, но как же ее отладить без осциллографа и генератора сигнала? На помощь пришли знания из универа – Proteus, в котором можно было пошагово посмотреть, что происходит.

Привожу фрагмент кода, отвечающий за прием манчестерского кода:

Передача, позднее, отлично логически и практически вписалась в эти же обработчики.

Таймер 2 работает все в том же режиме CTC с обнулением каждую миллисекунду, В обработчике прерывания при обнулении (OC2A в режиме CTC) переключаем выход в соответствии со следующим битом. Дополнительно включено прерывание OC2B, срабатывающее ровно на половине периода (0,5 мс) и инвертирующее состояние выхода. Вот и вся премудрость передачи.

Здесь же я собрал схему сопряжения и за часа 3 разобрался с принципом ее работы, который оказался достаточно прост, немного изменил схему, чтобы передавать данные в прямом, а не инвертированном виде, как в оригинале:

Еще один термостат на Arduino, но с OpenTherm - 7

Помимо этого пришлось написать(ну как написать, взять с Интернета и изменить под себя) генератор сигнала на HDL, т.к. вручную набрать 34 бита в манчестерском коде, это не 4 и не 5.

В конце концов, прием/передача были налажены, и пришло время определяться с необходимым оборудованием.

Оборудование

Что, прежде всего, необходимо практически каждому устройству на Arduino? Сама Arduino? Неправильно! Энкодер, и обязательно с кнопкой, как же по-другому? Просто меня всегда привлекал этот тип устройства ввода – нужно обязательно попробовать.

Дальше термостату нужно получать температуру в помещении и снаружи – для этих целей вполне подойдет 2 датчика DS18B20, один залить термоклеем и выставить на улицу, второй будет на плате. Естественно нужен дисплей – без него можно просто насыпать радиодеталей в баночку, завернуть в пакет Сильпо и помешать — эффект идентичен. Я решил взять стандартный знакогенерирующий LCD 20*4 – его вполне бы хватило, I2C расширитель портов для LCD. Сам контроллер — вполне достаточно Arduino Nano (сейчас бы я взял Pro Mini с программатором, дальше расскажу почему). Ну и горстку деталей для схемы сопряжения.

Как видно по фотографии в заглавии, что-то пошло не так. У продавца были очень привлекательные цены на все, потому я решил немного изменить перечень. Вместо двух DS18B20 я взял один в влагозащищенном корпусе + DHT22, так что теперь можно будет получать еще и влажность в комнате. LCD 20*4 в наличии не было, и я взял дисплей от Nokia 5110, энкодеров с кнопкой не было, поэтому был взят обычный + 2 кнопки.

После получения все было распаяно и проверено на тестовых примерах. Первым же делом мигаем светодиодом (я так понял при первом включении платы Arduino это святое). Все работало как положено, поэтому можно начинать улучшать.
Несмотря на наличие аппаратного SPI на Atmega 328, я решил от него отказаться, т.к. ограничения, накладываемые им, меня не сильно радовали – MISO автоматически настраивается на вход, а SS – обязан быть выходом – минус два выхода, а потому оставляем программный SPI. Убираю из библиотеки управление выходом дисплея CE и сразу на LCD соединяю с GND. Получаю – что-то наподобие:

Еще один термостат на Arduino, но с OpenTherm - 8

Развожу в Proteus схему сопряжения и пытаюсь повторить что-то подобное на макетной плате:

Еще один термостат на Arduino, но с OpenTherm - 9

На конце провода видно штатный клеммник котла, который оказался довольно удобным – подключается и отключается без применения инструментов и снятия крышки.

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

Котел работает как нужно, статью можно закрывать.
Trollface.jpg

Естественно ничегошеньки не работает.
Тыкаю тестером в плату сопряжения – она не работает – на входе всегда 20В. Разбираю, смотрю, улыбаюсь. Плату я паял у друга. Сразу вспомнился диалог.

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

Догадайтесь с первого раза, что я забыл?

Вспоминаем часть про прием, а конкретно обнуление таймера на изменении уровня в средине периода. Я подумал, мало ли, вдруг обнулять недостаточно и с таймингами входящего сигнала вообще беда, значит, буду выключать его перед этим в момент считывания уровня на четверти периода, и включать с нуля на изменении, – как ни странно, помогло. Это была та самая победа – не общавшись с МК ни разу до этого, написать с нуля библиотеку, которой я не нашел в интернете, да еще чтобы она заработала со второго раза без осциллографа. Моей радости не было предела.

Немного отойдя от чувства эйфории, я понял, что нужно продолжать, ведь прошивать контроллер каждый раз, когда нужно считать новый параметр(тестовая прошивка в цикле раз в секунду считывала один и тот же параметр), наверное, не сильно юзер-френдли.

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

Отладка и работа с OpenTherm

Итак, первое значение – статус котла – получено. Единственное, что сразу же смутило, — температура ГВС при подключении микроконтроллера сразу становилась максимально допустимой, независимо от настройки на панели котла, как я потом прочитал в мануале к штатному OT термостату от производителя (Ferolli Romeo W): при его подключении ручки служат лишь для включения/отключения соответствующих функций, и более ни на что не влияют. Логично было предположить, что значение параметра температуры ГВС останется таким, каким оно было до подключения по ОТ, но у программистов Honeywell (производитель платы и остальной автоматики для котла) свое мнение на этот счет.

Но все оказалось гораздо проще. Дело было в параметре Max CH Setpoint(57) – максимальная температура контура отопления. После событий с контуром ГВС логично было предположить, что там максимальное значение, но нет, там было установлено значение в 30 градусов. После этого дело пошло заметно веселее.
Вот тут и начинается повесть о самом термостате.

Термостат

Очевидно, что он должен выдавать кучу параметров котла, и уметь их менять, без этого не было бы вообще смысла создавать очередной термостат. Как я уже говорил каждый запрос нужно отправлять приблизительно раз в секунду, самым логичным было написать конечный автомат, который будет переходить из одного состояния в другое один раз за цикл, а его состояния будут отвечать текущим запрашиваемым параметрам. В конце концов, ветвей автомата получилось 3:
1. Рабочая ветвь, в которой опрашивается текущее состояние котла, температура, уровень модуляции. Вкратце ее можно представить так:

Еще один термостат на Arduino, но с OpenTherm - 10

Также есть другие значения аргумента:
1 — записать новую температуру контура отопления;
56 – записать новую температуру контура ГВС и т.д.

Все возможные аргументы видно в конце функции update.

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

Еще один термостат на Arduino, но с OpenTherm - 11

Формулу вычисления требуемой температуры теплоносителя долго крутил-выводил, пока она, в результате, не оказалась ПИ регулятором. В настройки добавил изменение коэффициентов и индикацию интегральной составляющей. До самого ПИ регулятора, для вычисления требуемой температуры я взял формулу из первой статьи, но без интегральной составляющей температура либо не соответствовала требуемой, либо, при большом пропорциональном коэффициенте не соответствовала требуемой и прыгала туда-сюда. Но чтение Хабра быстро дало мне ссылку с описанием ПИД-регулятора, который и был реализован.

Вообще я сделал два режима работы:

1) Прямое управление CH Setpoint – в результате получилось ни что иное как выносная передняя панель котла(ну плюс еще показывает температуры снаружи/внутри и влажность).
2) Собственно термостат с OTC.

Возможно, еще добавлю отключение датчика ОТС и настройку наклона кривой (коэффициент при (settings.indoor_target_temp-ext_temp)), но пока не вижу в этом смысла.

Пару слов добавлю о размещении датчика OTC. Сверлить дыры в окнах и стенах не хотелось, и, обдумывая эту проблему, взгляд случайно упал на старый шлейф MIDI разъема. Недолго думая я припаял провод датчика и загерметизировал место соединения термоклеем (т.к. оно будет находиться на улице). Сам датчик я разместил в тени за внешним блоком кондиционера, чтоб его не нагревали прямые солнечные лучи.

Еще один термостат на Arduino, но с OpenTherm - 12

Еще один термостат на Arduino, но с OpenTherm - 13

Еще один термостат на Arduino, но с OpenTherm - 14

Энергосбережение

В процессе написания статьи, я значительно переписал код и переделал управление – поставил энкодер с кнопкой, добавил ему ручку, сделал аппаратный фильтр дребезга по классической схеме:

Еще один термостат на Arduino, но с OpenTherm - 15

Стало значительно лучше – энкодер перестал проскакивать такты и добавлять лишние значения. Да и новая панель управления стала поудобнее, и должна ровно встать в корпус:

Еще один термостат на Arduino, но с OpenTherm - 16

Дело осталось за самым малым – сделать корпус и повесить на место, но в этом и кроется самая большая проблема. Оказывается стоимость корпусов, отпечатанных на 3D-принтере, вплотную приближается к стоимости всего термостата, что совсем не радует мою ручную жабу, стоимость готовых радиолюбительских корпусов тоже не сильно адекватная для куска пластмассы. Наверное придется поступить, как подсказал друг:

— А ты знаешь, какие корпуса испокон веков лучше всего подходили для радиолюбительских поделок?
— Никакие?
— Тоже, конечно, вариант, но вообще – мыльницы.

Немного фото термостата во время испытаний и показаний в разных режимах на главном экране:

Читайте также: