Блок управления вентиляторами компьютера на Atmega48
Четырехканальный реобас. Практическая реализация.
Давным-давно, 4 ноября 2004 на форуме modding.ru некто V!R предложил: "Давайте соберем умы и сделаем одно устройство Супер "Реобас". Тема жила, были периоды бурного обсуждения, затишья, иногда казалось, что тема уже мертва. Но, периодически, ее вновь оживляли новые посетители форума. Неизменным оставалось только одно: практический результат был равен нулю.
Меня тоже одно время занимала эта тема, поэтому я занимался ею..
Вернуться еще раз к этому устройству меня побудило то, что мне для одного проекта понадобилось перейти с микроконтроллеров Microchip, с которыми я уже давно и успешно работал, на микроконтроллеры Atmel. Лучший способ изучения устройства микроконтроллеров - начать делать какой-нибудь практический проект. Тут в очередной раз "ожила" тема реобаса, на нем то я и решил поизучать новый для меня микроконтроллер.
Первоначально планировалось:
выполнить реобас на новой элементной базе, упростив схему;
в основном сохранить набор функций и управление;
добавить 4 канала измерения температуры.
Практическая же разработка внесла коррективы: из-за того, что разработка firmware велась на языке высокого уровня, память микроконтроллера быстро закончилась, поэтому пришлось сначала отказаться от измерения температуры, а потом и от реализации четырех предустановленны настроек работы вентиляторов. Заодно упростилось управление - остались только три кнопки, и лучше стал интерфейс - двухстрочный ЖК индикатор гораздо информативнее 7-сегментного индикатора.
С одной стороны, я сильно разочарован результатом разработки firmware (для реобаса на PIC я писал на ассемблере, и реализация больших возможностей firmware заняла существенно - раза в три - меньше памяти).
C другой стороны, я понимаю, что это плата за простоту и скорость программирования, а на ассемблере, начав с нуля, за пару недель я бы ничего такого сделать не успел.
Итак, что получилось в результате:
4 канала регулирования;
регулировка выходного напряжения от 0 до практически 12 В ступеньками, 128 ступенек регулировки;
регулятор выполнен по схеме ШИМ, поэтому в нем ничего не греется (по крайней мере так, чтобы было нужно ставить радиаторы);
частота ШИМ 31250 Гц - ультразвуковой диапазон - поэтому работает бесшумно, никаких щелчков нет;
после включения реобаса (компьютера) в течение 10 секунд происходит раскрутка вентиляторов на максимальном напряжении (12 вольт), одновременно происходит замер максимальной скорости вращения крыльчаток вентиляторов;
после раскрутки напряжение в каналах устанавливается таким, каким оно было при последней регулировке и реобас переходит в рабочий режим;
измерения скорости вращения крыльчаток вентиляторов происходит циклически, через 2 секунды выбирается очередной канал, измеряется скорость, результаты измерения выводятся на экран в виде абсолютного значения (в оборотах в минуту) и в виде процента от максимальной скорости;
если крыльчатка стоит (нет тахосигнала), выводится сообщение об аварии на индикатор и подается звуковой сигнал (количество "писков" соответствует номеру канала, в котором произошла авария);
канал можно выключить, доведя уровень выходного напряжения до 0, при этом он не будет опрашиваться, а на экран выводится сообщение "выключен".
Принципиальная схема реобаса приведена на рисунке 1.
Рис.1 Принципиальная схема реобаса.
Как видно, схема стала существенно проще по сравнению с предыдущим вариантом. Не думаю, что еще одна переделка позволит сделать реобас на 2 резисторах :).
Некоторые пояснения к схеме:
микроконтроллер DD1 формирует 4 ШИМ сигнала для управления P-канальными MOSFET ключами DA1, DA2;
для тактирования микроконтроллера использован внутренний генератор 8 МГц, это позволило освободить пару выводов (для возможного в дальнейшем подключения датчиков температуры) и удешевить схему;
информация о работе каналов регулирования выводится на двухстрочный ЖК индикатор HL1, информация в индикатор передается по четырехбитной шине;
кнопки S1-S3 управляют работой реобаса, конденсаторы С2-С4, включенные параллельно кнопкам, предназначены для подавления дребезга, используются внутренние подтягивающие резисторы на выводах микроконтроллера, к которым подключены кнопки;
цепочка R9,C5 и внутренний подтягивающий резистор микроконтроллера выполняют функцию согласования уровней напряжения и, одновременно, функцию фильтра низкой частоты, подавляющего до определенной степени короткие импульсные помехи в тахосигнале вентилятора;
для облегчения поиска радиоэлементов, согласование уровней напряжения микроконтроллера и MOSFET ключей выполнено иначе, чем в предыдущей схеме: вместо микросхемы согласования уровней 74F07, использована другая схема питания (стабилизатор отрицательного напряжения DA3), в результате чего выводы Vcc микроконтроллера и Vdd индикатора подключены к напряжению +12 В, а выводы GND микроконтроллера и Vss индикатора подключены к напряжению +7 В (выходу стабилизатора DA3). Напряжения приведены по отношению к общему проводу (корпусу) питания компьютера.
Такое решение помимо плюсов (стабилизатор 79L05 найти существенно проще, чем 74F07), имеет и отрицательную сторону: печатную плату и особенно индикатор нужно крепить так, чтобы не было контакта никаких их токоведущих частей (проводников, площадок, рамки индикатора и т.п.) с корпусом компьютера!
Перечень элементов:
BF1 - пьезозвонок ЗП-18, можно поставить любой другой;
С1, С13, С14, С15, С16, С17, С18 - конденсаторы 0,1 мкФ (100 нФ), керамические, на напряжение не менее 16 В
С2, С3, С4 - конденсаторы 0,01 мкФ (10 нФ), керамические, на напряжение не менее 16 В;
С5, С6, С7, С8 - конденсаторы 1000 пФ (1 нФ), керамические, на напряжение не менее 16 В;
С1, С6, С7, С8 - конденсаторы 1000 пФ (1 нФ), керамические, на напряжение не менее 16 В;
С9, С10, С11, С12 - конденсаторы 200 мкФ (100 мкФ), электролитические, на напряжение не менее 16 В;
С19, С20 - конденсаторы 10 мкФ, электролитические, на напряжение не менее 16 В;
HL1 - PC1602LRS-KNH-B-Y4, двухстрочный знакосинтезирующий ЖК индикатор с русской кодовой таблицей, возможна замена на другой индикатор больших размеров;
J1 - перемычка (джампер), для отключения звука;
L1, L2, L3, L4 - катушки, намотаны на ферритовых кольцах К10*6*4 M2000HH, каждая катушка намотана парой параллельно соединенных проводов ПЭВ-2 0,18 мм, длина проводов 72 см (70 см намотка, по 1 см на вывод), можно взять более толстый провод аналогичного сечения;
XP5 - разъем "MOLEX" (я взял с неисправного винчестера).
Управление:
S1- "меньше", уменьшает напряжение на вентиляторе;
S2 - "фиксировать", фиксирует текущий канал, слева от надписи "Канал" появляется треугольник, повторное нажатие снимает фиксирование канала, они вновь будут переключаться через 2 секунды;
S3 -"больше", увеличивает напряжение на вентиляторе.
одновременное нажатие S1+S3 - сброс реобаса, вновь производится раскрутка крыльчаток и измерение максимальной скорости вращения.
Долгое нажатие на кнопку (дольше 1 секунды) включает автоповтор.
Теперь немного о конструкции: я этот вариант, как и предыдущий реобас, собираюсь разместить в отсеке 3,5", поэтому в качестве конструктива я взял старый дисковод 3,5", выбросил всю начинку, отпилил лишние железки и от лицевой пластмассовой панели оставил только рамку:
Делаем печатную плату, так, чтобы она входила в конструктив:
Монтируем элементы (DA1, DA2 - со стороны проводников!), дроссели L1-L4 крепим на плате термоклеем, припаиваем индикатор:
На плате, у разъема подключения питания, установлен плавкий предохранитель в цепи общего провода вентиляторов, его, конечно, можно заменить перемычкой, однако лучше его поставить, чтобы при случайном замыкании выводов 1,2 в разъемах XP1-XP4 не сжечь ключи DA1, DA2. Я поленился сразу его поставить, в результате пришлось заменить сгоревшую микросхему DA2.
Для крепления платы к конструктиву используем 4 винта М3, их нужно взять не слишком длинные - чтобы они не торчали снизу - и, в то же время, чтобы их длины хватило для установки пластмассовых стоечек, приподнимающих плату над конструктивом. Это позволит отцентрировать положение кнопок по вертикали.
Индикатор пока (на время первых экспериментов) закрепим термоклеем.
Программирование микроконтроллера:
Категорически нельзя программировать микроконтроллер, установленный в плату реобаса и питающийся от этого же компьютера - можно все пожечь!
Обязательно программируйте микроконтроллер либо в промышленном программаторе, либо, если он самодельный и предназначен для внутрисхемного программирования, подключите к нему панельку для установки микросхемы.
Регулировка:
Единственное, что может потребовать регулировки, это настройка контрастности изображения на индикаторе. Для регулировки замените цепочку резисторов R3, R4 на переменный (подстроечный) резистор 10 кОм, крайние выводы переменного резистора подключите к цепям +12 В и +7 В, а средний вывод (ползунок) к выводу 3 индикатора. Добейтесь подходящего изображения, на индикаторе. Отпаяйте резистор от платы. Замерьте сопротивления плеч переменного резистора (от среднего вывода до крайних выводой) и установите постоянные резисторы такого же или близкого номинала.
Больше никакой регулировки реобас не требует.
Приступаем к экспериментам.
Подключаем вентиляторы и питание, в канал 4 вентилятор не включаем:
Вид экрана при выводе различных сообщений:
После включения (или после одновременного нажатия кнопок S1, S2), во время раскрутки.
Индикация скорости в канале в оборотах в минуту и процентах от максимальной скорости.
В канал 4 вентилятор не был подключен, поэтому выводится сигнал об аварии.
Канал можно выключить, для этого нужно уменьшить напряжение до 0.
Для удобства регулировки, канал, в котором идет регулировка можно зафиксировать нажатием кнопки S2
Если установить слишком маленькое напряжение на вентиляторе, таходачик может выдавать неправильный сигнал, в результате показания скоротси будут далеки от действительности.
Практический совет: нежелательно устанавливать скорость вращения ниже 30% от максимальной, очень многие вентиляторы в этом случае выдают нестабильный тахосигнал.
Осталось придумать форму и подсветку кнопок, аккуратно сделать переднюю панель из заглушки.
СХЕМА УПРАВЛЯЮЩАЯ РАБОТОЙ ВЕНТИЛЯТОРА КОМПЬЮТЕРА http://512volt.ru включает вентилятор 12 вольт при нагреве http://512volt.ru/s7.htm Задержка включения кулера после включения прибора зависит от температуры. Подробное описание, настройка и проверка. Простое устройство не содержит микросхем. Датчик температуры -- доступный диод. Происходит снижение шума и увеличение срока службы кулера.
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба