logo

Цифровой термометр на базе ATtiny2313 и трёх-символьном цифровом индикаторе
Автор Hardwarest   
10.04.2007 г.

Многие из компьютерных энтузиастов предпочитают автономно контролировать температуру ответственных зон, таких как процессор, чипсет и.т.д. Но, к сожалению таких термометров, не напасёшься, а встроенный мониторинг оставляет желать лучшего.

Если вас не устраивает встроенный мониторинг, а готовые имеют высокую погрешность и их тяжело достать - тогда почему б не сделать автономный термометр самому.

 

Термометр построен на базе микроконтроллера ATtiny2313, его преимущество в том, что он не требует кварца и цена 2$ за штуку. Данные выводятся на трёх-сегментный светодиодный индикатор с общим катодом. В качестве термометра выступает микросхема DS1820.

  

Детали необходимые для автономного термометра:

·        Микроконтроллер – Attiny2313 в (SOIC или DIP корпусе)

·        Резистор 4,7кОм (SMD или обычный)

·        3-х символьный семи сегментный индикатор с общим катодом (например, Kingbright BA56-12EWA или GNT-5631AS-21)

·        Термометр DS18B20

Программная часть термометра:

Прошивка

PonyProg2000 V2.06f

 

И так схема:

 

 

Тут всё просто.

 

Для прошивки микроконтроллера нужен программатор.

Программатор подключается к LPT порту, и собран на базе 74HC244.

 

Список деталей необходимый для сборки программатора:

·        Микросхема 74HC244

·        Красный светодиод

·        Зелёный светодиод

·        Два резистора 470Ом

·        Резистор 4,7кОм

·        Конденсатор 0,1мкФ

·        Диод 1N4148

 

И так схема:

 

 

Она не слишком сложная. Собрать его можно на монтажной плате, если вы, конечно, не занимаетесь прошивкой в промышленных масштабах.

Вот вариант моего программатора:

 

 

Если вам лень собирать программатор, и вы ищете вариант попроще, то можно контролер подключить напрямую к LPT порту.

Подключение.

19 вывод контроллера (SCK) подключаем к 6 выводу LPT порта.

18 вывод контроллера (MISO) подключаем к 10 выводу LPT порта.

17 вывод контроллера (MOSI) подключаем к 7 выводу LPT порта.

1 вывод контроллера (RESET) подключаем к 9 выводу LPT порта.

25 вывод LPT порта подключаем на массу

Соединить 2 и 12 вывод

Подключить питание к контроллеру, в данном случае 20 на VCC и 10 на GND

 

Такой программатор использовать, категорически не советую. Схема не имеет промежуточного буфера и не имеет гальванической развязки по отношению к параллельному порту, поэтому во избежание вывода из строя параллельного порта подключать и отключать кабель следует при выключенном питании на плате, где установлен контроллер. Кроме того, когда программатор подключен к параллельному порту, следует избегать короткого замыкания его выводов. Из практики стоит отметить чрезмерный выход из строя самих контроллеров. Они просто перестают определяться и функционировать.

 

Теперь прошивка.

Прошивку лучше всего заливать программой PonyProg2000 версии 2.06f

Программу можно взять тут ponyprogV206f

Перейдём к настройке программы.

1.               Нужно выбрать программатор. Вкладка Setup –> Interface Setup, нужно выбрать Parallel port и выбираем пункт AVR ISP I/O

 

Должно быть как на картинке:

 

2.               Загрузить файл прошивки. Прошивку можно взять тут, её автор NAPman, за это ему большое спасибо.

3.               Считываем с контроллера конфигурационные биты (кнопочка в виде замочка). Устанавливаем галочки на CKSEL3, CKSEL 2, CKSEL 0 и SUT0

 

Должно быть как на картинке:

 

4.               И приступаем к прошивке. Вкладка Command -> Write All (или Ctrl+W)

 

Приступаем к сборке.

Сначала термометр собирался на монтажке, но лучше всего собирать на плату.

 

 

Далее термометр был собран на плату проекта Very Big Tower

 

Вывод

Мы с вами видим, что при помощи контроллера ATtiny2313 и парочки прямых рук можно собрать неплохой термометр, у которого погрешность 0.1 градус.


Выражаю особую благодарность NAPman за предоставленную прошивку.

Задать вопрос на конференции

 
« Пред.

Украинская Баннерная Сеть