Уменьшение шума от кулеров, с выводом температур на LCD (ATmega8, C)
Основные возможности:
- 4 датчика температуры.
- Управление 5 кулерами.
- Вывод на LCD температур трех первых датчиков или попеременно 1,2 3,4 через 2 секунды.
Принцип измерения температуры.
В мк хранится значение напряжения (U_const) для температуры (T_const) например 25 гр.. Мк сравнивает измеренное напряжение c напряжением для 25 гр. и вычисляет текущую температуру.
T=(Uizmerennoe-U_const )/U na_1_gradus+T_const.
В программе выбирается: значение переменной T_const и напряжение для нее U_const, количество милливольт на градус цельсия Una_1_gradus с шагом 2,5mv, есть автоматический режим присвоения.
Аналоговая схема датчика температуры.
Датчик - диод D1. С увеличением температуры на 1 градус, напряжение падает на нем примерно на 2 милливольта. Далее оно инвертируется и усиливается в 10 раз. Такое усиление выбрано только из-за удобства номиналов резисторов обратной связи R4 R3. Из скриншота видно, что для нужного диапазона температур 10-85 градусов падение напряжения с каждым градусом, изменяется линейно, примерно на 20 милливольт. Это значение, Una_1_gradus, подбирается в программе с шагом 2,5mv, в данном случае оно равняется 8 ( 8 x 2.5mv=20mv ). Коэффициент усиления ОУ можно выбрать 12,5 ( 10 x 2.5mv=25mv ). Тогда на один градус будет 10 шагов ADC. Диоды можно использовать любые, но только что бы все 4 были одной марки, и с наиболее одинаковым падением напряжения. В программе есть настройки для каждого диода, одинаковые падения напряжения желательны для того, что бы датчики имели примерно равные верхний и нижний диапазоны измерения температуры. Напряжение на выходе ОУ для комнатной температуры (24гр) я устанавливал примерно 1 вольт.
В схеме устройства это напряжение устанавливается для всех датчиков резистором R6.
Схема регулятора оборотов.
Несколько замечаний по схеме. кулерами можно управлять одним транзистором (лучше полевым, для биполярного vt базовый резистор 1к), а не составными транзисторами . Но в этом случае надо быть уверенным, что используется стабильное питание, которое не будет давать просадок при управлении транзисторами, иначе просадки будут влиять на младший разряд АЦП. Да и с составными транзисторами схема потребляет намного меньше тока.
Включение процессорного кулера выполнено так, как показано на схеме, что бы не нарушалось прохождение сигнала с датчика хола на материнскую плату.
кулеры БП и видеокарты подключены по этой схеме. При таком включении кулер работает в пол силы, при превышении верхнего порога включается в полную силу. Способом подключения указанным на схеме устройства у меня подключен боковой и корпусной кулер. В схеме 5 кулеров, к первому датчику привязаны 2 кулера, процессорный (в выключенном режиме работает через R=41om) и боковой (расположен на боковой стенке, его воздушный поток охлаждает CPU, частично память и видеокарту, был сделан до установки этой платы в компьютер). Остальные 3 датчика это: видеокарта, БП и температура внутри корпуса.
Описание программы.
В программе микроконтроллера формула немного отличается:
T=(Uizmerennoe-U_const )*10/Una_1_gradus+T_const*10.
В этой формуле температура 16 битное число с знаком - signed int. Младший десятичный разряд содержит остаток от деления, температура представлена как бы числом с одним знаком после запятой.
Управляются кулеры с помощью 2 параметров:
- Нижний предел температуры. При достижении уст. ноль на выв. мк.
- Верхний предел температуры. При достижении уст. 1 на выв. мк.
Устройство управляется 3 кнопками.
- SET - выбор параметра, переход к следующему параметру.
- PLUS
- MINUS
Есть 3 основных группы настроек: установка порогов температуры, управление кулерами, настройка датчиков.
В основном режиме:
- Нажатие SET, вход в режим "установка порогов температуры".
- Нажатие PLUS, вход режим "управление кулерами".
- Нажатие MINUS, вход режим "настройка датчиков".
Для сохранения параметров в EEPROM, все параметры нужно подтверждать нажатием SET. Например, для сохранения порогов температур, нужно подтвердить 2 параметра, если Вы измените нижний порог, а верхний не подтвердите нажатием SET, запись в EEPROM не произойдет.
Установка порогов температуры. | ||||||||||||||||
Этот параметр выбирает режим, который будет выводится на LCD. | ||||||||||||||||
|
||||||||||||||||
Установка нижнего и верхнего порога температуры для процессорного кулера. На 1 датчик привязано 2 кулера P и 1. | ||||||||||||||||
Установка нижнего и верхнего порога температуры для 2 датчика. Далее для 3, 4 датчика. | ||||||||||||||||
Управление кулерами. | ||||||||||||||||
Кулер управляется программой, 0 - всегда выключен, 1 - всегда включен. | ||||||||||||||||
Раскрутка кулеров. При включении, установленные в 1 кулеры будут включены в течение 30 секунд. |
||||||||||||||||
Настройка датчиков. | ||||||||||||||||
Датчики проще всего настроить так, расположить их так, чтобы их температура была одинакова, ввести эту температуру, в следующем режиме нажать PLUS, для всех датчиков будет сохранено измеренное напряжение на датчиках(диодах) соответствующие данной температуре. | ||||||||||||||||
Температура (T_const). | ||||||||||||||||
Если нажать PLUS произойдет автоматическое присвоение U_const=Uизмеренное. Для всех датчиков. | ||||||||||||||||
Второе число: напряжение в милливольтах на градус цельсия. Получается из произведения 1 числа на 2,5mV. | ||||||||||||||||
На экране: Номер датчика; U_const; U измеренное. Для температуры T_const: U_const нужно установить равным Uизмеренное. (Число - 400 это измеренное напряжение равное 400 x 2.5mv = 1 вольт. 2.5mv - шаг измерения ацп). |
Программа написана на WinAvr. Схема нарисована в программе Splan 5, монтажная плата в Sprint-Layout 4.
При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ). Запрограммировать бит BODEN.
Фьюзе биты PonyProg.
Скачать проект (39 Кб). Загрузок: 292
Аналоговая схема датчика температуры в Micro-cap8 (4 Кб). Загрузок: 234
Автор статьи: Дмитрий Мосин
Просмотров: 3605
Splan 7.0.0.9 Rus + Portable + Viewer Fiinal
26.04.2014
sPlan – удобный инструмент для черчения электронных схем. Имеет простой и интуитивно понятный интерфейс. В программе заложены... подробнее...
Очень удобная программа для чтения pdf Foxit Reader
26.04.2014
Foxit Reader - Компактная и шустрая программа для чтения PDF файлов. Может служить альтернативой для популярного просмотрщика PDF - Adobe Reader.... подробнее...
Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM - программа-симулятор микроконтроллерных устройств. Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры.... подробнее...
Новое становление сайта Eldigi.ru
01.04.2014
Проект Eldigi.ru который долгое время находился в застывшем состоянии снова принимается за работу с новымы силами, с новыми статьями и с... подробнее...
Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM - программа-симулятор микроконтроллерных устройств. Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры....
подробнее...
Splan 7.0.0.9 Rus + Portable + Viewer Fiinal
26.04.2014
sPlan – удобный инструмент для черчения электронных схем. Имеет простой и интуитивно понятный интерфейс. В программе заложены...
подробнее...
Цифровая паяльная станция своими руками (ATmega8, C)
27.05.2012
Состав: ATmega8, LM358, IRFZ44, 7805, мост, 13 резисторов, один потенциометр, 2 электролита, 4 конденсатора, трехразрядный светодиодный семисегментный...
подробнее...
Тахометр на AVR микроконтроллере (ATtiny2313, C)
13.01.2010
Данное устройство представляет собой неплохой тахометр, предел его измерений
составляет 100 - 9990 об/мин. Точность измерения - ± 3 об/мин....
подробнее...
Универсальная телефонная приставка (PIC16F84A)
01.03.2008
Сегодня практически во всех крупных городах телефонные номера переводятся на повременную оплату. Недалеко то время, когда поминутная... подробнее...
Бортовой компьютер для автомобиля (PIC18F258, C)
20.03.2013
Чесались руки сделать что-то для свежекупленного автомобиля, остановился на полезной вещи - бортовой компьютер. Автомобиль Nissan Almera N15... подробнее...
Тахометр на AVR микроконтроллере (ATtiny2313, C)
13.01.2010
Данное устройство представляет собой неплохой тахометр, предел его измерений
составляет 100 - 9990 об/мин. Точность измерения - ± 3 об/мин.... подробнее...
Микроконтроллерный определитель выводов транзисторов (PIC16F84A, asm)
09.08.2008
Принцип действия определителя транзисторов основан на том, что на любом из выводов микроконтроллера, настроенном как выходной, может... подробнее...