![]() |
![]() |
||||||||||||
Трехканальное устройство управления вентиляторами ПК
Автор: Александров Алексей Начну с того что прикупил я себе вот такой корпус, медиа центр GMC AVC-K1: Порадовался, но выяснился один недостаток, «интеллектуальная система управления вентилятором» на материнке при малейшей нагрузке на процессор вне зависимости от его температуры начинала раскручивать процессорный куллер. А куллер, который шел в комплекте с процом оказался эффективным, но очень шумным, так что даже мирно спящий на корпусе кот просыпался и в панике убегал. Можно было бы купить новый куллер потише, но было немного свободного времени и я решил сделать, что ни будь своими руками. В корпусе уже был установлен регулятор оборотов корпусными вентиляторами с управлением энкодером и ЖК-дисплеем, а у меня завалялся чудный OLED дисплей WEH001602DGPP5N00000. Значит задание такое: три канала управления вентиляторами, отображение температуры и управление энкодером и одной кнопкой встроенной в энкодер. Вот собственно и схема: Здесь вроде разъяснять нечего кроме вывода “ Amplifier ” . От него можно запитать, например УНЧ или как у меня управлять включением усилителя или не использовать вообще. Вначале задумывалось включать и выключать усилитель по нажатии на кнопку энкодера, но потом оказалось, что это и не нужно и кнопку отдал для других нужд. При подаче питания там устанавливается 12вольт, это можно отключить в настройках. Программа написана в CodeVisionAVR v2.04.4a, все примеры и библиотеки нашлись здесь, очень полезный сайт для начинающих. После включения вентиляторы раскручиваются на максимум для надежного запуска. Затем рассчитывается заполнение ШИМ, в процентах для каждого канала по формуле: (Tизм – Tmin)*100/(Tmax-Tmin) но не менее 5% для ЦПУ, 30% для ГПУ и 20% для корпусных вентиляторов. Тизм – измеренная температура Тmin и Тmax – устанавливаются в меню настроек для каждого канала На дисплей по очереди выводится температура CPU, GPU, CASE, напряжение по линиям 12 и 5 вольт. Короткое нажатие на кнопку ставит на паузу автоматический перебор показаний, в правом нижнем углу отображается символ “P”. Поворотом энкодера вправо или лево выбирается следующее или предыдущее показание температуры. Отображение ЦПУ и (или) ГПУ можно скрыть на управлении вентиляторами это не сказывается. При ошибке датчика или его отсутствии скорость вентилятора устанавливается на максимум. Если температура превышает установленное значение, звучит звуковой сигнал и в правом нижнем углу отображается символ “!”. Долгое удержание кнопки, вход в меню настроек. Настройки перебираются поворотом энкодера “Set Min T CPU” >> “Set Max T CPU” >> “Set Alarm CPU” >> “Set Screen CPU ” >> “Set Min T GPU” и т.д. Короткое нажатие кнопки переход на следующий уровень изменения настройки. Повторное нажатие переход на уровень вверх. Для сохранения изменений выбираем в меню “Save Settings”. Также настройки сохранятся при бездействии в течение 30сек. Датчики закрепляются на радиаторе как можно ближе к его основанию. Например на процессоре я разместил датчик на теплопроводной трубке выходящей из основания радиатора притянув его капроновой стяжкой и обернул тонким слоем поролона. На видеокарте вставил между ребрами радиатора и сверху прикрыл кусочком пенопласта, чтобы на датчик не попадал воздух от вентилятора. Корпусной датчик нужно располагать подальше от вентиляционных отверстий, через которые забирается наружный воздух. Если материнка не запускается без тахосигнала от вентилятора, то нужно из разъема вентилятора с помощью иглы извлечь провод датчика оборотов. Взять второй такой же разъем вставить туда провод и подключить к материнке. О деталях: собирал из того что было под рукой, транзисторыVT3, VT7, VT14, VT15 - IRF9530N можно заменить на любые подходящие по параметрам, остальные любые с током коллектора не менее 100мА. Пищалка со встроенным генератором на 5 вольт. Дисплей можно заменить на любой совместимый с контроллером HD44780 2х16 добавив цепи подсветки и управления контрастом. Микроконтроллер работает от внутреннего тактового генератора на 8 МГц. Фузы: High – D9, Low – E4. Вот здесь неплохой калькулятор.
В архиве печатная плата под мой корпус, модель для Proteus(не забудьте указать файл EEPROM с расширением .bin), исходник и прошивка.
Файлы: Все вопросы в Форум.
|
|
||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |