Главная » Компьютерная электроника
Призовой фонд
на июль 2019 г.
1. 1000 руб
Паяльник
2. Регулируемый паяльник 60 Вт
Паяльник
3. 100 руб.
От пользователей

Мониторинг температуры ПК на 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.

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

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

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

В архиве статьи лежат исходники, а так же проект в Proteus.

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

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
LCD1 LCD-дисплейLCD WH1602B1 С подсветкойПоиск в Utsource В блокнот
U1 МК AVR 8-бит
ATmega8
1 Поиск в Utsource В блокнот
R1-R6 Резистор
10 кОм
6 ПрецизионныйПоиск в Utsource В блокнот
R7 Резистор
10 Ом
1 SMDПоиск в Utsource В блокнот
RV1 Подстроечный резистор10 кОм1 Желательно многооборотныйПоиск в Utsource В блокнот
RT1-RT3 Термистор10 кОм3 Я использовал 3-х ммПоиск в Utsource В блокнот
C1, C2 Конденсатор33 пФ2 Поиск в Utsource В блокнот
C3 Электролитический конденсатор1000 мкФ1 Поиск в Utsource В блокнот
X1 Кварцевый резонатор8МГц1 НизкопрофильныйПоиск в Utsource В блокнот
PLS-401 Поиск в Utsource В блокнот
PBS-203 Поиск в Utsource В блокнот
Панелька 28 pin1 УзкаяПоиск в Utsource В блокнот
Добавить все

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

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

Теги:

Опубликована: Изменена: 20.09.2014 0 0
Я собрал 0 4
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.4 Проголосовало: 4 чел.

Комментарии (22) | Я собрал (0) | Подписаться

+1
BARS_ #
А почему терморезисторы, а не цифровые датчики, например DS18b20? Все было бы гораздо проще, не ловит помехи, не надо калибровать, все висят на одном шлейфе.
Ответить
+1
Big_D #
Прочитайте полностью текст, поймёте почему не использовались DS18B20
Ответить
+1
BARS_ #
Теперь понятно. Просто я заказываю их на ebay, и выходят они в разы дешевле. 10 штук в районе 300р, т.е. 30р за штуку. В магазине лежат по 85р.
Ответить
0

[Автор]
zeconir #
Да, 18B20 можно было использовать, но для снятия показаний с 6-ти точек нужно 6 шт. соответственно, а это ~60 грн. 6 термисторов стоят ~15 грн. Разница заметна?
И извиняюсь за качество видео - фотик сдох, а с телефона вышло вот это
Ответить
+1
dkg10 #
Можно ещё на порядок стоимость термодатчика снизить это - применяя диоды кремниевые, соединив последовательно и подключив в прямом смещении к измерительному входу МК.
Ответить
0

[Автор]
zeconir #
Да, можно и так, но скорее всего точность упадет (хотя, смотря какие диоды взять).
Ответить
0
dkg10 #
Встречал в сети исследования по диодам 1n4148. Там линейность получается лучше, чем у термисторов. Единственное, придётся вводить поправку в виде смещения и угла наклона характеристики. Поскольку они от диода к диоду - разные. Но ввиде улучшающей меры можно их соединять последовательно, тогда вдобавок и чувствительность возрастет
Ответить
+1

[Автор]
zeconir #
Хм... Надо будет поэкспериментировать... Спасибо за идейку!
Ответить
0
u-235 #
Кварц то зачем нужен? Можно же от внутреннего генератора тактироваться. В схеме надо терморезисторы дорисовать.
Ответить
0
juzik #
Ужасная разводка ПП. ПК является источником импульсных помех, а в такой разводке, где земля от кондеров кварца тянется по всей плате (да еще и разными путями) может заставить контроллер неправильно обрабатывать тактирующие импульсы. Как следствие - нестабильная работа устройства. Не говоря уже о таком кол-ве переходов для относительно простой схемы.
Ответить
-2

[Автор]
zeconir #
С этим я не согласен - земля до карца тянется минимально. А насчет платы - Вы сможете развести лучше? Флаг Вам в руки! Так еще и деньги за это заплатят. А так, просто говорить от нечего делать - любой может.
З.Ы. Благодаря Вам заметил ошибку на плате: конденсатор включен не той полярностью, в ближайшее время подправлю.
Кстати по поводу вн. генератора. Как выше указали, ПК - источник импульсных помех, а генератор МК чувствителен даже к незначительному изменению температуры (не говоря уже о помехах по шине питания), так что лучше с кварцом.
Ответить
-3
juzik #
Дело в том, что для кварца и его утягивающих кондеров рекомендуется делать "чистую землю". У МК для этих целей возле пинов для кварца выводят земляной пин. Соединить их надо вместе минимальной длины проводником. Могу скинуть ссылку на статью, если необходимо. Иначе любая помеха собьет его с толку.
Ответить
0

[Автор]
zeconir #
Да, поискал в интете, нашел пост на казусе. Действительно, разводка платы возле кварца - сложное дело.
Ответить
0
BARS_ #
Ну я могу развести лучше и компактнее. Только оно мне не надо. Да, лучше поставить 1-2 перемычки, чем тащить дорожки фиг знает куда. А так плата просто ужасна, грязь, разводка плохая, да еще и куча каких-то проводов напаяна. По поводу частоты, ну будет она слегка плавать, ну и что? Опора АЦП все равно посажена на питание схемы, там даже элементарного дросселя нет. О какой точности измерений может идти речь? Частота работы АЦП хоть на минимуме стоит? Надо было ИОН сделать на той же TL431. А то о каком-то изменении частоты вы подумали, хотя оно в данном случае не влияет на работу, а о АЦП нет. И провода надо экранированные тянуть к датчикам. В общем еще работать и работать над ней...
Ответить
0

[Автор]
zeconir #
Справедливо... Учту
Кстати, про плату - ну урежете вы плату на 1 кв. см (больше никак - детали меньше не станут (разве что SMD брать)) а толку? Насчет грязи - так и быть промою, посмотрим что выйдет. А "куча каких - то проводов" указана на схеме.
Ответить
+2
BARS_ #
Да грязь фигня, работе не мешает. Размер тем более, может оптимальнее было бы сделать ее больше, а не меньше. А вот разводка и куча проводов... Что мешало сделать дорожки? Все выходы с одной стороны МК, разводка проще простого. Но ничего, уверен, со временем и разводку делать научитесь лучше, и платы будут выглядеть аккуратнее и чище, и схемы улучшатся. Начинать ведь тоже с чего-то надо, тем более что такие платы были у всех, по другому не бывает. Удачи в будущих проектах!
Ответить
+2

[Автор]
zeconir #
Да, уже промыл, печатка оказывается была старая, схема тоже не вида публикации. Уже отправил на модерацию. Вобщем, конечно критика уместна, понимаю. Спасибо!
Ответить
-2
C2at #
А зачем протеус в архиве? По созданной модели ничего нельзя ни посмотреть ни проверить.
Ответить
+1

[Автор]
zeconir #
Вы в этом уверены? А подставить LCD к контактам, которые там кстати пронумерованы, не судьба? Тоже самое и с термисторами. Если у вас это не получится, то так и быть, потрачу 1 мин. и скину вам на почту проект, с подключенным дисплеем.
А вообще, изначально, дисплей был подсоединен, но в силу того, что Proteus разводит для него печальный разъем на плате, его пришлось заменить на обычный PLS.
Ответить
-1
C2at #
Печально, что автор какой-то злой.
Ладно поговорим еще, я как читатель читаю вашу статью, собирать конечно-же не собираюсь, так как не очень мне такое требуется,
но с интересом ознакомился с вашей рецензией по применению терморезистора и формулой. Это заинтересовало.
Чтобы чуть понять каких вы там достигли характеристик и линейности.
Для начала скачиваю архив , но досада он оказывается предназначен для печатной платы (из статьи я и так понял что печатка получилась никакая) ладно, трачу 1 минуту на то чтобы подкинуть какой нибудь дисплей, не поверите с термистором засада, у меня такого нет....
Результат "танец с бубном" потратил полчаса времени.
Теперь и сам не знаю , к чему было проявлять любопытство к вашим достижениям.
Так что спасибо, на почту проект не надо, у меня тут своих хватает, а если сделаете его симулирующим работу вашей программы прикрепите его к статье, это будет полезней чем такая печатная плата.
Ответить
+2
BARS_ #
А что мешало поставить переменники и запустить модуляцию? Сопротивление термистора при комнатной температуре (ну или при какой-либо другой) известно, в какую сторону изменяется при нагреве - тоже. Не вижу в этом проблемы.
Ответить
+2

[Автор]
zeconir #
Ну начнем с того, что я не злой :) Просто все (исключение пара-тройка комментов) пытаются подкопаться то к схеме, то к плате. Причем никто не стал искать хороших сторон, и вы не исключение. И такое отношение не только к моей статье, но и к статьям остальных авторов.
Теперь о сущности вопроса. Если для вас даже просто подставить в схему 2 детали - танец с бубном, то не стоит так сразу "с ходу" выдавать анализ схемы , платы и т.п.
P.S. И кстати, BARS_ прав, вместо термистора можно взять обычный переменный резюк, с нужным сопротивлением. Делайте выводы.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

МиниПК MK809V - 4 ядра, Android 4.4.2
МиниПК MK809V - 4 ядра, Android 4.4.2
Металлоискатель MD3010II Набор для сборки - УНЧ 2х60 Вт на TDA7294
вверх