RSS

Четырёхканальный регулятор оборотов вентиляторов для охлаждения корпуса ПК

07 Дек
Четырёхканальный регулятор оборотов вентиляторов для охлаждения корпуса ПК

Вашему вниманию предлагается конструкция, предназначенная для автоматического и ручного регулирования оборотов вентиляторов охлаждения (до 4-х шт.) от датчиков температуры (2 шт.).

Вся конструкция размещена в корпусе от старого CD — ROM и предназначена для установки в 5 — дюймовый отсек компьютера.

Прошу под кат (много букв и картинок)

В качестве датчиков в моей конструкции я применил DS1820. C ними просто работать и обеспечивают они достаточную точность при несложном программировании.

ds1820

Подробнее об этой микросхеме можно узнать, прочитав справочную информацию об DS1820.

Схема подключения подобного датчика к PIC — контроллеру следующая:

scheme_02

Для регулирования оборотов решено было использовать Широтно Импульсную Модуляцию (ШИМ или PWM). К сожалению организовать программный 4-х канальный ШИМ на имеющемся в наличии PIC — контроллере (а именно PIC16F877) на необходимых частотах (а именно 18-25 кгц) довольно проблематично. А при более низких частотах начинают «петь» вентиляторы. Проверено экспериментально. По этой причине от прямого ШИМ — регулирования пришлось отказаться.

На помощь пришла вот такая схема управления:

pwm_7805

ШИМ — напряжение невысокой частоты (в моём случае не выше 1 кГц) сглаживается RC — цепочкой. Операционный усилитель включен по схеме повторителя напряжения и выход его является источником напряжения смещения стабилизатора напряжения 7805. В таком случае напряжение на выходе микросхемы — стабилизатора 7805 будет изменяться примерно от 5.5 V (при минимальной ШИМ) до примерно 11.5 V (при максимальной ШИМ), что является наилучшим вариантом для работы компьютерного кулера.

Если вместо 7805 применить, к примеру, LM317, можно получить регулировку от примерно 2.5 V. Только для вентилятора этого явно мало.

В качестве индикатора я применил готовую панель из 5-и 7-сегментных индикаторов и линейки из 8-ми светодиодов на основе микросхемы ICM7812. Так же на этой панели имеются 3 кнопки. Панелька была взята из какого-то старого прибора. Просто хорошо подошла.

scheme_01

Описание работы микросхемы ICM7218 на русском (краткое) и английском (более полное) можно скачать по ссылке.

Я же приведу только краткую информацию:

ICM7218

ICM7218_pinout

Опять же — за всеми подробностями читаем даташит

Микропроцессорная часть выглядит следующим образом:

scheme_03

ПРОЦЕССОР БЫЛ ПРИМЕНЁН PIC16F877.

Датчики DS1820 подключены ко входам RA3, RA4. Панель индикатора подключена к портам RD и RC. Выходы каналов ШИМ RB0-RB3.

Вот и печатная плата:

plata

для увеличения — клик на картинке

Скачать чертёж печатной платы в формате *.lay можно по ссылке.

А вот она «живьём» (изготовлена «лазерно — утюжным» способом (ЛУТ)) :

plata_lut

и после распайки деталей :

plata_top

plata_3

Стабилизаторы 7805 установлены на небольшие радиаторы.

Теперь о программе:

Приведу тут только пару фрагментов:

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

temp_read

В данной подпрограмме производится последовательное чтение с 2-х датчиков значения температуры и преобразование её в цифры (десятая часть и единицы) для вывода на индикацию.

2. Подпрограмма прерываний (4-х канальный ШИМ)

pwm_interrupt

В программе прерываний проверяется, достигла ли длительность импульса ШИМ заданного значения для каждого из четырёх каналов. По достижении — данный канал переключается в (0). По окончании периода ШИМ все каналы переходят в (1) и цикл начинается снова. Кроме этого в программе прерываний происходит вызов подпрограммы обработки нажатия кнопок.

Скачать проект программы данного прибора для Micro C можно по ссылке.

Кроме непосредственно проекта на Micro C с многочисленными комментариями в архиве находятся непосредственно прошивка (файл Fancontrol.hex) и файл с установками по умолчанию, которые надо записать в EEPROM при программировании контроллера (файл eeprom.MCH). Эти установки можно внести в Mplab вручную:

eeprom

Теперь об управлении прибором:

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

menu_01

menu_02

Кнопки 1 и 3 циклично переводят индикацию в режим (попеременная индикация) — (только 1 датчик) — (только 2 датчик). Длинное нажатие кнопки 2 гасит экран (сам регулятор продолжает работать). Обратное включение — любая кнопка.

Короткое нажатие на кнопку 2 вызывает выбор общего меню режима работы всех 4-х каналов. По умолчанию — (АВТО). Кнопки 1 и 3 циклично переключают (АВТО) — (100% — полные обороты) — (50% — тихий режим)

menu_10

menu_11

menu_12

В режиме (АВТО) работа каждого канала определяется индивидуальными настройками.

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

Нажатие кнопки 2 далее приводит к переходу в режим индивидуальных настроек канала каждого вентилятора.

Выбор канала осуществляется кнопками 1 и 3. Вход в настройки канала — кнопкой 2.

menu_21

menu_22

menu_23

menu_24

Так же в этом меню есть пункт выхода «EXIT» :

menu_20

Краткое нажатие на кнопку 2 приводит к выходу в режим индикации без записи изменений в EEPROM. Длинное нажатие — перед выходом производится запись настроек в EEPROM с соответствующей индикацией.

menu_save

Внутри каждого канала есть следующие индивидуальные настройки (перемещение по настройкам — кнопка 2, изменение настроек кнопки 1 и 3):

1 — Выбор датчика, от которого регулируется этот вентилятор (1 или 2):

menu_31

2 — Выбор крутизны регулировки (за какой диапазон температур обороты вентилятора изменятся с минимальных до максимальных). (1 — за 20°С, 2 — за 10°С)

menu_32

3 — АВТО, 100%, 50% — то же, что и в общем случае, только индивидуально для каждого вентилятора.

menu_10

menu_11

menu_12

4 — Температура, при которой вентилятор достигнет максимальных оборотов (25° — 85°С)

menu_33

Ещё одно нажатие на кнопку 2 приведёт к возврату к выбору канала вентилятора —  выходу (EXIT).

Вот, пожалуй, и все.

Это прибор, смонтированный в корпус от CD-ROM. В компьютер его пока не вставил, но все необходимые испытания произвёл.

main

 
1 комментарий

Опубликовал на 07.12.2013 в Компьютер, Электроника

 

Метки: , , , , , ,

1 responses to “Четырёхканальный регулятор оборотов вентиляторов для охлаждения корпуса ПК

Оставьте комментарий