РадиоКот >Лаборатория >Цифровые устройства >
Четырёхканальный контроллер вентиляторов на микроконтроллере с термоконтроллем.
В течении долгого времени меня занимал вопрос создания такого устройства как контроллер вентиляторов или по другому реобас. Мои первые шаги в этом направлении относились к аналоговым контроллёрам но по ряду причин например таких как: отсутствие индикации скорости вращения вентилятора, большая громоздкость схемы для измерения температуры, низкая информативность и т.д. - пришлось закрыть эту тему и обратить своё внимание к цифровому прибору.
И так в данной статье речь пойдет об изготовлении такого необходимого для многих любителей разгона и моддинга компьютера, прибора как цифровой контроллер. Он выгодно отличается от своих аналоговых собратьев предложенных в Интернете тем что у него более удобное управление, индикация выполненная на ЖК-индикаторе т.е. он более информативен по сравнению с аналоговыми индикаторами, так же он имеет большие возможности по контролю состояния температуры внутри системного блока. Единственным его существенным недостатком по сравнению с теми же аналоговыми приборами является цена которая в не сколько раз выше чем у них, но думаю, такой недостаток не остановит настоящих техноманьяков ведь в конце они получат более функциональное по сравнению с ними устройство.
Итак приступаем к его реализации.
Первоначально разработки велись на ассемблере, и планировалось следующие возможности:
- 3 предустановленных режима работы и возможность их редактирования;
- 2 канала измерения температуры с возможностью выбрать измеряемого устройства;
- установка предельной температуры после превышения, которой все подключенные к реобасу вентиляторы переходят в режим максимальных оборотов;
- 4 канала регулирования скорости вращения вентиляторов и возможность вывода количества оборотов;
- силовой канал - предназначенный для управления включения - выключения различной нагрузки;
- звуковой сигнализатор, предназначенный для оповещения при повышении температуры выше заданной границы;
- измерения скорости вращения крыльчаток вентиляторов происходит циклически, через 2 секунды выбирается очередной канал, измеряется скорость, результаты измерения выводятся на экран в виде абсолютного значения (в оборотах в минуту) и в виде процента от максимальной скорости;
- канал можно выключить, доведя уровень выходного напряжения до 0, при этом он не будет опрашиваться, практика показывает для выключения, хватает и 20% от номинального напряжения;
- после включения компьютера происходит раскрутка вентиляторов до максимальных оборотов в течение двадцати пяти секунд секунд, одновременно происходит замер максимальной скорости вращения крыльчаток вентиляторов. Затем происходит установка сохраненных значений;
- вывод информации производиться на двух строчный шестнадцати символьный дисплей.
Но из-за сложности реализации некоторых моментов и желании сэкономить время пришлось перейти на язык более высокого уровня, память у микроконтроллера неожиданно закончилась, и поэтому пришлось отказаться от возможности редактирования предустановленных режимов работы и возможности выбора измеряемого объекта (теперь термодатчики индицируются просто ДАТЧИК 1 и ДАТЧИК 2). В остальном все осталось без изменений.
Принципиальная схема контроллера вентиляторов приведена на рисунке 1. Я постарался сделать схему максимально простой и думаю, что это мне в какой-то мере удалось сделать.
Пояснение по схеме.
Ниже я привожу некоторые пояснении по некоторым узлам контроллера.
Сенсорные контакты представляют из себя винты к которым припаяны конденсаторы С1, С2, С3, С4. Они предназначены для защиты микроконтроллера от пробоя статическим электричеством. В случаи если вместо сенсорных контактов будут использоваться кнопки эти конденсаторы, следует исключить. Также следует поменять номиналы резисторов R1:R4 и конденсаторов C4:C8 на указанные в скобках в перечне элементов.
Перемычка J1 предназначена для выключения зуммера BF1, так же его можно выключить в меню контроллера вентиляторов.
Информация о работе каналов регулирования и температуре выводится на двухстрочный ЖК-индикатор HL1, она обновляется приблизительно каждые две секунды. Информация в индикатор передается по четырехбитной шине.
Опрос термодатчиков происходит каждые четырнадцать секунд.
Микроконтроллер DD1 формирует 4 ШИМ сигнала для управления составными транзисторами VT 1-VT2, VT 3-VT4, VT 5-VT6, VT 7-VT8, VT 9-VT10.
Конденсаторы С16..С19 выполняют функцию фильтра для подавления импульсных помех идущих от тахосигнала вентилятора. Замеры скорости вращения крыльчаток вентилятора происходят каждые две секунды.
R12 регулирует контрастность ЖК-индикатора HL1, R13 регулирует его яркость.
Транзисторы VT1, VT3: VT6 выполняют функцию согласования уровней между микроконтроллером и MOSFET ключами.
Стабилизатор 7805 подключен к шине +12В потому что пре подключении при включении в шину +5В он выдает напряжение около +4,4В, что является недостаточным для питания ЖК индикатора и микроконтроллера.
Перечень элементов.
Здесь приводится перечень всех необходимых элементов для реобаса.
С1, С2, С3, С4 - конденсаторы 22 нФ(в случаи применения кнопок исключить), керамические, на напряжение не менее 16 В;
С5, С6, С7, С8 - конденсаторы 200 пФ (в случаи применения кнопок заменить на 22 нФ), керамические, на напряжение не менее 16 В;
С9, С10 - конденсаторы 27 пФ, керамические, на напряжение не менее 16 В;
С11, С12, С15, С28 - конденсаторы 0,1 мкФ, керамические, на напряжение не менее 25 В;
С13 - конденсатор 2000мкФ, электролитический, на напряжение не менее 6,3 В;
С14 - конденсатор 2000мкФ, электролитический, на напряжение не менее 25 В;
С16, С17, С18, С19, С20, С25, С26, С27, С28 - конденсаторы 22 нФ, керамические, на напряжение не менее 16 В;
С21, С22, С23, С24 конденсаторы 470мкФ, электролитический, на напряжение не менее 16 В;
DD3 - микроконтроллер PIC16F873a;
HL1 - GDM1602K, двухстрочный знакосинтезирующий ЖК-индикатор с русской кодовой таблицей, возможна замена на другой индикатор;
J1 - перемычка (джампер), для отключения звука;
ZQ1 - пьезокерамический резонатор 10 МГц;
BF1 - пьезозвонок ЗП-18, можно поставить любой другой;
R1, R2, R3, R4- резисторы 4.3 мОм (в случаи применения кнопок заменить на 4,7 кОм), 0,125 Вт;
R6, R7, R8, R9, R27, R28, R29, R30 - резисторы 4.7 кОм, 0,125 Вт;
R5, R10, R15, R16, R17, R18 - резисторы 10 кОм, 0,125 Вт;
R11, R19, R21, R23, R25 - резисторы 360 Ом, 0,125 Вт;
R12, R20, R22, R24, R26 - резисторы 2 кОм, 0,125 Вт;
R13- подстроечный резистор 15 кОм;
R14 - резистор 10 Ом, 0,125 Вт;
DA2 - стабилизатор 78L05, на 5В;
DD1, DD2 - термодатчики DS18S20 возможна замена на DS1820;
VT1, VT3, VT4, VT5, VT6 - транзистор КТ315 с любым буквенным индексом кроме А;
VT2, VT7, VT8, VT9, VT10 - транзистор IRF9610;
XP1, XP2, XP3, XP4, XP5, XP6, XP7 - разъемы WF3;
XS1 - разъем "MOLEX".
Внимание микроконтроллер не паяется, а устанавливается в 28 выводную DIP панельку.
Номиналы резисторов и конденсаторов некритичны и могут отличаться от указанных на схеме на 10-15%, за исключением С9 и С10.
Кроме перечисленных деталей нам еще понадобиться:
- собственно корпус для контроллера о нем ниже;
- для варианта с сенсорным управлением нужно 4 латунные стойки для крепления материнских плат, 4 винта под них эти детали обычно продаются в магазинах торгующих компьютерными запчастями;
- для варианта с кнопочным управлением нужно 4 любые кнопки, которые вам понравятся работающие на замыкание.
Конструкция
Корпус для реобаса я взял от переходника 5,25" - 3.25", в нем пришлось немного расширить отверстие под индикатор. Также были просверлены по его краям отверстия для сенсорных контактов. Его можно заменить любым другим подходящих размеров, например, корпус из под старого сидюка.
Переднею панель корпуса я покрасил в черный цвет так как планирую в дальнейшем также перекрасить корпус, а экран закрыл вырезанным по размеру куском прозрачного оргстекла для защиты экрана от царапин.
Габаритные размеры платы 128x98 мм. На ниже приведенных рисунках показано расположение деталей, зеленым цветом показаны перемычки. В качестве платы понадобиться односторонний фольгированный стеклотекстолит толщиной 1,5...2 мм.
В роли сенсорных контактов мной были использованы латунные стойки (они легко паяются) которые используются для крепления материнских плат внутри корпуса. Перед тем как их вернуть в корпус реобаса их концы рекомендую слегка облудить, только это делать надо осторожно, чтобы не залить припоем резьбу. Так же стойки исполняют роль держателей оргстекла.
Программирование микроконтроллера.
Категорически нельзя программировать микроконтроллер, установленный в плату контроллёра и питающийся от этого же компьютера - можно все пожечь!
Программирование микроконтроллера я осуществлял с помощью программатора Extra-PIC и программы icprog. (Для DIP 28: Vpp - 1; GND - 8,19; Vcc - 20; PGM - 24, 26; Clock - 27; Data - 28).
В программе icprog необходимо сделать следующие настройки:
Выберите -> -> вкладку -> установите язык и нажмите , согласитесь с утверждением . Оболочка программатора перезапустится;
<Настройки> -> <Программатор> выбрать программатор JIM Programmer, <Интерфейс> - прямой доступ к портам, <Порт> - выбрать порт, к которому подключен программатор. Для "быстрых" компьютеров, возможно, потребуется увеличить параметр "Задержка Ввода/Вывода". Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы;
<Настройки> -> <Опции> -> вкладка - поставить галочку напротив пункта Вклучить MCLR как Vcc и <Включить запись блоками>, вкладка <Общие> - отметить пункт Вкл. NT/2000/XP драйвер. Если драйвер до этого не был установлен в системе, в появившемся окне нажмите . Драйвер установится, и оболочка программатора перезапустится;
<Настройки> -> <Микросхемы> выбираем PIC16F873a.
Поскольку полевые транзисторы баяться статического электричества рекомендую перед пайкой их выводы закоротить друг на друга тонкой проволокой, которую необходимо будет снять после пайки во избежание короткого замыкания и как следствия выхода из строя устройства.
На транзистор VT2 необходимо поставить радиатор, поскольку он работает не в импульсном режиме и во время работы сильно греться.
После пайки деталей не забудьте проверить плату на наличие паразитных перемычек, иначе опять-таки конец реобаса может быть печален.
Термодатчики припаиваются согласно цоколевки приведенной на схеме, к трех проводному кабелю его длина не должна превышать 2 м. На выводы термодатчиков необходимо надеть термоусадки во избежание замыкания или поломки их выводов. Датчики можно крепить в компьютере с помощью термо проводящего клея (однако в этом случаи будет крайне затруднена его дальнейшая замена), двусторонний скотч, просто прислонить, термоклей и т.д.
ЖК-индикатор предварительно соединяется с платой посредством проводов или шлейфа, а затем крепиться к корпусу реобаса термоклеем. Перед пайкой дисплея узнайте его нумерацию выводов (у разных типов она разная) у моего она с права на лево, если смотреть с тыльной стороны.
После пайки тщательно промойте плату от остатков флюса. Для отмывки лучше всего подходит бензин, но не тот, которым заправляют машины, а типа <Калоша>. После этого желательно закрепить кварцевый резонатор термоклеем. Саму же плату в корпусе я крепил всё тем же термоклеем.
Последним нашим шагом в дели пайки будет припаивание конденсаторов С1, С2, С3, С4 к торцам стоек. Для этого один вывод припаиваем к стойке, а другой к проводу идущему от соответствующего вывода микроконтроллера. Помните паять надо быстро во избежание перегрева стойки и как следствие её ненадежного крепления.
Те, кто решит делать с кнопками должны припаять один вывод кнопки к <земле>, а другой к проводу идущему от соответствующего вывода микроконтроллера.
Настройка.
Единственное, что может потребовать регулировки, это настройка контрастности изображения на индикаторе. Регулировкой R13 добейтесь подходящего качества изображения, на индикаторе.
Больше никакой регулировки реобас не требует.
Управление
Контакт E1 (кнопка S1) предназначен для входа в меню и выбора его пунктов. Контакт Е4 (S4) предназначен для выхода из меню. Контакты Е2 (кнопка S2) и E3(кнопка S3) служат для выбора различных установок меню (Е2 в сторону увеличения, E3 в сторону уменьшения). Если на некоторое время зажать кнопку, то начинается авто отсчет.
Значения величин вращения вентиляторов и температуры выводиться циклически по два значения за проход.
Описание меню реобаса и работа с ним.
Основное меню - в нем предлагаются различные настройки реобаса, оно подразделяется на следующие пункты:
1) Канал номер 1 - настройка скорости вращения крыльчатки первого вентилятора;
2) Канал номер 2 - настройка скорости вращения крыльчатки второго вентилятора;
3) Канал номер 3 - настройка скорости вращения крыльчатки третьего вентилятора;
4) Канал номер 4 - настройка скорости вращения крыльчатки четвертого вентилятора;
5) Канал номер 5 - включение - выключение силового канала;
6) Предуст.Режимы - нечто иное как подменю выбора предустановленных режимы работы девайса;
7) Вкл.Контр.Темпер - подменю работы с термодатчиками, оно подразделяется на два подменю;
a) Разреш.Контроля - разрешение - запрещение контроля температуры;
b) Уст.Крнт.Темпер - установка критической температуры при превышении которого должен сработать зуммер и вентиляторы начнут работать на максимальных оборотах. При установки критической температуры сто градусов происходит отключение зуммера.
Демонстрация:
Загрузка реобаса
Внешний вид при работе для вентиляторов:
Внешний вид при работе для термодатчиков:
Основное меню:
Дополнительное меню для третьего канала управлени вентилятором:
Внешний вид получившегося контроллера:
В заключении хотелось привести несколько практических советов по работе с контроллером:
1) Не рекомендуется установить слишком маленькое напряжение на вентиляторе, таходачик может выдавать неправильный сигнал, в результате показания скорости будут далеки от действительности. Отсюда следует, что нежелательно устанавливать скорость вращения ниже 30% от максимальной, очень многие вентиляторы в этом случае выдают нестабильный тахосигнал;
2) Желательно проверить при установки вентилятора при каком минимальном значении напряжения установленного в контроллере останавливается крыльчатка вентилятора для многих она составляет 30% от максимального;
3) На силовой выход не желательно подключать нагрузку более 1,5 А, поскольку это ведет к перегреву транзистора.
4) Для коммутации силового выхода с нагрузкой удобно использовать переходник сделанный на основе разъемов WF3 и MOLEX.
Файлы:
Прошивка МК.
Печатная плата в формате Sprint Layout.
Вопросы, как обычно, складываем тут.
Как вам эта статья?
|
Заработало ли это устройство у вас?
|
|
|