Реобас.

Автор - Andergrin.
Опубликовано 04.03.2009.
Целью создания микроконтроллерного реобаса было уменьшить шумовой фон от системного блока, причем регуляция частоты оборотов вентиляторов должна происходить без вмешательства пользователя, то есть быть автоматической. Другой целью было создать удобное управление настройками, а также отслеживание параметров работы реобаса. Я решил достаточным регулировать обороты только двух вентиляторов, так как на большинстве современных материнских плат реализована функция Cool-n-Quiet для одного или больше вентиляторов.
Микроконтроллер ATMega8 тактируется встроенным RC генератором частотой 8 МГц, соответственно фьюз-биты надо выставить таким образом:
Индикация режимов работы реализована на жидкокристаллическом дисплее, совместимом с контролером HD44780 (в моем случае это ЖКИ WH1602C фирмы Winstar). Измерение температуры выполняется двумя датчиками DS18B20, десятичные значения отбрасываются.
После подачи питания на реобас, в течение 3-х секунд на дисплее высвечивается информация о версии прошивки и происходит раскручивание вентиляторов с максимальной скоростью.
Начальные параметры:
1. Частота ШИМ обоих вентиляторов - 100%;
2. Пороговая температура срабатывания - 50 °С;
3. Режим работы - ручной;
4. Коэффициент дельта - 4;
5. Температура включения сигнализации - 0 °С (выключено).
Реобас может работать в двух режимах: ручном и автоматическом. В ручном режиме частота оборотов остается неизменной, выставленной в настройках. В автоматическом режиме при достижении предельной температуры изменение оборотов вентиляторов происходит по следующему алгоритму: от текущей температуры отнимается предельная температура, результат умножается на коэффициент и добавляется к фиксированному значению ШИМ, сохраненному в памяти контроллера.
Кратко про меню настроек:
1. SPEED FNx - частота ШИМ от 0 (выключено) до 100;
2. TEMP tx - температура срабатывания автоматического контроля частоты вращения (если включен);
3. MODE Fx - режим регулировки частоты ШИМ, ручной или автоматический;
4. DELTA - коэффициент приращивания оборотов в автоматическом режиме, от 1 до 10;
5. ALARM tx - температура от датчиков, при которой срабатывает сигнализация;
Меню настроек вызывается кнопкой SET. Для удобства навигации в меню после заглавия SETTINGS выводится символ >, а в режиме изменения параметров настроек символ > выводится после соответствующего пункта меню. Навигация выполняется циклически кнопкой SET, для изменения параметров настроек нужно нажать кнопку PLUS или MINUS, сохранение изменений в памяти микроконтроллера происходит после нажатия кнопки SET. Чтобы отменить внесенные изменения, а также, чтобы выйти из меню настроек, нужно нажать кнопку EXIT.
В рабочем режиме кнопками PLUS или MINUS можно оперативно изменить частоту вращения соответственно первого или второго куллеров. Сохранение изменений происходит после нажатия кнопки SET. Чтобы отменить внесенные изменения и выйти из меню изменения настроек, нужно нажать кнопку EXIT. Буквы "m" или "a" после заглавия Fx частоты ШИМ обозначают ручной или автоматический режим.
Также я решил ввести сигнализацию превышения допустимой температуры. Для этого использовал плату из китайского электронно-механического будильника, хотя можно взять готов бузер с генератором на 1,5 В.
Прошивка, исходники на С для компилятора WinAVR и чертеж печатной платы в Sprint-layout 5.0 прилагаются. Параметры настроек а также текстовые шаблоны сохраняются в памяти EEPROM, поэтому надо не забыть в PonyProg открыть (Open Data (EEPROM) File) файл reo.eep и осуществить также прошивку ПЗУ. Работа реобаса проверена мной на готовой плате, багов пока замечено не было. Жду ваших замечаний и предложений.
Файлы:
Печатная плата в формате SL 5.0.
Прошивка МК с исходниками и еще куча всякого хлама.
Вопросы, как всегда в Форум.






Рекомендуемый контент




Copyright © 2010-2019 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.