Простий таймер на PIC16F84A
Досить часто в господарстві і не тільки (наприклад, під час травлення плати хлорним залізом, кислотою або інших аналогічних дій), зафіксувати час, щоб вчасно вимкнути газ (вийняти плату з розчину тощо). Для таких цілей і розроблений цей таймер. На відміну від пристроїв з аналогічним призначенням, але зібраних на операційних підсилювачах або компараторах, цей таймер більш точний і менше споживає енергії, оскільки зібраний на мікроконтролері.
Схема таймера досить проста:
Таймер розрахований на п’ять варіантів відліку часу (5, 10, 15, 20 і 30 хвилин). Інтервал задається шляхом натискання на кнопку, відповідну вибраному значенню. Так для 5-ти хвилин це буде кнопка SB1, для 20-ти, звісно, SB4. Також при натисканні на кнопку пристрій подає звуковий сигнал (підтвердження натискання), такий же звуковий сигнал буде подано по закінченні відліку часу. Також під час відліку буде світитися світлодіод D1.
Робота з пристроєм зводиться до мінімуму – потрібно лише натиснути кнопку і все. Але у цього таймера є невеликий недолік – якщо кнопка була нажата і йде відлік часу, то вибрати інший інтервал відліку неможливо. Цей недолік можна обійти, якщо включити ще одну кнопку в схему. Нехай вона називається SB6. Отже, цю кнопку потрібно підключити одним контактом до загального проводу, а другим до ділянки ланцюга R1 – 4-й вивід мікроконтролера U1. Натискання на цю кнопку перезапустить програму, яка знаходиться в мікроконтролері, незалежно від того, виконує він її чи ні.
Друкована плата таймера також в межах «середньої» складності. Так як помістити на невеликому ділянці плати стільки компонентів і обійтися друкованими провідниками лише з одного боку плати майже нереально, а якщо і реально, то неоправдано складно. Тому я використав друковану плату з двостороннього фольгованого матеріалу (склотекстоліту, гетинаксу).
Топологія друкованої плати в програмі ARES (входить в PROTEUS) виглядає так:
Червоні доріжки – це доріжки зі сторони деталей, сині – зі сторони компонентів.
В реальному варіанті виглядає приблизно так (якщо ви використовували мою разводку друкованої плати):
Мікроконтролер працює за таким алгоритмом:
Як бачите, програма не складна. Поки жодна кнопка не натиснута, нічого не предпринимається, але якщо якась з кнопок буде натиснута (наприклад, SB1), то програма спочатку згенерує тональний сигнал на виводі 10 мікроконтролера (порт A біт 1). Далі подасть рівень логічної одиниці на вивід 18 (порт А біт 4). Після цих дій програма відліковує 5 хвилин, знову генерує тональний сигнал на десятому виводі і посилає рівень логічного нуля на четвертий біт порту А мікроконтролера. Аналогічні дії програма виконує і при натисканні інших кнопок, лише час затримки відрізняється. Для заливки прошивки в мікроконтролер можна використовувати програму PonyProg2000. Ось варіант виставлення конфігураційних бітів мікроконтролера:
Це означає, що біт захисту вимкнений, таймер по включенню живлення вимкнений, сторожовий таймер вимкнений, вибрано режим XT тактового генератора. У програмі 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 |
Прикреплені файли:
- timer2.rar (101 Кб)