Схема термометра на мікроконтролері PIC своїми руками


Основа схеми термометра мікроконтролера PIC16F628A, він обраний не випадково у перших його легко дістати, а по друге він досить дешевий, крім того він має блок енергонезалежної пам'яті і внутрішній RC ланцюжком, який ми застосуємо в ролі тактового генератора з фіксованою частотою на чотири МГц. Це дозволило нам суттєво полегшити вагу схеми, зменшивши загальну кількість радіокомпонентів.
Як вимірювальний датчик температури ми взяли недорогий і доступний цифровий датчик DS18B20, що передає інформацію про температуру відразу в цифровому вигляді, що дозволило виключити зі схеми досить дорогий АЦП. Відповідно до своїх технічних характеристик датчик DS18B20 може вимірювати температуру в діапазоні від -55 ... +125 °С. І

Інформація подається на трьох розрядний семисегментний індикатор зеленого кольору із загальним катодом, і тільки тому дрібна частина інформації про температуру не виводиться, тому якщо потрібна більш висока точність вимірювання використовуйте інший сегментний індикатор. Опір R5-R11 застосовуються з метою струмообмеження, катоди індикатора приєднуються через біполярні транзистори типу КТ315, це дозволяє розвантажити окремі піни мікроконтролера.
Зібрано схему на друкованій платі, разом із цифровим індикатором. Датчик та живлення приєднуються окремо. Якщо температурний перетворювач не підключений, на індикаторі загоряється буква Е. Діод VD1 призначений для захисту від випадкового переполюсування.
Друкована плата схеми цифрового термометра, яка відображена на малюнку нижче, була зроблена в спеціалізованій програмі Sprint-Layout. Цей креслення в оригіналі ви зможете знайти в архіві зеленої стрілочки на початку статті.
Термометр здатний працювати як із перетворювачем DS18B20, так і з датчиком DS1820(DS18S20). Під кожен температурний перетворювач застосовується прошивка мікроконтролера. На фотографії вище показаний варіант цього вимірювального пристрою з встановленим на друковану плату діодним мостом і стабілізатором типу 7805. Крім того, до конструкції доданий світлодіод, який короткочасно спалахує під час опитування МК температурним датчиком. Світлодіод приєднаний між ніжкою RB3 (9 висновок) і "масою", природно з опором.
Схема універсального програматора EXTRA-PIC і сама програма, а також опис і посібник з використання. Зробіть це один раз і ви завжди можете запрограмувати PIC мікроконтролер.
Для відображення температури у мікроконтролера використано два висновки для тактування та передачі інформації.

Мікросхеми 74164 регістрового зсуву при появі тактового імпульсу переносять значення вхідного сигналу на вихід Q0. Значення минулого те саме пересувається на один крок. Семи сегментні індикатори приєднані до регістрових виходів. До вільних висновків підключені світлодіоди для індикації знака негативної температури та номера температурного датчика, що зчитується. У ролі температурних датчиків використовується також мікросхема. В архіві до схеми ви знайдете прошивку для мікроконтролера та креслення друкованої плати пристрою.
Схема цифрового термометра, виконана на мікроконтролері Attiny2313 та має виносний цифровий датчик DS18B20. Межі виміру від -55 до +125 градусів, крок виміру 0,1 градус. За потреби можна використовувати до восьми цифрових датчиків. Мікроконтролер обмінюється даними з датчиком за протоколом 1Wire.

У початковий момент часу здійснюється пошук таініціалізація всіх наявних датчиків, потім з них здійснюється передача інформації про температуру з виведенням на цифровий індикатор HL1 із загальним катодом або анодом.
Для прошивки мікроконтролера Attiny2313 потрібно виставити ф'юзи відповідно до малюнка для програми CodeVision AVR:

Прошивку та креслення друкованої плати у форматі Sprint-Layout ви можете завантажити, натиснувши на зелену посилання поряд із заголовком.
У ролі датчика у першій конструкції застосована вкрай цікава ідея, а саме використання старого вітчизняного транзистора типу КТ315В, а у другому пристрої використовується типовий перетворювач ds18b20.