Термометр на AT89C2051 та DS18B20

Цей термометр працює в діапазоні температур від -50,0 до 99,9 градусів або в іншій версії програмного забезпечення до +125 градусів. Проект розроблявся для вимірювання температури в акваріумі, але може успішно знайти безліч інших застосувань. На платі також передбачено місце для двох додаткових кнопок і додаткового роз'єму. При зміні програмного забезпечення пристрій можна використовувати як звичайний термостат або більш складний регулятор температури. Система побудована на мікроконтролері AT89C2051 і популярному, широко відомому датчику DS18B20, що значно спростило розробку і зменшило розміри пристрою. Також без особливих труднощів може бути використаний мікроконтролер ATtiny2313, в цьому випадку знадобиться внесення невеликих змін до схеми та програми.

Опис схеми

Принципова схема термометра наведена нижче:

Принципова схема термометра

Серцем пристрою є мікроконтролер U2 (AT89C2051) з кварцовим резонатором X1 (12 МГц) з обв'язкою з двох конденсаторів C4 (33 пФ) і C5 (33 пФ). Конденсатор C3 (1 мкФ) необхідний для додаткового захисту лінії RESET від зовнішніх завад, а C1 (220 мкФ) фільтрує напругу живлення. Роз'єм Zas призначений для підключення живлення 5В. Резистори R9-R16 (330 Ом) обмежують струм через сегменти дисплея. Транзистори T1 - T3 (BC557B) з резисторами R1-R6 (3,3 кОм) керують анодами дисплея.

Виготовлення

Усі матеріали для створення термометра ви знайдете в архіві в кінці статті. Монтаж елементів проводиться від маленьких до найбільших. Для кріплення дисплея хороше було б припаяти шматочок панельки DIP40, а також панельку DIP20 для мікроконтролера. З боку міді припаюється SMD резистор 4.7 кОм для 1-Wire (9 ніжка U2) до позитивного виводу джерела живлення. Роз'єм GP1 у базовій версії використовується для підключення світлодіодної сигналізації негативної температури (катод до МК, анод до VCC), якщо ви хочете використовувати цю ніжку в інших цілях, то видаліть у програмі рядок:

P3.7 = Not Minus

Корпус може бути зроблений з шматочка ламінату. Плата термометра кріпиться до передньої панелі за допомогою двох гвинтів.
Для того, щоб застосувати в проекті мікроконтролер ATtiny2313, не встановлюйте конденсатор C3, а конденсатори C4 і C5 повинні мати значення 22 пФ.

Програмне забезпечення

Програмне забезпечення було написане в демо-версії середовища BASCOM 8051 від MCS electronics. Джерело коду ви знайдете в архіві в кінці статті.

Фьюз-біти

Фотографії

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

Обозначення Тип Номінал Кількість Примітка
U2 МК AVR 8-біт
AT89C2051
1 Або ATtiny2313
U3 Датчик температури
DS18B20
1
T1-T3 Біполярний транзистор
BC557B
3
W1 Світлодіодний 7-сегментний індикатор AT5636BG-B 1 Або з аналогічною розпиновкою
X1 Кварц 12 МГц 1
R1-R6 Резистор
3.3 кОм
6
R9-R16 Резистор
330 Ом
8
С1 Електролітичний конденсатор 220 мкФ 1
С3 Конденсатор 1 мкФ 1
C4, C5 Конденсатор 33 пФ 2 У випадку з Attiny2313 - 22 пФ
Резистор
4.7 кОм
1 SMD. На схемі не вказаний
Панель DIP-40 1 Для індикатора
Панель DIP-20 1 Для контролера
Кнопка тактова 2 Тільки для термостата (на схемі не позначені)
Додати все

Оригінал статті

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

Top