Простий таймер на PIC16F84A

Досить часто в господарстві і не тільки (наприклад, під час травлення плати хлорним залізом, кислотою або інших аналогічних дій), зафіксувати час, щоб вчасно вимкнути газ (вийняти плату з розчину тощо). Для таких цілей і розроблений цей таймер. На відміну від пристроїв з аналогічним призначенням, але зібраних на операційних підсилювачах або компараторах, цей таймер більш точний і менше споживає енергії, оскільки зібраний на мікроконтролері.

Схема таймера досить проста:

Схема простого таймера на PIC16F84A

Таймер розрахований на п’ять варіантів відліку часу (5, 10, 15, 20 і 30 хвилин). Інтервал задається шляхом натискання на кнопку, відповідну вибраному значенню. Так для 5-ти хвилин це буде кнопка SB1, для 20-ти, звісно, SB4. Також при натисканні на кнопку пристрій подає звуковий сигнал (підтвердження натискання), такий же звуковий сигнал буде подано по закінченні відліку часу. Також під час відліку буде світитися світлодіод D1.

Робота з пристроєм зводиться до мінімуму – потрібно лише натиснути кнопку і все. Але у цього таймера є невеликий недолік – якщо кнопка була нажата і йде відлік часу, то вибрати інший інтервал відліку неможливо. Цей недолік можна обійти, якщо включити ще одну кнопку в схему. Нехай вона називається SB6. Отже, цю кнопку потрібно підключити одним контактом до загального проводу, а другим до ділянки ланцюга R1 – 4-й вивід мікроконтролера U1. Натискання на цю кнопку перезапустить програму, яка знаходиться в мікроконтролері, незалежно від того, виконує він її чи ні.

Друкована плата таймера також в межах «середньої» складності. Так як помістити на невеликому ділянці плати стільки компонентів і обійтися друкованими провідниками лише з одного боку плати майже нереально, а якщо і реально, то неоправдано складно. Тому я використав друковану плату з двостороннього фольгованого матеріалу (склотекстоліту, гетинаксу).

Топологія друкованої плати в програмі ARES (входить в PROTEUS) виглядає так:

Печатна плата таймера

Червоні доріжки – це доріжки зі сторони деталей, сині – зі сторони компонентів.

В реальному варіанті виглядає приблизно так (якщо ви використовували мою разводку друкованої плати):

3D вид плати таймера

Мікроконтролер працює за таким алгоритмом:

Алгоритм роботи таймера

Як бачите, програма не складна. Поки жодна кнопка не натиснута, нічого не предпринимається, але якщо якась з кнопок буде натиснута (наприклад, SB1), то програма спочатку згенерує тональний сигнал на виводі 10 мікроконтролера (порт A біт 1). Далі подасть рівень логічної одиниці на вивід 18 (порт А біт 4). Після цих дій програма відліковує 5 хвилин, знову генерує тональний сигнал на десятому виводі і посилає рівень логічного нуля на четвертий біт порту А мікроконтролера. Аналогічні дії програма виконує і при натисканні інших кнопок, лише час затримки відрізняється. Для заливки прошивки в мікроконтролер можна використовувати програму PonyProg2000. Ось варіант виставлення конфігураційних бітів мікроконтролера:

Фьюзы PonyProg2000

Це означає, що біт захисту вимкнений, таймер по включенню живлення вимкнений, сторожовий таймер вимкнений, вибрано режим XT тактового генератора. У програмі IC-Prog це виглядає так:

Фьюзы IC-Prog

Деталі та їх заміни:
У цьому пристрої я не використовував дефіцитних деталей, але все ж мікроконтролер PIC16F84A може викликати подив серед досвідчених радіолюбителів, так як вже застарів. Замість нього можна використовувати практично аналогічний PIC16F628A (хоча їх архітектура і дуже схожа, в архіві для нього є окремий програмний файл). Резистори можна використовувати з опором 2-5,6 к. Конденсатори для задаючого генератора – керамічні дискові (можна знайти в будь-якому китайському радіоприймачі), номіналом 22-68 пФ. Кварцевий резонатор потрібно взяти на частоту 4.000 МГц. Кнопки можна взяти будь-які, так як вони все одно встановлюються за межами плати, тому все залежить від того, в якому корпусі ви плануєте збирати пристрій.

Конструкція:
Ось можливий варіант розташування плати та деталей в корпусі:

Розташування плати та деталей в корпусі

Завантажити вихідні файли, прошивку, проект в Proteus та Flowcode ви можете нижче

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

Означення Тип Номінал Кількість Примітка
U1 МК PIC 8-біт
PIC16F84A
1
Q1 Транзистор 2N3417 1
С1, С2 Конденсатор 27 пФ 2
R1-R6 Резистор
4.3 кОм
6
R7 Резистор
1.5 кОм
1
Х1 Кварцевий резонатор 1
D1 Світлодіод Червоний 1
Тактова кнопка 5
LS1 Динамік 1

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

Top