[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Мониторинг температуры ПК на AVR микроконтроллере
TerminatorДата: Пятница, 13.06.2014, 03:01 | Сообщение # 1
Группа: Администраторы
Сообщений: 134
Награды: 3
Репутация: 14
Статус: Оффлайн
Иногда нужно знать точную температуру того или иного узла ПК, но встроенные средства это не всегда позволяют. Для данных целей и
предназначено это устройство.
Потребность в такого рода устройстве возникла у меня, когда я
купил старенький ПК, и решил приспособить его под FTP сервер. Но мне
попался компьютер с чипсетом VIA и процессором AMD. По отдельности эти
понятия работают очень даже неплохо, но вместе.... И, как вы наверное
догадались, мне пришлось устанавливать еще один дополнительный кулер.
Соответственно потребовалось как-то контролировать температуру всей этой
"ядерной микроволновки". Всего датчиков в ПК было 3: где-то на
материнской плате, в процессоре и в жестком диске(датчиков на
видеокарте, БП, обоих мостах не было). Для мониторинга раннее указанных
деталей и было создано это устройство.

Я встроил сей девайс в лицевую планку своего ПК, что хорошо видно на
рисунке выше (к уст-ву подключен только один датчик - на БП).
Устройство "без корпуса" выглядит так:





Извиняюсь за "непрезентабельный" вид платы - не было возможности промыть в растворителе.
Теперь о используемых деталях:

Основа этого устройства - микроконтроллер производства компании Atmel
ATmega8. Для отображения информации я применил
жидкокристаллический дисплей с контроллером HD44780 на борту. В качестве
датчиков использовались термисторы (в начале хотел применить DS18B20,
но посмотрев на разницу в цене (а мне надо целых 6 штук) решил вопрос
в пользу термисторов). Это основные детали устройства, все детали будут
перечислены ниже.
Принципиальная схема устройства не сложна, и может быть повторена
даже начинающими (но вот что касательно печатной платы, тут несколько
сложнее). Дефицитных деталей схема не содержит.

Печатная плата устройства получилась относительно сложной. Сложной в
каком плане - есть 4-5 мест, где детали не очень удобно паять, а так же
без технологии ЛУТа сложно развести плату в ручную (особенно
начинающим). Она двухсторонняя, так как на одной стороне развести такое
кол-во дорожек было сложно. Текстолит можно использовать любой, главное
что бы вам паять было удобно.
Топология печатной платы:

О программе для МК
Программа (прошивка) для МК разрабатывалась в среде  microPascal. В целом работа программы проста:
- Инициализация АЦП;
- Инициализация дисплея;
- Старт бесконечного цикла, в котором и происходит измерение (и преобразование в читабельный вид) температуры.
К слову, для преобразования температуры использовалась следующая формула: 
temp:= 1 / (a + (b * temp) + (c * temp*temp*temp))
где a,b,c - константы, которые можно найти в даташите на термистор (для 10 кОм соответственно 0.001129148, 0.000234125, 0.0000000876741).
Вся начинка устройства держится на дисплее, который, в свою очередь прикреплен к передней планке ПК.
О прошивке МК
Я прошивал МК через программатор USBasp, и софт к нему Khazama AVR Programmer.
При прошивке нужно выставить следующие фузы:

После сверления, травления, сборки платы,
прошивки МК и подключения датчиков все должно заработать сразу. Если
что-то не работает (например не все датчики показывает) то проверьте
монтаж, разводку платы, возможно где-то КЗ. Ошибки в программной части
исключаются. Если у вас неточно показывает температуру,то придется
подключать дополнительный подстроечный резистор, так как у термисторов
возможен разброс параметров.
Удачи вам в сборке!
Скачать файлы
Прикрепления: 3777418.jpg (52.4 Kb)


 
  • Страница 1 из 1
  • 1
Поиск: