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

P.S. много фото.

Вступление


Мысль собрать что-то вроде маленького сервера витала давно. Сначала были идеи сделать его без корпуса и убрать куда-нибудь подальше, лишь бы выполнял свою роль. Этот подход хорош в том плане, что при минимальных затратах усилий и времени он дает свой результат, но было одно «но»: просто соединить проводки и установить систему совсем не интересно. Так и родилась идея сделать все максимально красиво и функционально.

Хотелки были следующие:
  • полноценная х86 система;
  • наличие как минимум 3 жестких дисков: 2 в зеркале и 1 под торренты;
  • возможность использования в качестве медиацентра;
  • компактность (относительно ATX корпусов);
  • внешний вид, который бы радовал глаз;
  • небольшой бюджет.

Исходя из этих целей, была выбрана материнская плата форм-фактора Mini-ITX с распаянным процессором и встроенным видео. Это и стало отправной точкой постройки корпуса.

Постройка корпуса


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

Максимальная ширина была продиктована шириной жесткого диска 2.5 дюйма и составила 80 мм, глубина – габаритами материнской платы, с запасом было взято 180 мм. Высота же напрямую зависела от компоновки, впустую раздувать габариты не хотелось, поэтому все располагалось максимально компактно. В конечном итоге высота, не считая подставки, была выбрана 500 мм. Чертежей не было, только набросок на листке бумаги, все остальное делалось по месту, ввиду невысокой сложности проекта.



Каркас собирался из алюминиевого уголка со стороной 10 мм и толщиной стенки 1.2 мм. Материал легкий, прочный, удобный в обработке, стоил на момент покупки около 15 рублей за метр. Для того чтобы все размеры были точными, отпиливались вместе сразу 4 уголка при помощи болгарки, закрепленной в стойке, таким способом удалось легко избежать кривизны конструкции из-за разной длины деталей.

Для соединений уголков между собой использовался заклепочник. Сверление отверстий под заклепки производилось, предварительно совместив 2 уголка друг с другом и зафиксировав их под прямым углом, после сверловки сразу производилась клепка. Таким образом были получены 2 боковых рамки.



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



Затем добавились крепления для платы блока питания, от корпуса которого отказался еще на этапе компоновки. Под блоком питания располагается материнская плата, ниже – крепление для двух жестких дисков 3.5 дюйма, расположенных вертикально на боку, а под ними – корзина на 4 диска форм-фактора 2.5 дюйма. Все эти элементы значительно увеличили жесткость конструкции.



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

Также был укорочен шлейф проводов от блока питания до материнской платы, а не востребованные линии просто выкусил.

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

Раз было решено все сделать красиво, то понадобились соответствующие материалы для отделки. Идей было много: от листового металла до цельной коробки из искусственного камня, но вес и трудоемкость процесса были неоправданно высоки. Многие советовали не париться и сделать из оргстекла. По эстетическим причинам это было неприемлемо, да и как-то попсово, чего не скажешь об обычном стекле. Первый вариант был из бесхозного стекла толщиной 2.5-3 мм, правда, пока вырезал 4 стенки нужного размера, побил пару квадратных метров, чтобы научиться, но это все мелочи. После раскроя – обработка краев наждачкой и сверловка отверстий.

Отдельно хочу остановиться на сверловке. Сверлить стекло удобнее всего получалось дрелью в стойке или сверлильным станком на малых оборотах с алмазным трубчатым сверлом по стеклу или кафелю. Место сверления всегда должно быть заполнено водой, что помогает избежать стеклянной пыли и перегрева стекла. Насквозь лучше не сверлить во избежание сколов, а дойдя до середины, перевернуть и досверлить с другой стороны.





Как однажды сказал Генри Форд: «Машина может быть любого цвета, при условии, что он черный». А чем это не машина? Так что однозначно черный!

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

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

Спустя год пришло время переосмысления внешнего вида: теперь стенки изготовлены из стекла толщиной 6 мм и имеют вес, не уступающий всей конструкции в сборе. В этот раз все было заказано в стекольной мастерской и выглядело просто отлично, правда, отверстия все же пришлось сверлить уже по месту.



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



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

Индикация и контроль


Исходя из требований красоты и функциональности был просто необходим свой контроллер со следующими требованиями:
  • управление 4 группами RGB-светодиодов;
  • управление 4 кулерами;
  • считывание 4 датчиков температуры; возможность отключать систему;
  • USB-соединение с сервером.

Под все это была разведена простенькая односторонняя печатка на чипе STM32F103.



Светодиоды управляются через полупрограммный ШИМ. С кулерами все немного сложнее: первые попытки управления были также с помощью полупрограммного ШИМа, но при низкой частоте появлялся неприятный писк из-за совпадения частоты ШИМа с несущей частотой мотора кулера, т.е. была необходима высокая частота. В связи с этим был использован аппаратный ШИМ с частотой 32 кГц. Правда, повезло в том, что выводы аппаратного ШИМа частично попадали на те же ноги, что и программный, а частично на резервные линии, что были рядом.

В качестве термодатчиков использованы терморезисторы, подключенные по мостовой схеме.

Изначально в качестве силовых драйверов были использованы ULN2003, как на светодиоды, так и на кулеры, с той разницей, что первые питались от 5 В, а вторые – от 12 В. Но как оказалось, 3.3 В не хватает для полного открытия ключа при 12 В, и все уходит в нагрев, в этот момент пришлось приколхозить 2 сборки из полевых транзисторов, рассчитанных именно на низковольтный ШИМ (N6302). Еще один нюанс с USB: подтяжки контроллера не хватило на то, чтобы произошло определение устройства, поэтому пришлось сверху напаять еще дополнительный резистор с линии D+ к +3.3В.



Питание микроконтроллера происходит от шины дежурного напряжения блока питания, светодиоды и кулеры же запитываются от основных линий +5 В и +12 В.

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



Система и софт


Так как все должно быть легким и шустрым, то в качестве системы был выбран Puppy Linux. Основными критериями стали малый размер и размещение всей системы в оперативной памяти, все это загружается с флешки в качестве LiveCD и при необходимости изменений сохраняется в файл. По софту все просто: программный Raid0, SMB-сервер, Transmission в качестве торрента, связка MPD + IceCast2 для интернет-радио и XBMC как оболочка медиацентра. Управляется все при помощи китайской AirMouse со встроенной клавиатурой.

Микроконтроллер определяется как HID-устройство и общается с управляющей программой, написанной на Python. Обмен двунаправленный, хост получает значения температур и управляет скоростью вращения кулеров.

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

Фото процесса сборки


































































Заключение


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

Надеюсь, что все кто дочитал до сюда не потратили времени зря и вынесли для себя что то полезное или интересное.
Если остались какие то нераскрытые темы, то постараюсь осветить их в комментариях.

Комментарии (11)


  1. Disconnecter
    10.08.2015 12:10

    Довольно не плохо.
    И вообще где ТТХ железа?


    1. emptiness_rain
      10.08.2015 12:31

      Основная цель постройка именно корпус, железо выбиралось довольно посредственное.
      Материнская плата GIGABYTE GA-E350N с распаянным процессором, 2 гигабайта оперативной памяти, 3.5 жесткий диск для торентов, и два 2.5 в зеркало.


  1. Artystarty
    10.08.2015 14:09

    Система охлаждения получилась не очень эффективной из-за малых габаритов корпуса и плотной компоновки


    Да, действительно, разработку корпуса стоило бы начать с продумывания эффективной вентиляции. Жарковато электронике будет.


  1. LexB
    11.08.2015 08:09

    Отличный проект! Крепление стёкл можно реализовать на сильных магнитах по углам отдаленных от жесткого диска.
    Если не сложно, сделайте, пожалуйста, менее шумное фото, например с большей выдержкой, с устойчивой поверхности.


    1. emptiness_rain
      11.08.2015 11:24

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


      1. LexB
        11.08.2015 12:15

        Можно приклеить стекло металлическую ленту. Взять кусок побольше чтобы проклеиваемая площадь была большая.

        Картинка


        1. emptiness_rain
          11.08.2015 13:45

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


          1. LexB
            11.08.2015 14:18

            Почему не бьется? А задней стенки у вашего корпуса нет?


            1. emptiness_rain
              11.08.2015 21:17

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


              1. LexB
                11.08.2015 21:50
                +1

                Качественно вырезать металл по форме стекла в домашних условиях будет сложно. А если заказывать, например лазерную резку то и сам корпус можно сделать из металла.
                Для крепления материнской платы и блока питания можно было использовать резьбовые заклепки

                Картинка
                image


                1. emptiness_rain
                  11.08.2015 22:17

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