Печать

Блок управления вентиляторами компьютера на PIC16F876

Опубликовано . Опубликовано в Устройства на PIC

Рейтинг:   / 2
ПлохоОтлично 

Устройство предназначено для автоматического плавного регулирования частоты вращения вентиляторов в персональном компьютере. Оно контролирует температуру в нескольких (до пяти) точках системного блока (процессор, блок питания, видеокарта и т. п.) и выводит полученные значения температуры на двухстрочный ЖКИ.

Пользователь может задать для каждой контролируемой точки температуру, ниже которой соответствующий вентилятор будет выключен, а также температуру, выше которой обороты вентилятора должны быть максимальными, и температуру, при превышении которой будет подан звуковой сигнал.

Прибор собран на микроконтроллере (МК) PIC16F876. Датчики температуры — цифровые DS18B20, измеряющие температуру с погрешностью 0,1 °С. МК формирует сигналы управления вентиляторами, используя широтную модуляцию импульсов. В узлах управления вентиляторами использованы мощные р-канальные полевые транзисторы IRF9Z34N. Для надежного открывания этих транзисторов и исключения повреждения выходных цепей МК предусмотрены промежуточные усилители на n-канальных полевых транзисторах 2N7000.

Блок управления вентиляторами компьютера - схема

На рисунке изображена схема контроллера. Датчики температуры подключают к разъемам Х1—Х5, причем нумерация контактов этих разъемов соответствует номерам выводов датчиков DS18B20. К разъему Х6 подключают одну из имеющихся в компьютере кабельных розеток для питания дисководов, а к разъемам Х7—Х11 — вентиляторы.

Узел на микросхеме DD1 и разъем Х12 необходимы лишь для внутрисхемного программирования МК с помощью программатора PIC BASIC PRO. Если такой необходимости нет, эту микросхему, разъем и относящиеся к ним элементы можно не устанавливать. В этом случае для МК DD2 должна быть предусмотрена панель, микросхему в которую устанавливают уже запрограммированной.

Все устройство собрано на односторонней печатной плате. Размеры платы можно подогнать для установки блока в свободный отсек корпуса компьютера, предназначенный для привода CD. Чтобы предотвратить замыкания, места соприкосновения платы (со стороны печатных проводников) с направляющими отсека необходимо защитить изоляционными прокладками. Отсек закрывают передней панелью, на которой установлены индикатор HG1 и три кнопки, дублирующие кнопки SB1—SB3 на плате и подключенные параллельно им.

ЖКИ с подсветкой DV-16230S1FBLY/R можно заменить таким же без подсветки (DV-16230NRB/R) или любым другим, имеющим две строки по 16 знакомест и встроенный контроллер, совместимый с HD44780. Обратите внимание, у многих подобных ЖКИ номера выводов общего провода (Vss) и питания (Vdd) не соответствуют указанным на схеме.

Смонтированную плату необходимо проверить на правильность установки деталей, отсутствие обрывов печатных проводников и замыканий между ними. Исправность подключенного ЖКИ проверяют, подав питание на блок управления при отсутствующем МК DD2. После установки подстроенным резистором R11 оптимальной контрастности должны быть видны все элементы верхней строки знакомест.

Работу узлов управления вентиляторами также проверяют при отсутствующем МК. Подав на затвор транзистора VT2 напряжение +5 В, нужно убедиться, что вентилятор, подключенный к разъему Х7, вращается с максимальной частотой, а напряжение на нем — 12 В. При соединении этого затвора с общим проводом вентилятор должен остановиться, а напряжение на нем упасть до нуля. Подобным образом проверяют все узлы управления. Закончив проверку, выключают питание и вставляют запрограммированный МК в панель. После подачи питания запускается тактовый генератор МК. В этом можно убедиться, проверив осциллографом наличие синусоидального сигнала частотой 20 МГц на его выводе 10.

Начинает исполняться управляющая программа. Через секунду после включения происходит инициализация ЖКИ HG1, на выходах RBO—RB4 МК устанавливается высокий уровень, в результате чего на подключенные к разъемам Х7—Х11 вентиляторы подается полное напряжение питания (12 В), обеспечивающее их надежный запуск. Затем на индикатор выводится название устройства, одновременно МК подает датчикам команду начать измерение температуры. Через некоторое время, когда от всех датчиков будут получены измеренные значения температуры, программа вычислит параметры импульсных последовательностей, необходимых для работы каждого вентилятора в нужном режиме, и сформирует эти последовательности на соответствующих выходах МК. Далее циклы измерения и вычисления повторяются периодически.

Убедившись в работоспособности блока, подстроечным резистором R11 окончательно регулируют контрастность индикатора.  В первой строке постоянно отображается температура, измеренная датчиком, подключенным к разъему Х1 (как правило, он измеряет температуру процессора). Если этот датчик не подключен или неисправен, значение температуры будет заменено словом Failure (отказ).

Во второй строке поочередно выводятся значения температуры, измеренные остальными датчиками, причем отсутствующие или неисправные пропускаются. Напряжение на выходных разъемах каналов регулирования с отсутствующими датчиками поддерживается максимальным (12 В), что позволяет подключать к ним вентиляторы, не требующие управления.

По умолчанию для каждого из каналов регулирования заданы следующие параметры: max temp (температура, при которой обороты вентилятора достигают максимума) - 80 °С; min temp (температура, ниже которой вентилятор выключен) - 20 °С; alarm temp (температура, при достижении которой подается сигнал тревоги) - 100 °С.

Значения параметров можно изменить, войдя в меню настройки. Для этого необходимо нажать и удерживать кнопку SB1. На индикатор будет выведено изображение, подобное показанному на рис. 5. Кнопками SB2 и SB3 увеличивают или уменьшают отображаемое значение. Переход к следующему параметру происходит при еще одном нажатии на кнопку SB1. После просмотра и корректировки всех параметров введенные значения сохраняются в энергонезависимой памяти МК. До выхода из режима корректировки считывание показаний датчиков не производится, а управляющие импульсы формируются согласно значениям температуры, полученным до входа в меню.

Допускаются только положительные значения параметров, причем max temp может достигать 255 °С, что обеспечивает наиболее плавную регулировку частоты вращения вентиляторов. Од нако при слишком большом значении этого параметра вентилятор может, остановившись, не запуститься вновь. Оптимальный режим работы должен быть подобран экспериментально.

Автор: Яковлев А.

В архиве находятся макет печатной платы в формате .lay, и прошивка для микроконтроллера.

Файлы:
Дата 21.03.2010 Размер файла 48.43 KB Закачек 1126

Комментарии  

0 #1 Gabi 02.10.2014 11:39
I am interest to build your project but I need too the ".exe" for RS232 PC communication.
If you are so kind to send it to me via e-mail, I'll apreciate your efforts.

Regards ,
Gabi
Сообщить модератору
0 #2 Sergey F 02.10.2014 14:50
Цитирую Gabi:
I am interest to build your project but I need too the ".exe" for RS232 PC communication.
If you are so kind to send it to me via e-mail, I'll apreciate your efforts.

Regards ,
Gabi

Hello Gabi.
The ".exe" for RS232 PC is designed only for in-circuit programming PIC16F876 using MicroCode Studio Plus.
Better be programmed by an external programmer, for example PonyProg.
Сообщить модератору
0 #3 Sergroza 07.07.2016 11:59
А возможно ли осуществить управление одного вентилятора по трем термодатчикам?
Сообщить модератору
0 #4 AntonChip 08.07.2016 13:57
Цитирую Sergroza:
А возможно ли осуществить управление одного вентилятора по трем термодатчикам?

Я думаю такое возможно, к трем выходам через диодную развязку подключить один вентилятор
Сообщить модератору

Рекомендуем посмотреть