Виберіть свою мову

Пропонований таймер - спроба автора знайти компроміс між складністю пристрою і його функціональними можливостями. Завдання вдалося вирішити, змусивши порівняно дешевий мікроконтролер PIC12C508A за допомогою всього одного вхідного і трьох вихідних сигналів керувати многовыводным РКІ і визначати стан великого числа органів управління.

Прилад дуже економічний і може працювати автономно, подаючи звуковий сигнал закінчення заданої витримки. Передбачено і управління зовнішнім виконавчим пристроєм, від якого таймер може отримувати і харчування. В останньому випадку його можливості значно розширені. Мінімальна тривалість витримки - 1с, максимальна - 100 год.

Принципова схема таймера зображена на рис. 1. На елементі DD1.1 зібраний кварцовий генератор. З виходу елемента DD1.2, знижує вплив вхідний ланцюга мікроконтролера DD3 на генератор (воно особливо помітно при напрузі живлення менше 3,5 В) сигнал частотою 32768 Гц надходить на вхід вбудованого в мікроконтролер DD3 таймера/лічильника.

(натисніть для збільшення)

Коди програми, яку слід за допомогою програматора занести в пам'ять мікроконтролера, наведені в таблиці. Після включення живлення, діючи за цією програмі, він налаштує лінії свого порту вводу/виводу GP2 і GP3 на роботу в як входів, a GPO, GP1, GP4 і GP5 - виходів і переведе вбудований таймер/лічильник в режим рахунку імпульсів, що надходять на вхід GP2. Відлік часу йде по перериваннях, генеруються при переполнениях лічильника. Тому точність витримки не залежить від стабільності вбудованого в мікроконтроллер тактового генератора з частотою 4 МГц.

(натисніть для збільшення)

На вихід GP0 мікроконтролер видає сигнал, призначений для загального електрода (СОМ) РКІ HG1. Сдвиговый регістр довжиною 32 розряду на мікросхеми DD4-DD7 служить для формування сигналів, що подаються на сегменти всіх розрядів індикатора, а також сигналів опитування кнопок SB1 - SB 12 і перемикача конфігурації S1. Потрібні для цього коди надходять у послідовному вигляді на вхід D мікросхеми DD4 з виходу GP1 мікроконтролера. На виході GP4 їх супроводжують імпульси зсуву. Необхідно відзначити, що подібне застосування сдвигового регістра з суміщенням функцій управління індикатором і опитування органів управління стало можливим завдяки значній інерційності РКІ. Короткочасні "зайві" імпульси на його висновки не викликають спотворення відображуваних індикатором символів.

Для опитування органів управління на виходах сдвигового регістра DD4-DD7 утворюється послідовність "біжить нуль". В результаті в тактах, відповідних натиснутим кнопках або замкнутим контактів перемикача S1, логічний рівень на вході GP3 мікроконтролера низький, а у інших - високий. При низькому логічному рівні на виводі 10 мікросхеми DD6 мікроконтролер аналізує сигнал, що виробляється детектор зниження напруги живлення DA1 і приходить на вхід GP3 через елементи DD1.3, DD1. 4 і діод VD3.

Сигнал закінчення витримки, сформований мікроконтролером на виході GP5, надходить на вихід приладу (контакт 2 розетки XS1) через захисний резистор R4. Цей же сигнал управляє генератором на мікросхемі DD2, налаштованим на 4200 Гц - резонансну частоту пьезоизлучателя НА1. В результаті подає звуковий таймер сигнал. Звук можна відключити, замкнувши контакти S1.7.

В автономному режимі прилад живить гальванічна батарея GB1. Обмотка реле К1 знеструмлена, і його розімкнутими контактами К1.2 перемикач S1 (за винятком згаданої вище групи контактів) відключений від входу мікроконтролера. Це зроблено для зменшення приблизно на 0,5 мА споживаного виробом струму, який у даному випадку не перевищує! мА (плюс ще 2 мА при роботі звукового генератора). Ціна економії - таймер працює автономно в єдиному режимі: зворотний відлік часу в секундах, сигнал про закінчення витримки - безперервний тривалістю 1 хв., до закінчення якої він може бути припинений натисканням на будь-яку кнопку. Натискання кнопок у цьому режимі супроводжуються короткими звуковими сигналами.

Якщо подати на контакти 1 і 3 розетки XS1 напруга 5 В від зовнішнього джерела, реле К1 спрацює, відключивши батарею і підключивши до мікроконтролеру перемикач S1. Діоди VD1, VD2 зменшують напругу на обмотці реле К1 до допустимого значення. Вони ж запобігають перемикання таймера на зовнішнє живлення при неправильної полярності останнього

Тепер, замкнувши контакти S1.1, можна вести відлік часу в хвилинах, а за допомогою S1.2 змінити його напрям з зворотної на пряме (показання індикатора в процесі рахунки будуть збільшуватися). Наступні чотири групи контактів керують форматом сигналу закінчення витримки. S1.3 робить сигнал безперервним або переривчастим, S1.4 знімає або встановлює обмеження тривалості сигналу, S1.5 інвертує його (звуковий сигнал, якщо він включений, буде звучати під час витримки і припиниться після її закінчення). А при замкнутих контактах S1.6 примусове відключення сигналу закінчення витримки відбудеться тільки з запуском нового циклу її відліку натисканням на кнопку "Старт".

Призначення контактів S1.7, про який було сказано вище, залишається незмінним. З допомогою S1.8 відключають "звуковий супровід" натискань клавіш і відповідні короткі імпульси на контакті 2 розетки XS1.

Так як мікроконтролер аналізує стан перемикача S1 тільки один раз (відразу після включення живлення), щоб задіяти внесені під час роботи приладу зміни, потрібно вимкнути і знову включити живлення.

При зовнішньому живленні генератор звукового сигналу заблокований нововиявленими транзистором VT1. Якщо у блокуванні немає необхідності, транзистор і резистори R1 і R3 не встановлюють.

Відразу після включення приладу у всі розряди індикатора виведено нулі, а десяткові крапки блимають, вказуючи, що таймер чекає введення значення витримки. Після введення кожної цифри точка у відповідному розряді перестає блимати. Спроби ввести в третій розряд цифри 6-9 залишаться безуспішними. Тут повинна бути цифра, що не перевищує 5. Максимальне значення, яке можна задати (9959), відповідає 99 59 хв. з або 99 година 59 хв в залежності від обраної одиниці рахунку (секунда або хвилина). Якщо при введенні допущена помилка, слід натиснути кнопку SB 11 ("Уст.") і ввести потрібне значення заново.

Таймер починає відлік витримки з натисканням кнопки SB12 ("Старт"). Про те, що відлік йде, свідчать змінюється раз на секунду чи хвилину значення на індикаторі і безперервно "біжить" за його розрядів точка. Щоб зупинити таймер, досить ще раз натиснути кнопку "Старт". При йде рахунку прилад реагує тільки на неї. Кнопка "Уст." діє тільки коли рахунок зупинений.

Якщо до завершення рахунку напруга харчування знизилося до 2,8 В, у всіх розрядах індикатора будуть включені десяткові крапки. Коли рахунок не йде, про падіння напруги нижчезазначеної попередить виведена на індикатор напис

- стилізоване "low battery" ("батарея розряджена"). Робота таймера при меншому напрузі не гарантована і залежить від властивостей встановлених у ньому примірників мікросхем. Гучність звукового сигналу різко зменшується вже при напрузі 3,5 Ст.

Таймер зібраний на двосторонній друкованій платі. На рис. 2 показана її сторона, на якої розміщені індикатор HG1, кнопки SB1 - SB12 (TS-A3PS-130 або аналогічні), вимикач SA1 і звуковий випромінювач НА1. Всі інші елементи встановлені на зворотній стороні, показаної на рис. 3, а батарея GB1 (три гальванічних елементи типорозміру АА) - в контейнері поза плати.

Замість мікроконтролера PIC12C508A підійдуть без зміни програми PIC12C508, PIC12C509 або PIC12C509A. Реле К1 - РЭС60, виконання РС4.569.435-04 або РС4.569.435-09. Кварцовий резонатор ZQ1 - в малогабаритному циліндричному корпусі. Врахуйте, резонатори великого розміру погано працюють при зниженому напрузі живлення.

При налагодженні приладу постійний резистор R8 тимчасово замінюють перемінним номіналом 100 кОм і з його допомогою підбирають частоту звукового сигналу максимальній гучності. Вимірявши введене опір змінного резистора, встановлюють замість нього постійний найближчого номіналу. Для стійкої роботи кварцового генератора у всьому інтервалі зміни живлячої напруги може знадобитися добірка резистора R5.

Автор: А. Єрмаков, р. Нижній Новгород