Представляю Вашему вниманию автоматический контроллер собственной разработки для управления корпусными вентиляторами. Кодовое имя - SKADI. Интересен он своей всеядностью операционных систем и гибкостью в настройке.
Контроллер вентиляторов SKADI - это программно-аппаратный комплекс, состоящий из платы управления и управляющей программы, от которой устройство получает данные о температурах вашего железа по интерфейсу USB.
Контроллер представляет собой плату, на которой расположились 8 разъемов для вентиляторов, тип поддерживаемых вентиляторов 4-пин (с PWM управлением). Каналов чтения скоростей вентиляторов - 8, каналов управления - 2.
Разъем питания вентиляторов - PCIe 6-пин, позволяет подключать как обычные маломощные компьютерные вентиляторы, так и мощные серверные вертушки в сумме до 225 Вт. Питать его можно как обычным блоком питания ATX, так и сторонними блоками от 12 В до 24 В.
Имеется поддержка подключения внешнего датчика температуры. Его можно использовать как простой дополнительный источник информации о температуре или же управлять вентиляторами от него.
Для подключения к материнской плате на плате регулятора расположился USB Type-C разъем.
Все настройки контроллера осуществляются через управляющую программу. Настроить можно как весь контроллер в целом, так и каждый канал управления в отдельности.
Программа управления умеет считывать температуры различных параметров видеокарт и процессоров, фильтровать эти значения и отдавать их контроллеру по интерфейсу USB.
Сам же регулятор умеет работать в следующих режимах:
Выше обозначенные режимы могут быть настроены как от температур, приходящих в контроллер по USB, так и от собственного датчика температуры.
Для продвинутых пользователей, которые хотят реализовать скрипты управления самостоятельно, присутствует возможность транслирования задаваемых скоростей вентиляторов напрямую в контроллер.
Программа управления существует в двух вариациях: для Windows и Linux систем.
При использовании Windows понадобится версия ОС 10 и выше.
При использовании Linux систем вам понадобится дистрибутив с поддержкой glibc 2.29. Программа протестирована и успешно работает на Debian 12, Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS.
Разумеется, контроль охлаждения - тема ответственная. При разработке устройства был принят ряд мер, увеличивающих общую надежность системы:
Управляющая программа поделена на две части:
Для Linux систем пользовательский интерфейс доступен в формате команд через терминал. Все имеющиеся команды подробно описаны в pdf инструкции к SKADI.
А для пользователей Windows, помимо команд через терминал, доступно также графическое приложение.
После запуска графического приложения пользователь видит «главную» вкладку панели управления.
Здесь доступен список источников температур Вашего железа, от которых можно настроить работу вентиляторов, а также присутствует выбор из двух режимов работы ядра: упрощенный и продвинутый.
«Упрощенный» режим предназначен для быстрой настройки – достаточно задать целевые температурные значения для GPU (ядро, память и хотспот), и система начнет самостоятельно анализировать пиковые показатели сенсоров и корректировать необходимую скорость вращения вентиляторов.
Для настройки «продвинутого» режима нужно сделать две вещи: создать температурное правило и привязать его к контроллеру. При нажатии на кнопку редактирования в соответствующем блоке появляется меню создания и наполнения температурных правил, а также привязки их к подключенным контроллерам.
В центральном блоке интерфейса отображается текущая информация от контроллеров:
Чуть ниже доступно меню с выбором режимов работы контроллера:
Поддерживается одновременная работа с несколькими регуляторами. Для каждого подключенного контроллера отображается свой информационный блок.
Чтобы контроллер узнал о наличии подключенных вентиляторов и начал отдавать информацию о них, нужно запустить процесс калибровки. Сделать этого можно, перейдя во вкладку «Настройки» и нажав на зеленую кнопку калибровки.
В этой же вкладке задаются тонкие настройки контроллера на все случаи жизни:
Следующая вкладка - «Графики». Здесь пользователь может построить собственную температурную кривую и управлять скоростью вентиляторов от неё.
Для начала нужно создать график и выбрать, какие устройства будут выступать в качестве источника температур. Здесь же задаем и контроллер, который будет использовать этот график.
Контроллер будет использовать рассчитанные графиком значения, если будет включен режим «USB (График)».
Для редактирования самого графика открывается отдельное интерактивное окно:
Кнопка «Сохранить» дает команду на запись изменений, кнопка «Отменить» отменяет несохраненные изменения на графике.
Как видим, настройка графиков простая и интуитивно понятная.
Ну и вкладка «Прочее» тоже содержит в некоторые интересности, о которых нужно рассказать.
Здесь нас встречают сведения о версиях основных компонентов: графического интерфейса и системного ядра приложения.
Ниже расположился блок автозапуска графического приложения при старте системы. Автоматический старт GUI выполняется по желанию пользователя, так как ядро приложения, отвечающее за считывание температур и обмен данными, стартует в любом случае.
Также данный раздел позволяет активировать журналирование системных событий, просматривать архив записей и анализировать ошибки, что особенно полезно при диагностике неполадок и тонкой настройке параметров системы.
Отдельный блок посвящен функции аварийного отключения ПК при перегреве GPU. Пользователь может:
И последняя по порядку, но не значимости, функция фильтрация данных с датчиков.
Алгоритм скользящего среднего, применяемый к показателям датчиков Вашего железа, позволяет нивелировать кратковременные колебания температур и повысить стабильность работы системы охлаждения.
На этом экскурс в систему автоматизации вентиляции подходит к концу.
Если у Вас остались какие-то вопросы или пожелания - прошу в комментарии, постараюсь ответить всем.