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

Похожие статьи:


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

Скачать список элементов (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
AVR-программатор USB ASP Солнечная панель 10Вт 12В поликристаллическая
вверх