Главная » Статьи » Компьютеры » Познавательные статьи

Мониторинг температуры ПК на AVR микроконтроллере

Потребность в такого рода устройстве возникла у меня, когда я купил старенький ПК, и решил приспособить его под 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.

При прошивке нужно выставить следующие фузы:

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

Удачи вам в сборке!

В архиве статьи лежат исходники. Обсудить статью на форуме

Список радиоэлементов

Скачать список элементов (PDF)

Прикрепленные файлы:

Категория: Познавательные статьи | Добавил: Terminator (13.06.2014)
Просмотров: 962 | Теги: avr | Рейтинг: 1.0/7
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]