Термометр на 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 | Тільки для термостата (на схемі не позначені) | ||||
Прикріплені файли:
- Файли(2).rar (169 Кб)