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

Ответить
Dragony
Сержант
Сообщения: 170
Зарегистрирован: 02 янв 2020, 11:55
Имя: Александр
Благодарил (а): 10 раз
Поблагодарили: 4 раза

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

Сообщение Dragony »

Приветствую всех!
Старый компьютер (примерно 2006г. выпуска) наконец-то перестал работать (потекли конденсаторы возле процессора). Добрые люди отдали материнскую плату с процессором, диск, БП, "подогнали" корпус. Другой добрый человек прислал пару планок памяти (а что, 2х8Гб для "пишущей машинки" - нормально :smile38: )
Вот и решил, что если ставить в новый корпус вентиляторы, то неплохо бы управлять ими в зависимости от температуры внутри корпуса и не только.
В результате не особенно долгих попыток родился проект на двух "платах". Основная - контроль температуры внутри корпуса и оборотов двух вентиляторов, с выводом на экран 1602, подключенный по I2C. Почему только два? Ограничение НАНО - можно использовать только два "скоростных счетчика". (или я ошибаюсь?..)
Вторая плата - управление вентилятором, установленным на радиаторе "моста" или преобразователя напряжения, как захочется и/или что сильнее греется при разгоне. Корпусной датчик температуры - DHT22, другой (контактный) - DS18B20.
Первоначально в первой плате использовал готовый блок, но его работа меня не устроила, пришлось креативить свой вариант.
При запуске вентиляторы раскручиваются практически до максимума, на несколько секунд. Затем корпусные вентиляторы отключаются, а вентилятор на радиаторе моста работает примерно вполсилы (ну или как установите в таблице нелинейного масштабирования). Решил обойтись без переменных, просто установками констант.
При достижении установленного порога температуры срабатывает блок термостата (использовал готовый блок из "пользовательских", большое спасибо разработчику!). Гистерезис установил в минус три градуса, чтобы вентиляторы в корпусе отключались ниже установленного порога.
Есть сигнализация нормального режима работы, аварии вентиляторов (любого из двух), перегрева.
Первоначально собирался делать на LGT8, но имеющаяся платка отказалась прошиваться, поэтому вернулся к НАНО.
Для контроля успешности прошивки и работы добавил "двойное мигание" на встроенный светодиод L платы, подключенный к D13.
Макет готов, осталось дождаться датчиков (не хочу резать готовый) и смонтировать экран на панель 3,5" отсека, лишь бы поместилось. :)
В качестве ключей использовал двухтранзисторную схему, включенную в "+" питания вентиляторов, чтобы нормально работали датчики Холла. Кстати, в цепь сигнального выхода одного из вентиляторов пришлось поставить блокировочный конденсатор со входа МК на "землю", иначе показания были некорректными. Второй вентилятор (меньшего размера и другой фирмы) такого не потребовал.
Блочная схема:
► Показать
Проект:
Управление вентиляторами с LCD 1602 2 входа импульс_2 платы 18B20.flp
Схема ключей на полевиках, два варианта:
► Показать
Макет:
► Показать
Показания на экране:
► Показать
Возможно, на выход ключа повешу еще декоративно-украшательскую цепочку из красных светодиодов, чтобы "разгоралась" по мере нагрева. :D

Возможно, кому-то это все понравится.
Всем спасибо!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

Re: Управление вентиляторами в ПК

Сообщение fefar51702 »

Купил на Али связку на 2650 V2 с памятью 32 Гб Не надо никаких вентиляторов по сути особо ничего не греется проц на двух трубках даже спокойно проходит синтетику в Аиде памяти конечно порой Маловато сейчас поставил 64 также брал за 2670 v2 потребление в них практически одинаковые синтетике по мощности но 20 потоков тоже лишними не бывает другие модели Не вижу смысла брать Если надо Чутка помощнее Тогда уж точно haswell либо broadwell брал себе 2678v3 прекрасная сборка
Dragony
Сержант
Сообщения: 170
Зарегистрирован: 02 янв 2020, 11:55
Имя: Александр
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Управление вентиляторами в ПК

Сообщение Dragony »

"Дареной комплектухе на чипсет не смотрят!"(С) :)))
Ну вот захотелось сделать... AMD FX8300 к холодным камням не относится.
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

Re: Управление вентиляторами в ПК

Сообщение fefar51702 »

Ну да Ну да самые интересные даже самые дешман из слабых серий типа 2620 В2 без проблем превосходит вишеру будь там даже топовый процессор 9*** серии
Dragony
Сержант
Сообщения: 170
Зарегистрирован: 02 янв 2020, 11:55
Имя: Александр
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Управление вентиляторами в ПК

Сообщение Dragony »

"Халява, сэр!.." что подарили, то и поставил. :)
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

Re: Управление вентиляторами в ПК

Сообщение fefar51702 »

Я на управление своего вентилятора делал пороги температуры в рамках которого он крутится То есть была минимальная температура допустим 40°. Это минимальные обороты были его потом была пороговая максималка в 65° это было максимально них крутился максимально и далее при 100° отключался нагрузку а шумел просто напрямую с порта через полевик тахометр ему отрезал провод так как у меня было Это виртуальные количество оборотов в виде процентов от 0 до 100%. Особой точности Вам эти цифры все равно не дадут Никакой пользы что вы будете знать точное количество оборотов что вы будете знать в каком-то диапазоне от 0 до 100 находится но в плане датчика брал обычный термистор плёночный который ставит в полимерных аккумуляторах Он мгновенно реагирует моментально на любые изменения температуры крепится удобно в отличие от всех других даже той же дэске тем более в вашем случае он вообще герметиком залит он там показывает температуру которая была допустим 1-2 минуты назад грубо говоря Ну а в плане Шима там как повезёт с кулером некоторые не подвержены звуковой частоте А некоторые прямо вообще поют играют музыку любую в зависимости от шины А есть вентиляторы которые его вовсе не любят ШИМ а есть вентиляторы которые вовсе улетают в турборежим Ну допустим грубо говоря примерно при 90 процентах у него обороты взлетают выше чем его максималка а потом падают чуть меньше максимума при 100% Ну в итоге дошёл до самого простого это и правильного это ставить дроссель схему Шима он тогда вообще плавненько стартует сам тихонько работает также плавно угасает биоместиться ты вообще всё должно было у вас на одной ордуинке Единственное что вам нужно было взять под шим девятый и десятый вывод Ну там и вполне и восьмибитного хватило бы на третьем и одиннадцатом пене плюс четыре аналоговых датчика температуры могли бы вывести в разные точки измерения про прерывание Я что-то вообще не понял Причём здесь прерывания дают что вы пытаетесь обороты считывать Ну так я уже говорил что от них мало что зависит это цифра ничего не скажет оперировать ей сложнее В том плане что она большого объёма скажем так и Малой интуитивно информировать пользователя предназначенные это знаете как некоторые ко мне обращаются Выведи мне мощность на тэн регулятор мощности в общем говорю тебе Нахрена знать там сколько у тебя там киловатт 4 или там 3.950 тебе что от этого погода будет то самое простое это также взять от 0 до 100% и всё то есть допустим я знаю что мне чтобы пожарить блины на моей сковородке надо иметь 82% выставить это пока она холодная и дальше через несколько минут 5-10 убавить там на 78%, чтобы масло не горело и спокойно жарить блины чем в его понимании допустим это выглядело бы как там 2,5 кВт а потом поставь 2156 каких-нибудь киловатт бредяти на полнейшее
Dragony
Сержант
Сообщения: 170
Зарегистрирован: 02 янв 2020, 11:55
Имя: Александр
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Управление вентиляторами в ПК

Сообщение Dragony »

А вы знаете, что когда-то на кухонной плите делали ручки и шкалы, не несущие никаких функций? Зато как это смотрелось!.. :)
Да, вместо количества оборотов потом можно будет пересчитать число в проценты от максимума и показывать уже их. (Но для этого опять же нужно знать максимум для каждого экземпляра:) )
Ключ в "+" - потому что датчик Холла в вентиляторе выполнен в виде транзистора с открытым коллектором, замыкающим провод от входа МК на землю.
А вариантов можно сделать много, и я не претендую на самый "крутой". :)
Датчик DS18В20 - такой временно, пока не придут "голые". Инерционность здесь не мешает - радиаторы за доли секунды в обычном режиме вряд ли разогреваются. А если уж разогрелись - то им вентилятор вряд ли поможет... :)
Ander
Лейтенант
Сообщения: 502
Зарегистрирован: 31 окт 2023, 12:50
Имя: Андрей
Благодарил (а): 21 раз
Поблагодарили: 94 раза

Re: Управление вентиляторами в ПК

Сообщение Ander »

fefar51702 писал(а): 21 мар 2025, 14:18 Купил на Али связку на 2650 V2 с памятью 32 Гб Не надо никаких вентиляторов по сути особо ничего не греется проц на двух трубках даже спокойно проходит синтетику в Аиде памяти конечно порой Маловато сейчас поставил 64 также брал за 2670 v2 потребление в них практически одинаковые синтетике по мощности но 20 потоков тоже лишними не бывает другие модели Не вижу смысла брать Если надо Чутка помощнее Тогда уж точно haswell либо broadwell брал себе 2678v3 прекрасная сборка
Предупреждение за спам и флуд. Пользователь поделился своей разработкой.
Dragony
Сержант
Сообщения: 170
Зарегистрирован: 02 янв 2020, 11:55
Имя: Александр
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Управление вентиляторами в ПК

Сообщение Dragony »

Возник вопрос к знатокам: можно ли использовать в проекте (Ардуино Нано) сразу два "скоростных счётчика", или только один?
Хотел считать обороты двух разных вентиляторов, независимо. Второй счётчик работает странно: до определенного предела считает нормально, потом начинает выдавать завышенную в несколько раз ерунду, потом опять более-менее точно. Не могу понять, с чем связано... Причем и при повышении, и при понижении оборотов примерно в одном интервале.
Dragony
Сержант
Сообщения: 170
Зарегистрирован: 02 янв 2020, 11:55
Имя: Александр
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Управление вентиляторами в ПК

Сообщение Dragony »

Слегка переделал проект. Индикация теперь на мелком OLED 0,96".
В связи с глючностью "тахометров", убрал их индикацию, оставил только сигнализацию на случай критического снижения оборотов.
Выводятся: температура внутри корпуса, температура на радиаторе VRM, температура на радиаторе чипсета МП.
Проценты "оборотов" вентилятора теперь просто масштабируются от значений управляющих ШИМ.

Вариант схемы:
Control_OLED.png
Данные на экране:
IMG_20250401_123243.jpg
Рядом датчик DS18B20.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Dragony
Сержант
Сообщения: 170
Зарегистрирован: 02 янв 2020, 11:55
Имя: Александр
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Управление вентиляторами в ПК

Сообщение Dragony »

Итак, вот к чему пришел в итоге...
Пришлось убрать точный подсчет количества оборотов. Датчик Холла теперь служит для получения импульсов, которые при вращении вентилятора сбрасывают триггер. Перестал крутиться вентилятор - перестали поступать импульсы сброса - и через 15 секунд загорается красный светодиод. Зато сейчас эти импульсы можно получать с любого входа, лишь бы стоял подтягивающий резистор (программно на цифровом входе или реально, если используем аналоговый как цифровой).
Вентилятор для обдува чипсета дует постоянно, после первоначального старта на 100% обороты снижаются примерно до 40%. Ну и потом, с повышением температуры, обороты увеличиваются.
Корпусные вентиляторы включаются при повышении температуры внутри корпуса до 35С, отключаются при понижении до 32С.
Control_FUN_Temp.png
Управление вентиляторами_OLED.flp
Может быть, кому и пригодится, если нужно - дорабатывайте...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Dragony
Сержант
Сообщения: 170
Зарегистрирован: 02 янв 2020, 11:55
Имя: Александр
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Управление вентиляторами в ПК

Сообщение Dragony »

Итак, наконец-то довел свой проект до завершения... Как уж получилось. :)
OLED-экран не оправдал моих ожиданий (то ли у меня знаний не хватило, то ли глючные экземпляры попались... хз, короче говоря). Пришлос вернуться к старому доброму варианту с 1602, из-за чего долго думать, что, как и где писать на экране. :)
Итак... Отображается температура внутри корпуса, % оборотов корпусных вентиляторов от максимального (если включены, конечно :) ) - в первой строчке. Во второй: температура на регуляторы напряжения процессора (в моем варианте "около", т.к. нет радиаторов, где можно закрепить термодатчик), температура на чипе южного моста (воткнул между пластинками радиатора) и обороты вентилятора, который дует в тот район платы.
Светодиоды: зеленый - работа, Дежурный режим/Включение корпусных вентиляторов, Желтый - перегрев, красный - отказ отслеживаемого вентилятора (эта часть работает неустойчиво, надо думать дальше...)
Примечание: те, кто скажет "Зачем корячиться, все современные платы сами все регулируют!" - наверняка не имели дела с большим количеством китайских плат. Они либо не отображают ничего, либо не регулируют, либо и то и другое сразу. А работать надо...

Может, кому и пригодится.
Управление вентиляторами_LCD_new.flp
IMG_20250610_091613.jpg
IMG_20250610_091637.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Проекты различных устройств на Arduino»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя