Это история одного моего хобби-проекта - создания встроенной в интерьер майнинг-фермы с видеокартами в масле, которая своим теплом отапливает лоджию.
Короткий FAQ по майнингу
Что такое майнинг?
Здесь я не буду рассказывать про блокчейн и принцип Proof-of-work, про это достаточно информации в интернете. Для понимания статьи, достаточно знать лишь то, что с внешней стороны майнинг выглядит как длительная (по возможности - непрерывная) работа компьютера (как правило специфичной конфигурации, с большим кол-вом видеокарт) или специализированного устройства (ASIC). Для непрерывности процесса майнинга, нужно обеспечить стабильность электропитания, доступа в интернет и не допускать перегрева оборудования. Цель майнинга - получение криптовалюты, объем получаемой криптовалюты в большинстве случаев прямо зависит от мощности оборудования и его эффективности. Криптовалюта может быть продана за реальные деньги.
Майнинг легален?
В последние годы, в новостях часто мелькают заголовки про подпольные майнинг-фермы, и у некоторых читателей может сложиться впечатление что майнинг это что-то нелегальное, однако преступным в таких ситуациях является не сам майнинг, а исключительно сопутствующая кража электроэнергии (самовольное подключение к электросети или несогласованное использование мощностей предприятия). В России, на момент написания статьи, майнинг не запрещен. Юридический статус криптовалюты - другой вопрос, но и тут явных запретов на покупку и продажу крипты пока нет.
Майнинг выгоден?
Ответ на этот вопрос может измениться в любой момент, он зависит многих факторов:
Эффективность конкретного оборудования для конкретного алгоритма в расчёте на единицу мощности
Стоимость оборудования и его предполагаемый срок окупаемости
Стоимость электроэнергии для конкретного потребителя
Стоимость добываемой криптовалюты, на момент ее продажи
Текущая прибыль для конкретного оборудования может быть легко рассчитана в онлайн-калькуляторах, однако нужно помнить, что курс криптовалюты очень нестабилен и трудно предсказуем как в краткосрочной так и в долгосрочной перспективе. Так же нужно помнить, что майнинг это достаточно хлопотный процесс. Во многих случаях проще и выгоднее не майнить крипту а просто ее купить.
Постановка задачи
В далеком и безмятежном 2019 году я планировал обустройство небольшой мастерской для мелких работ на слабо утепленной лоджии. Можно было бы обойтись простым обогревателем, но мне захотелось сделать что-то интересное и красивое. Как известно, оборудование для майнинга выделяет много тепла, и я решил собрать майнинг-ферму, которая помимо непосредственно майнинга решала бы и вопрос отопления помещения. Так как лоджия небольшая (всего 3 м²) и основную площадь на ней займет рабочая зона, то для фермы остается место только в узком шкафу вдоль стены, который так же предстоит спроектировать и собрать.
Мои требования к майнинг-ферме:
Соответствовала габаритам шкафа вдоль стены
Отапливала лоджию до комфортной температуры зимой и по возможности отводила производимое тепло на улицу летом
Была относительно тихой, чтобы находится в помещении было комфортно
Не была жестко привязана к конкретному майнинговому оборудованию, предусматривала возможность установки как видеокарт так и асиков
Имела аккуратный закрытии корпус и не боялась пыли
Имела возможность удаленного управления и мониторинга состояния
Была прибыльной (окупала электроэнергию и приносила доход) с учетом цен на момент начала проекта
Важное замечание по вопросу рентабельности. Как ни странно, прибыльность не является основной целью данного проекта. Я хотел сделать интересный проект, при работе над котором я получил бы новые навыки, а результат радовал глаз и вписывался в интерьер. Если бы моей целью была только прибыль, следовало бы собрать простой риг из видеокарт на деревянном каркасе и разместить в Иркутском гараже.
Релевантные навыки перед началом проекта
Базовый опыт разработки на С++, без интереса к низкоуровневым оптимизациям
Опыт в электронике уровня знания закона Ома и правил Кирхгофа
Нулевой опыт в проектировании печатных плат
Опыт работы с Arduino-подобными контроллерами на уровне понимания базовых примеров (мигать светодиодом, управлять двигателем, работать с разными модулями, для которых есть готовые библиотеки)
Опыт работы с 3D-принтером и навык моделирования на уровне рисования несложных угловатых моделей в SketchUp
Нулевой опыт в работе с ЧПУ станками
Нулевой опыт в проектировании мебели
Концепт
Выбор железа
На текущий момент, можно упрощенно сказать что криптовалюты предусматривающие майнинг, а точнее их алгоритмы разделились на два типа: для которых существуют асики, и те для которых их нет (или есть, но по той или иной причине они не получили широкого распространения). Более подробно о том, почему так получилось можно почитать например вот в этой статье. Таким образом, есть два основных типа оборудования:
ASIC. Специализированное устройство, предназначенное для майнинга на заданном алгоритме, преимущественно для SHA-256 (Bitcoin), но бывают и для некоторых других. Некоторые имеют встроенный блок питания, а некоторые требуют внешний.
GPU. Видеокарты используются для майнинга большинства тех монет, для которых нет асиков. Не могут работать автономно, и должны быть подключены к материнской плате компьютера.
Я выбрал видеокарты, так как они все же более гибкие в плане выбора алгоритма и монеты для майнинга, но я хочу оставить гипотетическую возможность их замены на асики. Таким образом, для меня минимальный комплект оборудования состоит из:
Видеокарт с райзерами (удлинители шины PCI-E)
Материнской платы (с минимальным процессором и памятью)
Блока питания соответствующей мощности
Жесткий диск или SSD не обязательны, система вполне может грузиться с USB флешки.
Выбор способа охлаждения
Обычно майнинг фермы имеют воздушное охлаждение и поэтому сильно шумят. Мне же нужно сделать ферму, которая была бы не шумнее хорошего компьютера и не боялась пыли в воздухе. Альтернативной воздушному охлаждению является жидкостное. Наиболее распространены 2 подхода к его реализации:
Системы жидкостного охлаждения (СЖО). На самые горячие части компьютера (процессор, видеокарта) вместо кулеров устанавливаются водоблоки, через которые циркулирует подкрашенная дистиллированная вода с антикоррозийными присадками. Активно применяется в мощных геймерских ПК.
Иммерсионное охлаждение. Оборудование полностью погружается в емкость с диэлектрической жидкостью. Существуют готовые решения в виде ванн для майнинга.
Разумеется, в обоих случаях жидкость сама по себе не решает проблему охлаждения. Она является теплоносителем, который так же нужно охлаждать, однако это дает большую гибкость в построении системы. Например, жидкость можно пропускать через крупный радиатор, и в некоторых случаях даже обойтись без вентиляторов. Так же, радиатор может быть размещен за пределами помещения, например на фасаде дома, как внешний блок кондиционера, что особенно эффективно в холодное время года.
Мне известны примеры создания ферм с водоблоками для каждой видеокарты, однако по ряду причин я выбрал метод иммерсионного охлаждения. Вот мои рассуждения:
Водоблоки ощутимо дороже хорошего иммерсионного масла, в моем случае разница в цене получалась почти двукратной
Водоблоки охлаждают только ту часть оборудования, к которой они прилегают, иммерсионное охлаждение же более равномерное
При водяном охлаждении есть риск замыкания при малейшей утечке воды
Водоблоки не универсальны. Обычно, конкретный водоблок подходит только к конкретной видеокарте конкретного производителя, и не для каждой видеокарты можно найти в продаже водоблок. Разумеется, водоблоки видеокарт не подходят для асиков. Так же, я не видел водоблоков для блоков питания а они тоже шумят и греются. В ванну же с иммерсионной жидкостью можно опустить все, что в нее влезет по габаритам.
Выбор иммерсионной жидкости
Теперь предстоит выбрать иммерсионную жидкость, в которую будет погружаться оборудование. Я рассматривал следующие варианты:
Дистиллированная вода. В теории, чистая вода является диэлектриком, однако на практике обеспечить ее чистоту и отсутствие примесей очень сложно. Как и обычная вода, она может замерзнуть а так же достаточно быстро испаряется.
“Сухая вода”, например Novec 1230, и его аналоги. Предназначена для пожаротушения в дата-центрах, но теоретически может использоваться и для иммерсионного охлаждения, есть ролики со стендов на выставках, где такая возможность демонстрируется, но в целом это экзотичный вариант. На хабре есть целая статья, о проблемах использования такой жидкости для охлаждения.
Минеральные масла. В отличие от воды, они обычно более устойчивы в своих свойствах. При низкой температуре они густеют и застывают, но в в отличие от воды, они не превращаются в лед и не разрывают трубы. Когда-то на хабре была статья про комп в аквариуме с подсолнечным маслом, но существуют и специализированные масла для иммерсионного охлаждения. Недостатками масла по сравнению с водой являются меньшая теплоемкость, большая вязкость и сложность с очисткой оборудования после извлечения.
В итоге, я выбрал минеральное масло STE Oil Crystal Plus 70T так как нашел в интернете много проектов с его применением. Стоимость литра зависит от приобретаемого объема, и в моем случае она составила примерно 550 рублей. Существуют и более дешевые аналоги, но я решил не рисковать. Заявленные свойства этого масла:
Бесцветное, без ощутимого запаха.
Разумеется диэлектрическое (не проводит ток)
Не токсично, продавец заявляет, что им можно лечить желудок
Не агрессивно к металлам, пластиковым деталям и изоляции проводов
Вязкость, по ощущениям, сопоставима с подсолнечным маслом и зависит от температуры (чем ниже, тем более вязкое)
Температура вспышки 198 °C
Температура застывания -60 °C
Заявленные температуры меня полностью устраивают, потому что предельная температура работы видеокарт составляет 80 °C а температура воздуха в моем городе обычно не опускается ниже -30 °C.
Итак, я выбрал видеокарты и иммерсионный майнинг в масле, таким образом моя ферма будет состоять из следующих основных элементов:
Емкости с иммерсионным маслом (аквариума)
Видеокарт и блока питания внутри аквариума
Материнской платы над аквариумом
Радиатора отопления, который обеспечит прогрев помещения в холодный сезон
Уличного радиатора с вентилятором для отвода избытков тепла на улицу
Трубопровода, связывающего аквариум с радиаторами
Циркуляционного насоса
Моторизованных кранов для управления потоками теплоносителя через радиаторы
Датчиков потока, температуры и прочих сенсоров
Контроллера, который будет снимать показания датчиков, управлять кранами и включать/выключать материнскую плату. Так же контроллер должен передавать в облако телеметрию и обеспечивать возможность удаленного управления
Простого интерфейса контроллера в виде монохромного дисплея и кнопки-энкодера для отображения данных с датчиков и локального управления
Проектирование и реализация
Шкаф
Для максимально эффективного использования пространства небольшой лоджии как мастерской, я решил спроектировать шкаф, в котором помимо аквариума фермы со всем сопутствующим оборудованием и трубопроводом были бы предусмотрены так же ящики для хранения инструментов. Шкаф планировался встраиваемым, т.е. его ширина почти равна ширине стены от двери до окна, а небольшие зазоры по краям будут закрыты декоративным уголком. Так же его особенностью является большая высота при глубине всего 15 см, поэтому для устойчивости он будет закреплен к стене в нескольких местах.
Ранее я не имел опыта проектирования мебели, но это оказалось не так уж и сложно. Я бы сказал, что для создания подобного шкафа достаточно лишь знать, какие существуют виды мебельного крепежа (конфирматы, эксцентрики, межсекционные стяжки), фурнитура (петли, газлифты) и какой зазор нужно предусмотреть между фасадами ящиков. Проектирование осуществлялось в программе SketchUp с использованием плагина “Универсальная панель”. Он позволяет экспортировать список использованных деталей со всеми их характеристиками (название, размеры и наличие кромок) для последующего заказа. В качестве материала выбрана белая ЛДСП толщиной 16мм. Результат проектирования показан на фото ниже.
Нормально распилить лист ЛДСП в домашних условиях, и тем более нанести кромку очень сложно, поэтому я обратился в мебельную компанию. Спецификой моего заказа было то, что у трех деталей имеется вырез в виде прямоугольника со скругленными краями, получаемый фрезеровкой, на который затем наносится кромка. Не все компании делают такую фрезеровку, поэтому не рекомендую прибегать к таким решениям. Так же стоит упомянуть услугу “присадка отверстий”, когда помимо распила, мебельщики на промышленном оборудовании сверлят в полученных деталях отверстия для фурнитуры и крепежа, но я обошелся без нее и сверили все своими силами.
Описывать подробно сборку не буду, скажу лишь то, что из инструментов мне вполне хватило хорошего шуруповерта, сверла для конфирматов, специального кондуктора для сверления отверстий под петли и пары уголков для фиксации деталей, напечатанных на 3D принтере.
Еще одна особенность шкафа - светодиодная подсветка в каждом ящике, автоматически включающаяся при его открывании, но про нее я подробнее расскажу в одной из следующих статей.
Аквариум
Мне требовалось изготовить емкость для заливки иммерсионного масла и размещения там оборудования, которая удовлетворяла бы следующим требованиям:
Точно соответствовала заданным размерам, так как она размещается внутри шкафа впритык к его стенкам
Была устойчива к высокой температуре масла
Была прозрачной для визуального контроля оборудования и для красоты
Этим требованиям вполне удовлетворяют стеклянные аквариумы, однако купить готовый я не мог из-за специфичности требуемых размеров, поэтому я решил изготовить его самостоятельно. Проектирование такого аквариума элементарно, достаточно лишь учесть необходимые зазоры между стеклами для слоя герметика и выбрать достаточную толщину стекла. Эти параметры легко рассчитать в онлайн-калькуляторе.
Иногда аквариумы делают из специального осветленного стекла, но я выбрал обычное силикатное стекло толщиной 10 мм. Его плюс - низкая цена и повсеместная доступность, минус - ощутимый зеленый оттенок, который особенно заметен при такой толщине. Посчитав необходимые размеры деталей, я заказал их резку со шлифовкой кромки в стекольной компании.
Получив стеклянные детали, мне предстояло их склеить с применением специального аквариумного герметика. Для фиксации стенок на время застывания герметика я изготовил небольшой стенд с напечатанными на 3D принтере держателями, зафиксированными на листе ДСП и небольшие проставки для обеспечения зазора между стеклами.
Заливка швов герметиком не была бы такой сложной, если бы не специфичная форма аквариума. Из-за маленького расстояния между фронтальной и тыльной стенкой мне было очень трудно орудовать пистолетом с герметиком внутри, и в итоге первая попытка заливки провалилась. Радость от процесса отскребания полузастывшего герметика от стекла и рук сложно передать словами. Ко второй попытке я приготовил для тюбика специальный угловой носик, напечатанный на принтере и наконец справился с задачей. Для полного застывания герметика потребовалось 10 дней. После этого, я поместил для красоты на дно аквариума зеркало, и успешно установил аквариум в шкаф.
Оборудование для майнинга
Как я уже было сказано, я выбрал в качестве оборудования для майнинга видеокарты, с гипотетической возможностью замены на асики. В этом разделе я расскажу о выборе конкретного железа и способе его размещения в аквариуме.
Видеокарты
При выборе видеокарт для майнинга, помимо их основного показателя - хешрейта нужно учитывать доступный объем видеопамяти, потому что для некоторых алгоритмов (например Ethash) требуется держать в памяти так называемый DAG-файл, размер которого медленно растет. В частности, в декабре 2020 у Ethereum его размер превысил 4 Gb, что ощутимо снизило эффективность видеокарт с меньшим объемом памяти. Поэтому, я выбирал карты с объемом памяти 8 Gb. Карты AMD и Nvidia немного отличаются по эффективности на разных алгоритмах и потенциалу разгона, поэтому для диверсификации я приобрел карты сразу двух моделей:
6 шт. MSI AMD RX 580 8 Gb Mining Edition
6 шт. MSI NVIDIA P104-100 (майнинг-версия карты GTX 1070). Формально имеют 4 Gb памяти, но могут быть перепрошиты для использования фактически имеющихся на плате 8 Gb видеопамяти
Особенностями майнинг-версий видеокарт являются меньшее число видеовыходов, короткая гарантия и минимальная упаковка, но при этом их цена ниже, чем у обычных карт. Мои RX 580 и P104-100 имеют схожий дизайн, но немного отличаются по габаритам (P104-100 немного шире и выше).
Материнская плата
Существуют специальные модели материнских плат для майнинга, которые отличаются большим кол-вом слотов PCI-E и некоторыми оптимизациями в BIOS. Я выбрал модель ASUS B250 MINING EXPERT. В качестве процессора поставил дешевый Intel Celeron G3900, производительности которого достаточно для управления майнингом. Так же я установил два недорогих модуля оперативной памяти DDR-4 по 4 Gb каждый, хотя по факту хватило бы и одного модуля.
Блок питания
Я рассчитал, что для питания видеокарт и материнской платы мне потребуется БП мощностью как минимум 1500 Вт, а для перспективной замены на асики лучше с запасом до 2500 Вт. Обычные компьютерные блоки питания как правило имеют мощность от 300 до 1000 Вт, и иногда БП требуемой мощности получают из двух одинаковых блоков, соединенными с помощью специального синхронизатора. Другим решением является использование мощных серверных блоков питания, мощность которых обычно варьируется от 1500 до 3000 Вт. Серверные БП рассчитаны на непрерывную работу под нагрузкой, имеют высокий КПД и очень надежны но у них есть своя специфика - они выдают только напряжение 12 Вольт, тогда как для материнской платы и видеокарт требуются и другие напряжения (+3.3 В, +5 В, -12 В). Для материнской платы это решается установкой специального DC-DC преобразователя (так называемого Pico PSU), а для питания райзеров видеокарт используют отдельные преобразователи на 5 Вольт (зависит от типа райзеров). В итоге я выбрал серверный блок питания HP мощностью 2450 Вт, известный в майнинговом сообществе как “лыжа” из-за своей вытянутой формы.
Райзеры
Райзером называется удлинитель шины PCI-E x1-x16, который позволяет разместить видеокарты не на самой материнской плате а на определенном расстоянии от нее. Существуют шлейфовые райзера, но в майнинге наиболее распространены райзера с дополнительным питанием, в которых для передачи данных используется кабель USB 3.0 (правда исключительно как шлейф для соединения двух частей райзера - воткнуть его в USB порт материнки нельзя). Различаются по типу разъема питания и конфигурации имеющихся на них преобразователей напряжения. Я использовал райзеры версии 006, в которых дополнительное питание подается через разъем Molex.
Система подвеса
Система подвеса обеспечивает компактное расположение оборудование внутри узкого аквариума и предусматривает возможность его подъема для технического обслуживания. Основой являются две направляющие в виде металлических квадратных профилей 20х20 мм, расположенных над аквариумом. На их нижнюю сторону наклеена RGB светодиодная лента для подсветки. Направляющие могут подниматься и опускаться благодаря мебельным телескопическим механизмам с обоих концов. В центре направляющие соединяются перемычкой, к которой закреплен стальной трос в оплетке, уходящий вверх, в пространство за фальшпанелью шкафа, где через систему блоков он соединяется с линейным приводом, который отвечает за их спуск и подъем.
Видеокарты соединяются в пары спина-к-спине с небольшим зазором и подвешиваются при помощи специальных держателей, надеваемых сверху на направляющие. Они напечатаны из ABS пластика и покрашены черной краской из баллончика. Так же, у каждой видеокарты к плате райзера сбоку прикреплен небольшой понижающий DC-DC преобразователь, обеспечивающий его напряжением 5 В.
Аналогично крепится и блок питания, но его крепеж удлинен при помощи резьбовых штанг, что бы он располагался под видеокартами. Вдоль блока питания так же располагается штанга, к которой крепятся клеммы питания для подключения видеокарт.
При необходимости, видеокарты могут быть заменены на асик, извлеченный из корпуса и разобранный на отдельные платы, для которых нужно будет изготовить свои держатели, а БП, учитывая запас по мощности вероятно и менять не придется.
Материнская плата же размещается в небольшой нише над аквариумом. Размещать ее в масле не было смысла - в процессе работы она почти не шумит и не греется.
Софт
Для управления процессом майнинга, в материнку втыкается флешка с системой HiveOS, в которой через дашборд можно запускать или останавливать процесс майнинга, мониторить оборудование и осуществить разгон видеокарт. Эта система позволяет настроить остановку майнинга или выключение при перегреве, однако для эффективного управления фермой этого мало, по следующим причинам:
Если при перегреве майнинг останавливается, то в режиме ожидания карты все равно продолжают потреблять энергию, что делает процесс охлаждения малоэффективным
Если при перегреве система выключается, то материнка теряет связь с сервером и после остывания не сможет сама себя включить
Материнка плохо подходит для получения информации с датчиков и управления моторизованными кранами
Поэтому было принято решение разработать отдельный контроллер, который помимо работы с датчиками и приводами будет буквально через оптопару замыкать контакты кнопки включения материнки (а так же тумблер включения БП). О нем я расскажу чуть позже.
Трубопровод
Трубопровод связывает аквариум с контурами охлаждения. У правого и у левого торца аквариума расположены два патрубка, по правому горячее масло уходит к радиаторам, а по левому, охлаждённое возвращается обратно. Таким образом в аквариуме обеспечивается течение масла слева-направо. На торцах обоих патрубков установлены датчики температуры DS18B20 и небольшие сетки для защиты от случайного попадания мусора в трубопровод.
В нижнем отсеке шкафа имеется специальный ящик, в котором располагается циркуляционный насос (обычный насос для системы теплого пола мощностью 70 Вт) и по паре моторизованный кран - датчик скорости потока для обоих контуров охлаждения. Планируется, что контроллер сможет плавно управлять кранами, а датчики обеспечат ему обратную связь.
Для трубопровода использовались полипропиленовые трубы, предназначенные для горячей воды, которые должны выдерживать температуру до 95 °C. Их монтаж очень прост - они режутся при помощи специального ручного инструмента и спаиваются недорогим электрическим паяльником.
Радиатор отопления помещения
Первый контур охлаждения представлен обычным 12-секционным радиатором отопления, расположенным в нише под окном. Я выбрал алюминиевый радиатор, потому что он обладает лучшей теплоотдачей по сравнению с чугунными и биметаллическими, а их преимущество в устойчивости к коррозии и высокому давлению в моем случае роли не играет.
Нишу радиатора я закрыл листом ДСП, на которую в декоративных целях приклеил тонкий ламинат, а выемку под радиатор прикрыл пластиковой решеткой.
Уличный радиатор
Вторым контуром охлаждения является уличный радиатор, дополнительно оборудованный вентилятором. Его дизайн навеян видом внешнего блока обычного кондиционера. Для изготовления корпуса я выбрал алюминиевый композит - листовой материал из двух слоев тонкого алюминия, между которыми находится толстый слой пластика. В природе композит встречается в виде вентфасадов на домах и в рекламных вывесках, поэтому найти компанию, занимающуюся его резкой было не трудно. Так же, композит можно фрезеровать под изгиб, но я заказал отдельные детали, которые соединил между собой винтами при помощи 3D-печатных стоек из ABS пластика. Внутри же располагаются два автомобильных радиатора и 10-дюймовый вентилятор. Изначально планировалось, что один радиатор будет использоваться майнинг-фермой а второй будет охлаждать антифриз для другого компьютера с жидкостным охлаждением, но потом я передумал и подключил его к ферме, параллельно первому.
Сложностью в установке внешнего блока была неровная поверхность фасада дома, покрытая пирамидообразными выступами, которая была решена фиксацией блока в трех точках, с небольшим зазором от фасада для обеспечения доступа воздуха.
К трубопроводу фермы радиаторы подключаются гибкими автомобильными шлангами, защищенными от внешней среды кабельными гофрами. Шумность вентилятора на средних оборотах меньше, чем шум от расположенного рядом внешнего блока обычного кондиционера.
Контроллер
Основными задачами контроллера являются запуск и остановка майнинга (путем включения и выключения материнской платы и БП), управление потоком через контуры охлаждения, получение информации с датчиков и ее передача в облако.
Электроника
В качестве контроллера я выбрал отладочную плату с микроконтроллером STM32F103 известную как “Blue Pill”. Можно сказать, что для меня это “ардуинка на максималках”, она значительно превосходит по характеристикам широко распространённую Arduino Nano и ее аналоги (на хабре есть статья с их сравнением). В качестве альтернативы я рассматривал платы с контроллером ESP32 (имеют встроенный BT/WiFi, которые мне не нужны, ведь я собираюсь использовать подключение по Ethernet) и Arduino Mega (слегка избыточна для моих задач). Сейчас бы я наверно выбрал плату Raspberry Pi Pico, но на тот момент она еще не была доступна. Конечно, наиболее трушным вариантом было бы не использовать отладочные платы а распаивать голый контроллер, но не имея опыта в электронике я не стал рисковать и поэтому старался максимально использовать готовые модули. Принципиальная схема платы контроллера показана на рисунке ниже.
Перечислю компоненты по столбцам сверху-вниз, слева-направо:
Модули понижающих DC-DC преобразователей на 5 и 3.3 Вольта для питания контроллера и периферии
Модуль твердотельного реле, отвечающего за включение/выключение циркуляционного насоса
OLED дисплей для отображения информации, подключается по интерфейсу I2C
Мощный драйвер L298N для управления линейным приводом, поднимающим и опускающим из аквариума оборудование. Так как логический уровень этого модуля 5 В, а у контроллера логика 3.3 Вольта, то перед ним устанавливается модуль с конвертерами уровня.
Микросхема L293D для управления двумя моторизованными кранами. У них имеются сигнальные выходы, которые при полном открытии/закрытии замыкаются на землю. Так же для управления микросхемой применен конвертер уровней.
Датчики температуры DS18B20, установленные на входном и выходном патрубке, а так же на корпусе циркуляционного насоса. Подключаются по шине 1-Wire.
Светодиодная RGB лента на направляющих для подсветки оборудования. Каждый канал управляется через MOSFET транзистор IRL510. Низкое пороговое напряжение этих транзисторов позволяет обойтись без преобразователей уровня.
Плата STM32 Blue Pill. Для отладки предусмотрен вывод лога по интерфейсу UART, но из-за нехватки пинов при этом отключается цепь управления зеленого и синего канала подсветки. Переключение осуществляется джамперами на плате.
Датчики скорости потока для обоих контуров охлаждения. Работают по принципу подсчета импульсов и подключены к пинам с поддержкой аппаратных прерываний.
Энкодер с кнопкой для локального управления контроллером.
Ethernet-модуль для связи с облаком. Подключается по интерфейсу SPI.
Контакты кнопок включения материнской платы и блока питания, их замыкание осуществляется через оптопары. Питаются напряжением 5 В, включаемым через биполярные транзисторы.
Печатная плата была разработана в бесплатном редакторе EasyEDA, и заказана на JLCPCB. Она стоила немного дороже чем обычно из-за своей вытянутой формы, обусловленной высотой пространства за фальшпанелью над аквариумом. Это мой первый опыт в проектировании печатных плат, и в процессе я старался следовать советам из этой статьи. Позже, изучив тему глубже я могу сказать, что на моей плате не хватает разделения аналоговой и цифровой земли, описанного например тут, хотя негативных эффектов от этого я пока не заметил, вероятно из-за небольшого тока у аналоговых потребителей и того факта, что модули понижающих преобразователей уже имеют на выходе конденсаторы.
Программирование
Для программирования контроллера я использовал фреймворк STM32duino, что бы не выходить из зоны комфорта иметь возможность использовать множество Arduino-совместимых библиотек, написанных для модулей, которые я использую. Код разрабатывался в среде Visual Studio Code с плагином PlatformIO.
Одним из требований к контроллеру является возможность удаленного управления и мониторинга телеметрии. Конечно, такой функционал можно сделать в виде веб-сервера на самой плате, но на мой взгляд это решение является велосипедом и проигрывает по многим аспектам использованию специальных облачных сервисов для IoT устройств. Я рассматривал разные сервисы, такие как Arduino IoT Cloud, ThingsBoard и thinger.io, но в конце концов мой выбор пал на обновленный Blynk, в котором помимо неплохого мобильного приложения добавили веб-дашборды.
Кратко расскажу о том, как работает Blynk. Основой его концепцией являются так называемые “виртуальные пины”, по сути это просто переменные заданного типа (число, строка и др.), которые средствами библиотеки синхронизуются с сервером. Например, что бы передать на сервер температуру масла, контроллер периодически записывает в специально созданный для этого виртуальный пин значение с датчика, оно сохраняется на сервере Blynk, и для его мониторинга я создаю на дашборде соответствующий виджет (простая строка, шкала, временной график), привязанный к этому пину. Аналогичным образом виртуальным пином можно управлять из дашборда - например с помощью виджета-кнопки, тогда уже сама плата сможет обработать изменение его состояния - так например реализована кнопка выключения майнинга.
Blynk так же решает задачу обмена данными между контроллером и материнкой. Это реализовано путем запуска на старте HiveOS моего Python-скрипта, который собирает телеметрию о процессе майнинга (хешрейт, температуры видеокарт и пр.) и периодически отсылает ее на сервер Blynk. Контроллер ее получает, и таким образом имеет доступ ко всей информации о состоянии системы, а не только ту, которую имеет от своих датчиков.
Перечислю основные реализованные на данный момент функции контроллера:
Удаленное включение/выключение майнинга, передача телеметрии
Контроль за температурой оборудования, его полное выключение при перегреве и автоматическое включение после остывания
Перезагрузка оборудования при ошибках и зависаниях
Индикация температуры масла через изменение цвета RGB-ленты на направляющих
Управление моторизованными кранами и подъемным приводом через локальное меню
Интерфейс
Помимо описанного выше дашборда в мобильном приложении Blynk и его веб-версии, у контроллера имеется простой физический интерфейс, представленный двухстрочным OLED-дисплеем и энкодером со встроенной кнопкой. При включении, на нем циклично отображаются экраны со всей доступной телеметрией (температуры масла и видеокарт, текущая монета, хешрейт, время с момента загрузки и пр.), а при нажатии на кнопку энкодера открывается меню для ручного управления (включение/выключение, перезагрузка, краны, привод, насос и пр.). После 10 мин работы дисплей автоматически выключается, но активируется от любого поворота энкодера.
Панель с дисплеем и энкодером сделана из остатков листа композита, использованного для изготовления корпуса уличного радиатора. Я вырезал ее на своем фрезерном станочке CNC 3018 и зашлифовал краску до голого алюминия. Так же я вырезал небольшое стеклышко для дисплея из светло-синего оргстекла. Вырез же в фальшпанели был заказан у мебельщиков. Для крепления панели, в вырез устанавливается небольшая проставка, напечатанная на 3D принтере из синего PLA.
Запуск и доработка
Когда сборка всей конструкции была завершена, мне предстояло залить в систему масло и запустить ее. Просто налить масло в аквариум было нельзя - циркуляционный насос не смог бы подсосать его через входной патрубок, поэтому я закачал в систему масло из канистры при помощи небольшого насоса высокого давления. Удалил воздух из радиатора, закрыв кран Маевского, когда из него начало течь масло.
Однако воздух не был удален полностью. После заполнения системы я долил масло в аквариум, и штатный насос уже вполне мог прокачивать его, но из выходного патрубка еще долго шли мелкие пузырьки воздуха.
Затем, при помощи привода я погрузил видеокарты и блок питания в аквариум. Не смотря на то, что иммерсионное масло очевидно диэлектрическое, процесс погружения дорогого оборудования в жидкость был достаточно волнительный и нервозный. Лишь после того, как кулеры весело и бесшумно закрутились в масле я выдохнул с облегчением.
Когда майнинг начался, я приступил к процессу разгона видеокарт, цель которого - увеличение хешрейта и уменьшение нагрева при сохранении стабильности работы. Это отдельная тема, подробно описывать его не буду, можно лишь упрощенно сказать что он сводится к подбору параметров (частота ядра, памяти и др.) и последующей оценке производительности и стабильности системы. Сложность в том, что универсальных параметров для конкретной модели видеокарты нет, и оптимальные значения нужно подбирать для каждой конкретной карточки индивидуально, методом проб и ошибок.
К сожалению на этапе проектирования мне не хватало навыков моделирования термодинамических систем, поэтому я до момента запуска не понимал, является ли моя система охлаждения недостаточной или избыточной. Практика показала, что скорее недостаточной - внешний блок с обдувом приходится задействовать на постоянной основе. Зато внутренний радиатор отлично справляется с подогревом помещения, что особенно приятно в межсезонье. Летом же система часто перегревалась, в самые жаркие дни я ставил напротив аквариума обычный бытовой напольный вентилятор, однако он скопытился спустя примерно месяц дневной эксплуатации, благо, его удалось сдать по гарантии. Тогда для улучшения охлаждения я добавил еще один контур - теплообменник, через который отдельный насос гоняет обычную воду, которую я залил в 30-литровые канистры из-под масла. По мере нагрева воды в канистре я переставлял шланги на другую, и пока новая нагревалась, старая успевала частично остыть.
Для повышения эффективности внутреннего радиатора я добавил в нишу две самодельные сервозадвижки с кулерами, которые позволяют вентилировать нишу уличным воздухом летом, а в мороз, особенно на случай выключения фермы могут быть легко закрыты.
Помимо этого, по заветам DI HALT, я установил на радиатор сборки из 80-миллиметровых кулеров по 10 сверху и 10 снизу. При напряжении питания 12 Вольт они достаточно тихие, и слышны только если к ним приблизиться в упор.
UPD Меня часто спрашивают, как кулеры видеокарт ведут себя в масле. Работают нормально, и при их отключении нагрев видеокарт немного увеличивается. Предположу, что кулеры помогают немного перемешать масло окружающее чипы карт.
Итоги
Не смотря на то, что на проект ушло 2 года работы в фоновом режиме, я считаю его цель достигнутой. Я сделал обогреватель, который отлично отапливает комнату и получил интересный элемент интерьера.
Построенная система охлаждения в целом справляется со своей задачей в холодное время года и межсезонье, а летом может работать при использовании дополнительного водяного охлаждения. Но это касается майнинга в режиме 24/7, если же летом майнить только ночью, то и без дополнительный усилий имеющаяся система охлаждения вполне решает свои задачи.
Не буду подробно описывать финансовые аспекты этого проекта, потому что повторять его сейчас все равно было бы бессмысленно, даже не из-за дефицита видеокарт или роста курса доллара а из-за скорого перехода валюты Ethereum на PoS, после чего перспективы майнинга на GPU будут весьма туманны. Тем не менее, проект полностью окупился и даже помог мне остаться на плаву в наше непростое время.
Главным же результатом этого проекта я считаю полученные навыки и опыт в новых для меня отраслях. Как показали недавние события, все бренно в этом мире. Сегодня валюта может обесцениться, завтра квартира сгорит. Навыки не подвержены изменениям курса валюты и не привязаны к материальным ресурсам. Если поддерживать их актуальность, то они останутся со мной пока я жив.
Комментарии (94)
Blacklynx
20.04.2022 20:34+21Что тут сказать, белая зависть всем у кого руки растут откуда надо. Вы молодец.
Geek_and_Cat Автор
20.04.2022 23:03+3Спасибо, но по правде говоря я не сторонник концепции правильного расположения рук. Как я писал в начале, никаких особо специфичных навыков у меня не было. Да и не то что бы я чему-то углубленно научился, просто научился делать базовые вещи из других сфер деятельности. Уверен, любой другой айтишник так же бы справился с этой задачей, при наличии времени, ресурсов и желания
xsevenbeta
21.04.2022 08:26+5Присоединяюсь, тоже завидую по белому вашему фундаментальному подходу и скиллам. Очень круто, аккуратно и добротно всё сделано. Тут используется много навыков из совершенно разных сфер — от 3д печати и программирования до работы с датчиками, микроконтроллерами и ардуино, умения повесить кондёр и обжать фиттинги. И пишите ещё.
Geek_and_Cat Автор
21.04.2022 23:06Спасибо, такие планы есть, хотя и были сильно сокращены в связи с нынешними обстоятельствами. В частности, могу анонсировать статью про обустройство рабочего места на этой же лоджии.
sappience
21.04.2022 13:20+1Этим комментарием вы сами подвердили "концепцию правильного расположения рук". Вот вы, не обладая, по вашему признанию, необходимыми навыками сделаи все так, что любо-дорого посмотреть. А другие, с десятилетиями профильного стажа, делают так, что их только в тыл врагу засылать. Вредителями и сабботажниками. Значит не в навыках дело. А в чем? В расположении рук. :)
zxweed
21.04.2022 14:22-1"десятилетия профильного стажа" приводят к очень простому выводу — качественно работать попросту невыгодно, затраты растут сильнее, нежели прибавка в оплате.
aborouhin
20.04.2022 20:38+1Эх, а у меня третий сезон подряд мастерская с электрокотлом на 4 кВт только жрёт электричества на 5-7 т.₽ в зимний месяц, и никакого прибытка. Сделал бы сразу такое вот - уже бы окупился и озолотился :)
Geek_and_Cat Автор
20.04.2022 22:54Да, как показал мой опыт, простейший криптобойлер сделать достаточно просто. Достаточно асик поместить в емкость с маслом и гонять его насосом через теплообменник, который греет воду. Можно даже не заморачиваться с контроллерами а включать его через реле термостата.
aborouhin
20.04.2022 23:00+2Следующий этап - прикрутить к этому чуду абсорбционную холодильную машину, чтобы оно в летний период работало на кондиционирование :)
MAXH0
21.04.2022 12:36А разве абсорбционные холодильники на рассеянном тепле работают? Там, вроде бы надо до определенной температуры греть испаритель...
Просто хотел для себя делать солнечный кондиционер и уперся именно в этот момент. Т.е. явно более сложная система с солнечными батареями более рабочая.
xsevenbeta
21.04.2022 14:13Довольно сильно надо греть, от 75 градусов. Можно наверное не только солнечные батареи но и солнечные коллекторы, наверное, использовать :)
aborouhin
21.04.2022 14:49Честно говоря, интересовался этим лет 8 назад, когда была дурная идея сделать в доме кондиционирование от газа (газовый котёл-то есть, ресурс дешёвый, выделенную эл. мощность не отъедает) Понял, что очень сложно. Готовых установок на бытовые мощности (<10 кВт) вообще не найти в продаже (ну, по крайней мере, тогда), а промышленные стóили как чугунный мост и занимали полкомнаты.
А так, вроде, теоретически на циркуляции теплоносителя оно может работать, а что уж там этот теплоноситель греет - это абсорбционной машине всё равно.
dfgwer
21.04.2022 04:13С криптобойлером есть проблема. Платы не должны нагреваться выше 80, т.е. батареи отопления у вас несильно нагреваться будут. Надо догревать жидкость после майнера и доохлаждать перед майнером. Или ставить больше радиаторов чем нужно. И про лето не забудьте.
anton19286
21.04.2022 05:12+4теплый пол от 40° отлично работает
aborouhin
21.04.2022 14:56Ну у тёплого пола площадь немного другая. У самого в доме именно тёплые полы, без батарей, температура 30-35, греет замечательно в любой мороз... но там больше полутора километров труб и 600 литров теплоносителя.
Хотя да, 60 градусов, как показывает собственный опыт (см. соседний пост) уже вполне хватает и с батареями.
aborouhin
21.04.2022 14:54+1У меня на электрокотле в мастерской (обычный каркасник, утепление средненькое) максимальная температура теплоносителя выставлена +60 (иначе встроенного расширительного бака не хватает, чтобы скомпенсировать расширение пропиленгликоля, а ставить внешний не хотелось), радиаторы (брались по стандартному расчёту с небольшим запасом). И даже в 30-градусный мороз проблем нет, котёл работает отнюдь не постоянно, т.е. даже есть запас.
arheops
21.04.2022 20:57Смотря насколько избыточные у вас батареи в комнатах.
У меня на даче обычная температура теплоносителя +60(температура котла +80, но там трехходовой регулятор стоит) и температура батарей +45-50, они вдоль кровати стоят как печка-груба.
Собственно разница в теплоотдаче на +60 и +80 где-то раза в два всего.
QuakeMan
20.04.2022 21:01+1с капиллярностью проблем не возникало?
Geek_and_Cat Автор
20.04.2022 22:49+2Масло немного поднимается по USB кабелям райзеров но до материнки не доходит
dartraiden
21.04.2022 00:40+1Особенностями майнинг-версий видеокарт являются меньшее число видеовыходов, короткая гарантия и минимальная упаковка
А также версия PCI-E (часто 1.1) и число линий (у P104-100 их всего 4, что делает её непригодной для игр). У карточек NVIDIA также урезана поддержка NVENC и 3D-ускорения (первое намертво, второе можно активировать).Geek_and_Cat Автор
21.04.2022 08:22Спасибо, буду знать
El_Kraken_Feliz
22.04.2022 11:46Ещё люди с такой сборкой сталкиваются с проблемами деградации термопрокладок видеопамяти в масле.
Рекомендую за этим моментом тоже следить
vvzvlad
21.04.2022 00:56+2Нормально распилить лист ЛДСП в домашних условиях, и тем более нанести кромку очень сложно, по этому я обратился в мебельную компанию.
Кромку как раз очень легко — пройтись утюгом и срезать лезвием остатки. А вот распилить да, сложно.aborouhin
21.04.2022 02:07+2Заклеиваем линию реза малярным скотчем, чтобы исключить мелкие сколы. Покупаем нормальный диск с мелким зубом приличной фирмы (CMT, Freud и т.п.), не обязательно именно по ДСП, можно для поперечного реза древесины. Вставляем сей диск в имеющуюся в хозяйстве пилу (напольную, настольную, погружную по шине, обычную ручную по шине - в порядке убывания удобства) - и пилим со вполне достойным качеством. Для кромки столешницы на видном месте, может, и не ОК, там уже нужен форматник с подрезным диском, чтобы идеально чистый край был, - но для всяких полок и балконных конструкций - более чем.
Но - пылит, воняет, диск тупится быстро - так что не люблю я эти прессованные опилки. Или дерево, или фанера под шпонирование натуральным шпоном.
P.S. Ну а вырезы с закруглёнными углами - сначала грубо с отступом на пару мм внутрь электролобзиком (один из редких случаев, когда этот почему-то нежно любимый всеми начинающими мастерами инструмент реально нужен) и потом выравнять края ручным фрезером: по шине/упору на прямых участках, по шаблону (сделать из фанеры один раз) - на скруглениях. В общем, не те сложности, чтобы искать сторонние услуги.
Earthsea
21.04.2022 08:45В домашних условиях прямой край можно отпилить с небольшим запасом японской ручной ножовкой kataba или ryoba, потом пройтись фрезером.
Но вообще не люблю я ДСП, гадость это.
aborouhin
21.04.2022 14:58Фрезы будут очень уж быстро улетать, если вообще все пропилы фрезером выравнивать. Не любят они этот материал. Как и мы с Вами :)
ykurenkov
21.04.2022 10:18Диском для ламината в два прохода по шине. Главное на сквозном проходе вылет большой не ставить - 5 мм достаточно.
Geek_and_Cat Автор
21.04.2022 08:09+1Все же клеить кромку утюгом это несколько кустарная технология, она проигрывает по качеству промышленному станку. И закроймить утюгом 50 метров реза - такое себе удовольствие
DrMefistO
21.04.2022 01:19Вот скажите мне, отсталому: почему "майнят" хэши, а не проводят какую-нибудь там факторизацию больших публичных RSA на тех же мощностях?
VelocidadAbsurda
21.04.2022 02:58Навскидку пара моментов:
Совсем другой порядок сложности (хеши то майнят неполные, там облегчённые задачи вида «первые N бит - нули», N повышается по мере роста сети)
Бóльшие проблемы с обществом/законами (ключи - чьи-то, возможно служат чему-то полезному)
Tarakanator
21.04.2022 09:25Потому что хеш считается не от рандомны данных, а от данных содержашьх в себе определённую информацию по транзакциям криптовалюты.
DrMefistO
21.04.2022 09:39И зачем его брутить обратно?
Tarakanator
21.04.2022 10:09+3Его не брутят обратно.
Грубо говоря вам нужно добиться чтобы операции проводил не выделенный центр, а рандомный узел.
чтобы добиться реального рандома выбора узла рандом зависит от вычислительной мощности узла (чтоб 1 реальный узел не представлялся как 100500 виртуальных)
как реализована система:
у вас есть блок данных(информация о транзакциях). вы должны дописать к этому блоку в конец такое число, чтобы хешь всего блока(с дописанным числом) содержал N нулей в конце хеша.
Кто первый нашёл такое число тот и проводит этот блок операций.
soul32bit
21.04.2022 03:23-1Оверинженеринг на Хабре не перестаёт удивлять. Если программисты пишут программы так же, как делают эти «домашние маслянные майнинг-фермы», то ох… А ещё наш препод в универе говорил — если устройство греется, скорее всего оно плохо спроектировано. Это про майнинг в целом, но я не об этом.
Если уж возник вопрос, куда девать тепло, то греть балкон (улицу) — так себе затея. Разумнее было бы греть воду в бойлере, мощности небольшой фермы хватило бы на обогрев частного дома + ГВС. За 12-секционный радиатор с 20-ю кулерами в помещении площадью 3 м.кв. отдельное спасибо!MaximRV
21.04.2022 04:25+3У человека в квартире горячая вода итак из крана бежит. А в частных домах так делают. И отопление и подогрев воды.
Geek_and_Cat Автор
21.04.2022 08:12+11Так и есть, оверинжиниринг он самый. Хотелось сделать ферму, а частного дома без горячей воды под рукой не оказалось, пришлось выкручиваться.
spacediver
21.04.2022 10:43+4Да ничего! Обзаведётесь частным домом — проложите магистраль от балкона ;)
alextrof94
22.04.2022 03:04Греть воздух в холодное время года надо 24/7. С бойлером иначе, вода используется и намного меньше времени. С другой стороны, греть воду в бойлере надо 365 дней в году, А воздух надо только в холодные дни. В идеале тут бойлер нужен как дополнение к системе. А в моменты, когда и вода в бойлере нагрета и лето на дворе - тепло надо переводить каким либо образом обратно в электричество.
Jeyko
21.04.2022 05:21А какова эффективность вентиляторов в такой среде!
Geek_and_Cat Автор
21.04.2022 08:14Сложно оценить их эффективность, можно сказать что они слегка размешивают масло - это заметно визуально.
habrabkin
21.04.2022 11:37-1Можно было все сделать иначе и без аквариума. С карт отвинчиваются радиаторы. Вместо них прикручиваются медные пластины с припаянными медными трубками (выгнутые спиралью, спираль плашмя к пластине припаивается). Это для протока воды. Что с водой делать наверное понятно. (Кстати в тёплый пол!)
На пластинах формируются площадки под процессор и память — можно фрезерованием или дополнительными тонкими пластинками. Ну и всё собирается с термопрокладками. Да, конечно, это не так красиво будет как с аквариумом… :-)Geek_and_Cat Автор
21.04.2022 12:43+2Можно, и я видел некоторые проекты сделанные именно так. Но опять же, я в статье описал аргументы, почему я все же выбрал иммерсионное охлаждение.
habrabkin
21.04.2022 12:49-1Так я и написал. Мой вариант чисто функционален. А в вашем есть на что коту поглядеть.
Geek_and_Cat Автор
21.04.2022 12:54+2Все же разница не только в этом. Я же писал, что в аквариум можно любое оборудование погрузить и при необходимости - заменить, а водоблоки специфичны для конкретного железа. И для БП водоблок сделать сложнее.
Shnurokspb
21.04.2022 16:14+2Браво, профессор! Вы только что изобрели водяное охлаждение ПК! Даже заводские водоблоки описали! И да, это будет мега красиво!
ifap
21.04.2022 16:32Я правильно понял, что Вы оставили штатные вентиляторы, и они смогли вращатьсчя в масле?
13werwolf13
21.04.2022 06:33+4читал не отрываясь, очень понравилось.
автор ты молодец. при том что я (как и большинство последние пару лет) пренебрежительно отношусь к майнингу я могу отценить прямоту рук, нестандартный подход, целеустремлённость и итоговый результат. большой респект!
P.S.: прости что не плюсанул, я для этого
мордойкармой не вышел))
Akr0n
21.04.2022 07:38+3А кулеры, которые рассчитаны на воздух, как себя чувствуют в вязкой среде? Или частота вращения принудительно убавляется?
Жаль не удалось полностью задействовать избыточное тепло и приходится отапливать улицу. С соседями не думали поделиться джоулями или квартирные радиаторы подцепить?Geek_and_Cat Автор
21.04.2022 08:22С кулерами все нормально, пробовал их отключать и вроде нагрев видеокарт немного увеличивался, похоже что они слегка размешивают масло. Частоту вращения не трогал.
Да, помещение явно мало, даже для фермы на 1,5 КВт, но другого к сожалению не было. Как поделиться теплом с соседями или подключиться к радиаторам в многоквартирном доме с центральным отоплением я не понял.
Akr0n
21.04.2022 08:30Прокинуть на соседний балкон или в квартиру трубы с теплоносителем и поставить там еще радиатор.
Geek_and_Cat Автор
21.04.2022 09:11Теоретически это возможно, но шансы на то, что кто-то на это согласится достаточно малы, да я бы и сам не пошел на это. Сверлить насквозь плиту перекрытия, портить отделку, ставить радиатор, при том что я не готов брать на себя обязательство майнить ради отопления не взирая на цену валюты. Вот если бы я жил в частном доме, не было бы проблем ни с тем что греть, ни с тем куда девать тепло летом (можно вырыть на участке пруд и потихоньку его кипятить)
arheops
21.04.2022 21:02Пруд большой прийдется вырывать. У меня бассейн в 8 кубов, причем внеший(вбок легко тепло уходит и обдувается ветром). Нагрева в 1-2 квт хватает до +30. А если больше, быстро цветет.
Endovask
21.04.2022 08:28Уже обсуждалось на том же майнинг клубе, карты в жижу - плохая затея. Как поведёт себя тектолит спустя пару лет в масле.... Асики в этом плане гораздо устойчивее.
Geek_and_Cat Автор
21.04.2022 08:29+4Не совсем понял, чем текстолит на видеокартах отличается от текстолита на платах асика
Jromashin
21.04.2022 23:16+1текстолит используют даже для работы в трансформаторном масле, а рабочая температура там считается нормальной до 95 градусов.
r3pab
21.04.2022 08:28+2По технике все ясно,а какова рентабельность?
Geek_and_Cat Автор
21.04.2022 10:50+3Меняется в широком диапазоне (в 2-3 раза), в зависимости от курса криптовалюты. Причем, скорее важна не стоимость валюты на момент ее получения от майнинга а на момент продажи. Так же доходность постепенно снижается из-за роста сложности сети. В ETH доходность менялась от 0.011 ETH /день в 2021 году до 0.065 ETH /день сейчас. Как я уже сказал, ферма окупила себя, и принесла прибыль, но затраты человеко-часов абсолютно не сопоставимы с этими деньгами. Впрочем, так и задумывалось изначально.
alextrof94
22.04.2022 03:14+1Судя по готовому проекту - работы здесь на одни выходные + походы по магазинам, которые можно совместить с полезной нагрузкой в виде покупки обычных товаров.
Другое дело, что с нуля такое разрабатывать и сталкиваться с новым для себя опытом всегда занимает больше времени.
В общем, тут применима старая цитата вроде "я 10 лет учился, чтобы делать эту работу за 10 минут".
Да и не все человеко-часы обязаны быть оплаченными. Если хобби приносит удовольствие и делается для себя - как-то рассчитывать стоимость человеко-часов неправильно, ведь мы не рассчитываем стоимость нашего потраченного времени, когда смотрим кино, например. Это же развлечение.
Vadiara50
21.04.2022 10:01На первом фото-руководитель проекта, как я понимаю? Он остался доволен результатом?)
P.S а сам проект шикарен - читал, затаив дыхание..
habrabkin
21.04.2022 11:48На фото не доволен. Вертелки не вертятся.
Vadiara50
21.04.2022 13:38Надо было в иммерсионку рыбок запустить..
Geek_and_Cat Автор
22.04.2022 21:13Я слышал что ротаны очень выносливы, но жить в масле... 70-градусном...
Geek_and_Cat Автор
21.04.2022 13:10+1Спасибо, кот участвовал во всех этапах работы теперь наслаждается теплом
Кот
simpson789
21.04.2022 11:41Умный чел. Далек от электроники, к сожалению, но статью дочитал с удовольствием.
Busla
21.04.2022 11:59+1автор указывал на нестойкость это жидкости к ультрафиолету, что потребовало бы полностью закрытого корпуса, а это противоречит моим требованиям к эстетике решения
обычное стекло не пропускает ультрафиолет
Водоблоки охлаждают только ту часть оборудования, к которой они прилегают, иммерсионное охлаждение же более равномерное
я бы это утверждение переформулировал: водоблоки снимают теплоту непосредственно в месте её формирования, а иммерсионное охлаждение равномерно нагревает все окружающие элементы
Проект основательный, сделано всё с вниманием к деталям. Очень круто!
vovchick
21.04.2022 12:00+1можно было просчитать охлаждение так.
Нагрев
- Блок питания 2450Вт, кпд пусть 90%, значить потребление до 2722Вт
Охлаждение
- по паспорту у биметаллических радиаторов при разнице температур 70 градусов 180-200Вт на секцию. Если в помещении до 25 градусов, температура масла пусть до 50, тогда разница у нас только 25 градусов. Т.е. примерно 60-65Вт на секцию, но тут могу немного ошибаться.
Итого надо 2722/60 = 45 секций, лучше с запасом 50Geek_and_Cat Автор
21.04.2022 12:46Спасибо, думаю можно было бы даже попробовать смоделировать нагрев в Solidworks но я пока не умею
RTFM13
21.04.2022 17:49Это еще оптимистичный расчет. Кстати поднять теплоотдачу можно правильным воздуховодом.
AdVv
21.04.2022 14:36В вашем случае видеоотчет был бы лучше тысячи слов, даже с картинками. Очень бы хотелось увидеть как выглядит готовый результат в действии.
Geek_and_Cat Автор
21.04.2022 16:29Видео планируется, но еще находится на этапе монтажа. Думаю в течении месяца добавлю его к статье.
geleos27
21.04.2022 14:38+2А как автор планирует решать вопрос с
обледенениемвымыванием термопасты и ухудшением теплопроводности прокладок на чипах памяти?Пруф
Geek_and_Cat Автор
21.04.2022 16:36Так даже в приведенном видео сказано, что в иммерсионном масле за долгое время из 200 карт проблемы возникли с двумя. Если какая-то карта станет перегреваться, я увижу это и смогу принять меры. Но в целом, я не рассчитываю что они будут работать вечно, весьма вероятно то, что они станут нерентабельны в майнинге задолго до того, когда они сгорят.
garbagecollected
21.04.2022 17:13+1Спасибо за статью. Для себя вроде как ничего революционно-нового не приметил, но читать по этой теме всегда интересно. В майнинге на видео охлаждение - не главное, главное - отвести тепло. Здорово, что вы это тоже понимаете. Опыт бесценен.
alexxxst
21.04.2022 17:45Не хватает видео, как это всё работает?
Geek_and_Cat Автор
21.04.2022 17:55Видео планируется, но еще находится на этапе монтажа. Думаю в течении месяца добавлю его к статье
maleneff
21.04.2022 17:54B250 MINING EXPERT поддерживает подключение трех ATX блоков питания, по какой причине был использован один серверный? Меньше проводов?
Geek_and_Cat Автор
21.04.2022 18:05Форм-фактор длинного узкого БП мне подходит больше, чем несколько квадратных ATX блоков
Серверный БП дешевле, даже с преобразователями
Серверный БП может более эффективно использоваться при замене видеокарт на асики
Предположу что он надежнее чем несколько обычных
Как вы верно сказали, меньше проводов
Roamer1988
21.04.2022 18:52А можно узнать какое конкретно имерсионное масло использовалось, делал ванну для asic майнеров, 1.5 года и все умерли, разрушение дорожек и самой платы, среда слишком агрессивная. Масло подходящее для охлаждения производят в Канаде и Франции (может ещё где надо уточнять) но стоимость запредельная, а в нынешней ситуации просто недоступно.
prm_prg
21.04.2022 20:05Прочитал с большим интересом. Отдельное удовольствие получил от грамотного повествования.
ixoid
22.04.2022 10:05А как тепло в воду сбрасывали, через какой теплообменник?
Красиво сделано.
Geek_and_Cat Автор
22.04.2022 14:15Через небольшой пластинчатый теплообменник. В нем две жидкости обмениваются теплом через тонкие стенки, при этом не смешиваясь друг с другом.
Фото теплообменника
Geek_and_Cat Автор
Извините, картинки почему-то потерялись при редактировании, сейчас починю
nik_pakhomov
Очень круто, но с картинками будет ещё лучше. Спасибо!
UPD: отдельное спасибо за ссылку на онлайн-калькулятор.
Geek_and_Cat Автор
Спасибо, картинки починил
habrabkin
Здесь в дискорде целая подборка калькуляторов: discord.gg/34EWk66Yky
safari2012
А видео можете снять? А то как-то фрагментарно всё картинками...
Geek_and_Cat Автор
Материал уже снят и находится на этапе монтажа, в течении месяца постараюсь добавить видео к статье.