Map

 

Регулятор 12V вентилятора на ATtiny13


Предыстория:

       Стоял у меня на работе старенький компьютер (Athlon XP 2500+) и сильно мне мешал своим шумом (5 вентиляторов!!!). Температура отдельных компонентов невысокая (смотрел разными программами и в BIOSе), но регулировки скорости вентиляторов в той материнке нет... Вначале была идея создать мега дэвайс по контролю температуры и регулировке скорости вентиляторов, да ещё с общением по USB с компьютером. Но немного подумав сделал простенькое устройство для каждого вентилятора.

История:

      Взял все вентиляторы из своего компа и попробовал при каком напряжении они стартуют. Получилась довольно печальная картина: некоторые вентиляторы стартуют при напряжении 8 Вольт, но продолжают уверенно крутятиться даже при понижении напряжения до 5 Вольт. А при 8 - уже почти полные обороты. Поэтому на старте устройство должно на 1 секунду подать полное напряжение, а потом уменьшить до нужной величины. Далее - все вентиляторы уверенно работают при 5 Вольтах, поэтому нижняя граница напряжения принята 5 Вольт. Верхняя - понятно 12 Вольт.

      Теперь о температуре... Я посчитал, что температура в 36 градусов является нормальной для всех компонентов компьютера, поэтому нижний порог срабатывания взят за 36 градусов. Ну и верхний (при котором будут максимальные обороты) выбран 66 градусов. Почему? Да не знаю вроде ещё и не критическая температуря, но уже и не маленькая...

      Чем будем мерять? Хорошо конечно получать температуру прямо с материнской платы, но это не всегда возможно, да и хочется автономного устройства... Термопара? довольно сложно. Остановимся на цифровом датчике DS18B20.

     Чем будем управлять? Мне показалось что самого простого контроллера будет достаточно, поэтому я взял самый дешёвый контроллер (из AVR) ATtiny13 и принялся за дело.

     Схема получилась вот такая (кликабельно):

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

Печатная плата

Как видите - односторонняя ПП, правда не очень простая, зато маленькая: 27*15мм!!! Тут (Downloads: ) можно взять в формате Sprint-Layout 5.0

Далее немного фото:

Голая плата изготовленная "лазерным утюгом":

Собранная плата, вид со стороны проводников:

Собранная плата, вид со стороны элементов:

Готовое устройство:

 

Вот такой вот корпус:

 

Прошивка:

      Прошивка в HEX (Downloads: ), Проект (Downloads: ) под CodeVisionAVR. В прошивке отключен контроль вращения вентилятора. Просто закомментированы следующие строки (97-100):

    if (!FanStoped & PINB.1)
    {
    Beep();
    }

      На старте контроллер запускает вентилятор на полную и медленно снижает напряжение на выходе до 5 вольт, что контролируется с помощью аналогового входа ADC2. Это сделано для более точного получения напряжения 5 Вольт, т.к. параметры используемых элементом могут сильно отличаться. Далее начинам измерять температуру. Если она ниже нижнего порога 36 градусов - останавливаем вентилятор. Как только температура доберётся до 36 градусов - на одну секунду подаём 12 Вольт на вентилятор, чтобы он гарантировано стартовал, а потом уменьшаем до напряжения высчитанного по формуле:

U = ((Umax - Umin) / (Tmax - Tmin)) * (T - Tmin) + Umin

где: Umin = 5В, Umax = 12В, Tmin = 36°, Tmax = 66°, T = текущая измеренная температура.

Получается приблизительно следующее:

Т°, С U, В
36 0
37 5,2
42 6,4
50 8,3
66 12

Когда температура становится равной или выше максимума - включается вентилятор на полную и включается пищалка (на выводе 7 - логический "0").

Устанавливаем:

      Термодатчики можно запихивать между рёбер радиаторов. Приблизительно так:

     На жёсткие диски пришлось придумать скобку для крепления датчика. Вот так:

Результаты:

      После старта компьютер начинает реветь на полную мощность, но в течении 30 секунд гул стихает и если что-то успело нагреться до 36 градусов, то включается один-два вентилятора. Потом по мере прогрева системы могут включаться и остальные вентиляторы. Поработав немного и охладив систему они выключаются...

     Был у меня "сервер" - P-III 800MHz - использовался только как файловое хранилище и шлюз в интернет. На него были установлены 6 таких устройств.

  • Процессор (Slot 1)

  • Видеокарта (GeeForce 4 MX440)

  • БП Codegen 400W

  • Корпус

  • HDD1

  • HDD2

Если до установки регуляторов я не знал куда его запихнуть, то теперь его стало еле слышно, и то в моменты нагрузок - копирую на него что-то или с него, или много народу ломанулось в интернет и антивирус усердно кушает ресурсы процессора. А основное время (до 70%) вентиляторы стоят!!!

ВНИМАНИЕ!!! Данное устройство можно подключать только к нерегулируемым выходам для вентиляторов на материнской плате, или к 12 Вольтам напрямую к блоку питания. Можно также выключить регулировку напряжения в BIOS, только зачем тогда было делать это устройство, если Ваша материнка умеет сама регулировать скорость вращения вентиляторов.

Если есть вопросы или предложение - пишите! ФОРУМ.

014853