- Мой профиль
- Гости
- Опубликовать
09:56 Интеллектуальный многоканальный контроллер вентиляторов охлаждения для ПК | |
Схемотехническое решение В статье мы рассмотрим конструкцию на микроконтроллере, которая позволит в автоматическом режиме регулировать скорость вращения вентиляторов охлаждения персонального компьютера. Управление осуществляется на основании данных о температуре, которая также измеряется устройством при помощи датчиков внутри корпуса компьютера. При управлении учитываются пользовательские настройки. ![]() Автоматическое управление скоростью вентиляторов охлаждения позволяет значительно снизить создаваемый ими шум. Любой человек, имеющий «шумный» компьютер, а это особенно касается медиа-центров, например в гостиной комнате, сразу заметит преимущества от использования данного устройства. При низкой температуре вентиляторы вращаются очень медленно, скорость вращения повышается по мере необходимости. Устройство достаточно функционально, но при этом несложно в использовании и конфигурировании. Настройка основных параметров осуществляется в программе на ПК с графическим пользовательским интерфейсом. Кроме того, после настройки контроллер может функционировать как автономное устройство без связи с ПК, что позволит применить его не только для управления вентиляторами охлаждения ПК. Все настройки после конфи-гурирования хранятся в микроконтроллере. Отличительные особенности:Конфигурируемое управление скоростью вращения вентиляторов на основе данных о температуре;Поддержка управления максимально восемью вентиляторами, измерение температуры в четырех отдельных каналах;Возможность управления вентиляторами различного типа.USB интерфейс и программа для Windows для конфигурирования и мониторинга;Звуковое оповещение при отказе вентилятора или датчика;Возможность автономной работы контроллера после конфигурирования; все настройки хранит микроконтроллер PIC.Принципиальная схема и конструкция контроллера Основой схемы является микросхема Microchip PIC18F2550 – высокопроизводительный Flash-микроконтроллер с USB интерфейсом. Микроконтроллер выполняет задачу измерения температуры по 4 каналам и осуществляет управление преобразователями напряжения. Регулировка скорости вращения вентиляторов осуществляется посредством изменения выходного напряжения преобразователей. Питание на схему контроллера подается от блока питания ПК, используются напряжения +5 В и +12 В. В контроллере используются 4 схемы понижающих преобразователей напряжения (Buck Converter). Микро-контроллер генерирует последовательность импульсов на каждом выходе (порты RA4, RA5, RC7, RC8), отдельно для каждого преобразователя, и, варьируя шириной импульсов, может изменять выходное напряжение. В нашем случае частота импульсов равна 2.5 кГц, а ширина импульсов изменяется от 0 до 170 мкс, что дает изменение выходного напряжения от 0 В до 12 В. Четыре понижающих преобразователя построены на базе микросхемы 8-канального линейного драйвера IC2 UDN2981A и 4-х дросселей, имеющих индуктивность 100 мкГн. Для организации одного канала преобразователя используются два канала драйвера со своими диодами (диод является обязательным условием при построении данного понижающего преобразователя). К выходам преобразователей напряжения, как видно на схеме, подключено по паре разъемов различных типов. Таким образом, возможно подключение до 8 вентиляторов. Каждый преобразователь напряжения в схеме управляется независимо, с различными характеристиками управления, и рассчитан на нагрузку до 250 мА. Вентиляторы охлаждения, применяемые в системных блоках компьютеров, потребляют менее 120 мА, что позволяет подключать на один выходной канал два вентилятора. Однако перед подключением вентиляторов к контроллеру необходимо убедится в выполнении данного условия. Для измерения температуры применяются аналоговые датчики LM335, обозначенные на схеме Датчик A – Датчик D, подключаемые к портам микроконтроллера RA0 – RA3, соответственно. Прецизионный датчик температуры LM335 – это недорогой термочувствительный элемент с диапазоном измерений от –40°C до +100°C и точностью 1 °C. Фактически, LM335 – это стабилитрон с нормированным Температурным Коэффициентом Напряжения (ТКU =10 мВ/K). Т.е. изменение температуры датчика на 1 градус ведет к изменению напряжения на 10 мВ. Остальные компоненты в окружении микроконтроллера стандартны. Кварцевый резонатор 20 МГц исполь-зуется для тактирования микроконтроллера, звуковой излучатель – для оповещения о неполадках датчиков или вентиляторов. Разъем USB подключен непосредственно к микроконтроллеру, т.к. он имеет встроенный USB трансивер. Напряжение +5 В от USB интерфейса, когда кабель USB подключен к контроллеру, поступает на вывод 1 микроконтроллера и используется для старта процесса коммуникации по интерфейсу USB. Контроллер собран на односторонней печатной плате с размерами 100 × 80 мм с учетом установки в 3½” отсек для дисковода. Пользователи могут самостоятельно разработать печатную плату, в соответствии со своими нуждами и возможностями. Расположение элементов на печатной плате контроллера вентиляторов охлаждения Контроллер рассчитан на управление вентиляторами охлаждения системного блока, однако его можно при-менить для управления вентиляторами охлаждения процессора, видеокарты. В таком случае необходимо использовать датчики температуры, закрепленные на соответствующих радиаторах охлаждения (обязательно с использованием термопасты). Вариант расположения контроллера внутри системного блока Контроллер можно использовать также для управления вентилятором охлаждения блока питания, но следует помнить, что это опасно, так как многие элементы в блоке питания находятся под напряжением сети. Схемотехническое решение Рассмотрим теперь более детально основные электронные узлы, но, для начала, отметим некоторые моменты в работе понижающих преобразователей напряжения в нашей схеме. Это самый простой вариант преобразователя, выходное напряжение которого содержит импульсные помехи и шумы и имеет некоторую нелинейность относительно сигнала управления. Но в данном случае (управление электродвигателями вентиляторов) высокая точность не нужна, главное, что мы можем управлять скоростью вращения, варьируя уровнем питающего напряжения. Другой способ, часто применяемый в простых схемах управления – это импульсное управление напряжением питания вентилятора (выключение и включение питания с большой частотой), однако этому способу присущ один недостаток – невозможность измерения скорости вращения с помощью встроенного тахометра. Стоит заметить, что установленные дроссели, в зависимости от их качества, в процессе работы контроллера могут издавать звук высокой тональности. Это связано с вибрацией обмоток на рабочей частоте преобразователя 2.5 кГц. Этот звук слишком тихий, и при установке контроллера в корпус системного блока слышен не будет. Однако, с целью устранения этой проблемы, можно заменить их на дроссели с тороидальным сердечником. Они немного больше по размерам, но установка их на печатную плату затруднений не вызовет. Разъем питания на плате контроллера (типа Molex 8981), к которому подключается один из отводов блока питания системного блока, необходимо хорошо закрепить, что бы не повредить печатные проводники при подключении/отключении платы в системном блоке. Поддерживаемые типы вентиляторов Контроллер может применяться для управления вентиляторами 3-х типов, в зависимости от их интерфейса подключения:Двухпроводные вентиляторы. В общем случае, они имеют 3-контактный разъем: вывод 1 – GND (общий), вывод 2 – +12 В, вывод 3 – свободный;Трехпроводные вентиляторы. Имеют такой же, 3-контактный разъем, но третий вывод используется, это выход встроенного в вентилятор тахометра, который может генерировать 1, 2 или 4 импульса на один оборот. Контроллер вентиляторов поддерживает работу со всеми видами тахометров;Четырехпроводные вентиляторы – это вентиляторы, разработанные по спецификации корпорации Intel. Они имеют 4-контактный разъем подключения: первые три вывода – как для вентиляторов с трехпроводным интерфейсом, четвертый вывод – для ШИМ управления скоростью вращения вентилятора. Следует обратить внимание, что разъем у таких вентиляторов специального типа, позволяющий подключать их как к 3-, так и к 4-контактным разъемам. ![]() Если вентилятор сконфигурирован как 4-выводный, т.е подключен к разъемам 1A, 1B, 2A, 2B (конфигурируется в программе), то микроконтроллер удерживает напряжение питания вентилятора постоянным на уровне 12 В и управляет скоростью вентилятора ШИМ сигналом. Этот ШИМ сигнал доступнее на выходах микроконтроллера 12 и 13 и, таким образом, возможно управление четырьмя такими вентиляторами. Конструкция разъемов позволяет подключать в них 2- и 3-выводные вентиляторы, которые будут работать в нормальном режиме, т.е. с управлением уровнем напряжения питания. Выводы тахометров вентиляторов подключены непосредственно к микроконтроллеру (порты микроконтроллера RB0-RB7), который измеряет скорость вращения, и на основе этих измерений осуществляет управление, а также сообщает скорость вращения по интерфейсу USB в программу на ПК. Заметьте, что выход тахометра – это выход с открытым коллектором, поэтому в портах микроконтроллера задействуются внутренние подтягивающие резисторы. Внешний вид платы контроллера с установленными компонентами Датчики температуры подключаются к плате контроллера с помощью 2-контактных разъемов. Схема распайки кабеля показана на рисунке ниже. Третий вывод датчика используется для введения температурной компенсации, и в нашем случае не используется. Программное обеспечение и настройка контроллера Программное обеспечение для ПК работает под управлением операционной системы Windows XP, Windows Vista и Windows 7 (32- и 64-битные версии). Это многофункциональная программа, которая позволит настраивать контроллер вентиляторов и отслеживать рабочие параметры: температуру в месте установки датчиков и скорость вращения вентиляторов (если вентиляторы снабжены тахометром). Следует отметить, что возможно использование контроллера температуры на платформах Linux и Mac. Контроллер температуры использует протокол CDC (Communication Device Class) на USB, команды управления – это простые ASCII последовательности, и для пользователей не составит труда написать программу или простые скрипты для коммуникации с контроллером вентиляторов. Описание коммуникационного протокола доступно в архиве с исходными кодами программного обеспечения в разделе загрузок. Программа для ПК написана в среде Microsoft Visual Basic Express 2008, программа для микроконтроллера в среде MPLAB с использованием Си компилятора С18. Кроме того, в пакет ПО для компьютера входит драйвер USB устройства. При установке программы на ПК потребуется соединение с Интернетом, т.к. в процессе установки будут закачиваться элементы Microsoft.NET с официального сайта. Микроконтроллер потребуется запрограммировать с помощью отдельного программатора. Для пользователей также доступны исходные коды программного обеспечения, поэтому можно экспериментировать и модернизировать ПО в соответствии с собственными нуждами. Программа для компьютера работает в двух режимах: режиме мониторинга и режиме настройки контроллера. В режиме мониторинга в окне программы отображаются текущие значения температуры в 4 точках (в градусах Цельсия и Фаренгейта) и скорость вращения вентиляторов. Если вентилятор не имеет встроенного тахометра, то отображается выходная мощность преобразователя напряжения в процентном выражении. В режиме настройки контроллера пользователь может выбрать:Какие датчики температуры подключены, и в каком формате будет отображаться значение температуры;Тип подключенных вентиляторов (2-, 3-, 4-проводный, или не подключен);Датчик для управления каждой парой вентиляторов. Это может быть датчик A, B, C или D. Также можно для управления вентиляторами установить разницу между датчиком D и A,B или C или же установить ручное управление (для тестирования или задания постоянной скорости вращения);Характеристику управления. Как видно на изображении выше, напряжение питания каждой пары вентиляторов может варьироваться от какого-то минимального значения до 100% в заданном диапазоне температуры соответствующего датчика. В меню Setup доступна опция «Program Settings…», где пользователь может настроить шкалу графических указателей программы, значение напряжения питания контроллера (+5 В) и выбрать режим сворачивания окна программы в системную область состояния (System tray). Установка значения напряжения питания связана с тем, что при измерении температуры с помощью датчиков LM335Z в качестве опорного напряжения микроконтроллер использует напряжение +5 В от блока питания компьютера. Поэтому любое изменение этого напряжения будет вносить погрешность в измерения температуры. Пользователь при помощи цифрового мультиметра может измерить напряжение питания (на разъеме блока питания компьютера) и указать это значение в настройках программы. Минимизация окна на панель задач позволяет сократить используемые ресурсы центрального процессора компьютера, сведения о температуре можно узнать, наведя курсор мыши на иконку программы. В архиве: 1.pdf - Спецификация Intel на вентиляторы с 4-проводным интерфейсом Firmware_1_0.hex - Прошивка микроконтроллера (hex-файл) PCB_Schematic_Parts_List.zip - Прнципиальная схема (jpg, Eagle), рисунки печатной платы (png, Eagle), список компонентов (pdf) 2.zip - Программа для ПК (драйвер и приложение) 3.zip - Исходные коды программы для микроконтроллера и программы для ПК, описание коммуникационного протокола | |
|
Всего комментариев: 0 | |