USB-контроллер вентиляторов собственной разработки для Windows и Linux
Представляю Вашему вниманию автоматический контроллер собственной разработки для управления корпусными вентиляторами. Кодовое имя - 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.
А это надежно?
Разумеется, контроль охлаждения - тема ответственная. При разработке устройства был принят ряд мер, увеличивающих общую надежность системы:
- Кварцевая стабилизация частоты позволяет стабильно работать как при низких температурах в зимнее время, так и при высоких в летний знойный день.
- Критически важные узлы на плате герметизированы компаундом.
- За работой регулятора следит сторожевой таймер, а управляющая программа автоматически устанавливает новое соединение в случае необходимости.
- Внешние линии подключения, а именно кабели вентиляторов, датчика температур и USB имеют защиту от статического электричества.
- Управляющая программа позволяет настроить пороговые значения температур для выключения компьютера в случае критической ситуации.
Расскажи об интерфейсе управления, как всё это выглядит?
Управляющая программа поделена на две части:
- Ядро - работает всегда, автоматически запускается вместе с системой, считывает температуры железа и поддерживает обмен данными с контроллером.
- Пользовательский интерфейс - запускается по мере необходимости настройки и мониторинга данных.
Для Linux систем пользовательский интерфейс доступен в формате команд через терминал. Все имеющиеся команды подробно описаны в pdf инструкции к SKADI.
А для пользователей Windows, помимо команд через терминал, доступно также графическое приложение.
Возможности контроллера на примере графического приложения
После запуска графического приложения пользователь видит «главную» вкладку панели управления.
Здесь доступен список источников температур Вашего железа, от которых можно настроить работу вентиляторов, а также присутствует выбор из двух режимов работы ядра: упрощенный и продвинутый.
«Упрощенный» режим предназначен для быстрой настройки – достаточно задать целевые температурные значения для GPU (ядро, память и хотспот), и система начнет самостоятельно анализировать пиковые показатели сенсоров и корректировать необходимую скорость вращения вентиляторов.
Вкладка «Главная». Режим «Упрощенный»«Продвинутый» же режим - для опытных пользователей. В нем предусмотрена возможность тонкой настройки:
- Индивидуальные температурные параметры для каждого датчика.
- Использование независимых каналов управления.
Для настройки «продвинутого» режима нужно сделать две вещи: создать температурное правило и привязать его к контроллеру. При нажатии на кнопку редактирования в соответствующем блоке появляется меню создания и наполнения температурных правил, а также привязки их к подключенным контроллерам.
Вкладка «Главная». Режим температурных правил «Продвинутый»
В центральном блоке интерфейса отображается текущая информация от контроллеров:
- Статус и скорость подключенных вентиляторов.
- Версия прошивки устройства.
- Температурные показатели устройства и внешних датчиков.
Чуть ниже доступно меню с выбором режимов работы контроллера:
- USB (ПИД) - поддержание заданной целевой температуры по данным USB.
- USB (График) - регулировка по температурному графику по данным USB.
- Ручной - задание скорости вращения вентиляторов вручную.
- Датчик (ПИД) - поддержание заданной целевой температуры по данным от внешнего датчика.
- Датчик (График) - регулировка по температурному графику по данным от внешнего датчика.
- Смещение - дублирование скорости соседнего канала со смещением.
Поддерживается одновременная работа с несколькими регуляторами. Для каждого подключенного контроллера отображается свой информационный блок.
Чтобы контроллер узнал о наличии подключенных вентиляторов и начал отдавать информацию о них, нужно запустить процесс калибровки. Сделать этого можно, перейдя во вкладку «Настройки» и нажав на зеленую кнопку калибровки.
Вкладка «Настройки». Общий вид
В этой же вкладке задаются тонкие настройки контроллера на все случаи жизни:
- Включение и выключение раздельной регулировки каналов.
- Активация и деактивация сторожевого таймера.
- Настройка параметров управляющего ШИМ сигнала для специфичных вентиляторов.
- Настройка ПИД регулятора, на случай, если вы используете режим с поддержанием температуры.
- Задание параметров для работы от внешнего датчика температуры.
- Кнопка общего сброса для возврата к заводским настройкам.
Следующая вкладка - «Графики». Здесь пользователь может построить собственную температурную кривую и управлять скоростью вентиляторов от неё.
Вкладка «Графики». Меню источников и использования
Для начала нужно создать график и выбрать, какие устройства будут выступать в качестве источника температур. Здесь же задаем и контроллер, который будет использовать этот график.
Контроллер будет использовать рассчитанные графиком значения, если будет включен режим «USB (График)».
Вкладка «Графики». Меню редактирования графика
Для редактирования самого графика открывается отдельное интерактивное окно:
- Нажатие ЛКМ - создание новой точки на графике.
- Удержание ЛКМ - перемещение существующей точки.
- Нажатие ПКМ - удаление ненужной точки.
Кнопка «Сохранить» дает команду на запись изменений, кнопка «Отменить» отменяет несохраненные изменения на графике.
Как видим, настройка графиков простая и интуитивно понятная.
Ну и вкладка «Прочее» тоже содержит в некоторые интересности, о которых нужно рассказать.
Вкладка «Прочее». Меню температурной защиты и фильтрации показаний датчиков
Здесь нас встречают сведения о версиях основных компонентов: графического интерфейса и системного ядра приложения.
Ниже расположился блок автозапуска графического приложения при старте системы. Автоматический старт GUI выполняется по желанию пользователя, так как ядро приложения, отвечающее за считывание температур и обмен данными, стартует в любом случае.
Также данный раздел позволяет активировать журналирование системных событий, просматривать архив записей и анализировать ошибки, что особенно полезно при диагностике неполадок и тонкой настройке параметров системы.
Отдельный блок посвящен функции аварийного отключения ПК при перегреве GPU. Пользователь может:
- Настроить экстренное завершение работы системы при превышении заданных значений
- Установить критические температурные лимиты для каждого компонента
И последняя по порядку, но не значимости, функция фильтрация данных с датчиков.
Алгоритм скользящего среднего, применяемый к показателям датчиков Вашего железа, позволяет нивелировать кратковременные колебания температур и повысить стабильность работы системы охлаждения.
На этом экскурс в систему автоматизации вентиляции подходит к концу.
Если у Вас остались какие-то вопросы или пожелания - прошу в комментарии, постараюсь ответить всем.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.


Комментарии Правила