Pеле часу? Алгоритм дії реле часу достатньо простий, але іноді здатний викликати захоплення. Якщо згадати старі пральні машини, які ласкаво називали «відро з моторчиком», то тут дія реле часу було дуже наочно: повернули ручку на кілька поділок, всередині щось почало тікати, і мотор завівся. Як тільки покажчик ручки доходив до нульового розподілу шкали, прання закінчувалася. Пізніше з'явилися машини з двома реле часу, - прання і віджимання. У таких машинах реле часу були виконані у вигляді металевого циліндра, в якому був захований годинниковий механізм, а зовні знаходилися лише електричні контакти та ручка управління. Сучасні пральні машини - автомати (з електронним управлінням) теж мають реле часу, причому як окремий елемент або деталь розгледіти його на платі управління стало неможливо. Всі витримки часу виходять програмно за допомогою керуючого мікроконтролера. Якщо уважно придивитися до циклу роботи автоматичної пральної машини, то кількість витягів часу просто не піддається обліку. Якби всі ці витримки часу виконати у вигляді годинникового механізму згаданого вище, то в корпусі пральної машини просто не вистачило б місця. Реле часу застосовуються не тільки в пральних машинах, наприклад, в мікрохвильових побутових печах за допомогою витримок часу регулюється не тільки час роботи, але і потужність нагріву. Робиться це таким чином: ВЧ напруга включається на 5 секунд і на 5 вимикається. Середня потужність нагріву в цьому випадку виходить 50%. Щоб отримати потужність 30% достатньо включення ВЧ на 3 секунди. Відповідно у вимкненому стані високочастотна лампа знаходиться протягом 7 секунд. Звичайно, ці цифри можуть бути іншими, наприклад 50 і 50 або 30 і 70, просто тут показано співвідношення часу включення - виключення ВЧ. Згадка про старих пральних машинах приведено не просто так. Саме тут, на цьому прикладі можна побачити, навіть помацати руками, як працює реле часу. Поворот рукоятки за годинниковою стрілкою є не що інше, як запуск витримки. Тут же відразу відбувається включення виконавчого механізму (електромотора). Величину витримки, в даному випадку у хвилинах, визначає кут повороту рукоятки. Таким чином, виконується відразу дві дії: завантаження величини витримки і власне запуск самої витримки часу. Після закінчення заданого часу відбувається відключення виконавчого механізму. Приблизно також працюють всі реле часу або таймери, навіть ті, які заховані усередині мікроконтролерів (МК). Від годинникового механізму до електроніки Як отримати витримку часу за допомогою МК Швидкодія сучасних МК дуже велике, до декількох десятків mips (мільйонів операцій в секунду). Здається, не так давно йшла боротьба за 1 mips у персональних комп'ютерів. Тепер навіть застарілі МК, наприклад, сімейства 8051 легко виконують цей 1 mips. Таким чином, на виконання 1 000 000 операцій доведеться затратити рівно одну секунду. Ось, здавалося б і готове рішення, як отримати затримку часу. Просто одну і ту ж операцію виконати мільйон разів. Таке зробити досить просто, якщо цю операцію в програмі зациклить. Але вся біда в тому, що крім цієї операції, цілу секунду МК, робити нічого більше не зможе. Ось тобі і досягнення інженерної думки, ось тобі і mips - и! А якщо потрібна витримка в кілька десятків секунд або хвилин? Таймер - пристрій для підрахунку часу Щоб такого конфузу не трапилося, не грівся просто так процесор, виконуючи непотрібну команду, яка нічого корисного робити не буде, в МК були вбудовані таймери, як правило, по декілька штук. Якщо не вдаватися в подробиці, то таймер являє собою двійковий лічильник, який вважає імпульси, вироблювані спеціальною схемою всередині МК. Наприклад, у МК сімейства 8051 рахунковий імпульс виробляється при виконанні кожної команди, тобто таймер просто вважає кількість виконаних машинних команд. А в цей час центральний процесор (CPU) спокійно займається виконанням основної програми. Припустимо, що таймер почав вважати (для цього є команда запуску лічильника) з нульового значення. Кожен імпульс збільшує вміст лічильника на одиницю і, врешті-решт, доходить до максимального значення. Після чого вміст лічильника обнуляється. Ось цей момент носить назву «переповнення лічильника». Це як раз і є закінчення витримки часу (згадаймо пральну машину). Припустимо, що таймер 8 - ми розрядний, тоді з його допомогою можна підрахувати значення в межах 0 ... 255, або переповнювання лічильника буде відбуватися через кожні 256 імпульсів. Щоб витримку зробити коротше достатньо почати рахунок не з нуля, а з іншого значення. Щоб його отримати, достатньо попередньо завантажити в лічильник це значення, а потім запустити лічильник (ще раз згадаємо пральну машину). Ось це попередньо завантажене число і є кут повороту реле часу. Такий таймер при частоті виконання операцій 1 mips дозволить отримати витримку максимум 255 мікросекунд, а адже треба кілька секунд або навіть хвилин, як же бути? Виявляється, все досить просто. Кожне переповнення таймера це подія, яка викликає переривання основної програми. В результаті CPU переходить на відповідну підпрограму, яка з таких от крихітних витягів може скласти будь-яку, хоч до декількох годин і навіть діб. Підпрограма обслуговування переривання, як правило коротка, не більше декількох десятків команд, після чого знову відбувається повернення в основну програму, яка продовжує виконуватися з того ж місця. Спробуйте таку витримку здійснити простим повторенням команд, про яке було сказано вище! Хоча, в деяких випадках доводиться поступати саме таким чином. Для цього в системах команд процесорів існує команда NOP, яка як раз нічого не робить, лише займає машинний час. Може використовуватися для резервування пам'яті, і при створенні витримок часу, тільки дуже коротких, порядку одиниць мікросекунд. Так, скаже читач, як його понесло! Від пральних машин відразу до мікроконтролерам. А що ж було між цими крайніми точками? Які бувають реле часу Як вже було сказано, основна задача реле часу - отримати затримку між вхідним сигналом і сигналом на виході. Цю затримку можна сформувати декількома способами. Реле часу були механічні (вже описане на початку статті), електромеханічні (теж на основі годинникового механізму, тільки пружина заводиться електромагнітом), а також з різними демпфуючими пристроями. Прикладом такого реле може служити пневматична реле часу, показане на малюнку 1.
Малюнок 1. Пневматичне реле часу.
Реле складається з електромагнітного приводу та пневматичної приставки. Котушка реле випускається на робочі напруги 12 ... 660В змінного струму (всього 16 номіналів) частотою 50 ... 60 Гц. Залежно від виконання реле витримка може починатися або при спрацьовуванні, або при відпусканні електромагнітного приводу. Установка часу здійснюється гвинтом, що регулює перетин отвору для виходу повітря з камери. Описані реле часу відрізняються не дуже стабільними параметрами, тому, там, де це можливо завжди застосовуються електронні реле часу. В даний час такі реле, як механічні, так і пневматичні можна, мабуть, зустріти лише в стародавньому обладнанні, яке досі не замінено сучасним, та ще в музеї. Електронні реле часу Мабуть, однією з найпоширеніших була серія реле ВЛ - 60 ... 64 і деякі інші, наприклад ВЛ - 100 ... 140. Всі ці реле часу були побудовані на спеціалізованій мікросхемі КР512ПС10. Зовнішній вигляд реле серії ВЛ показаний на малюнку 2.
Малюнок 2. Реле часу серії ВЛ.
Схема реле часу ВЛ - 64 показана на малюнку 3.
Малюнок 3. Схема реле часу ВЛ - 64
При подачі на вхід напруги живлення через випрямний міст VD1 ... VD4 напругу через стабілізатор на транзисторі КТ315А подається на мікросхему DD1, внутрішній генератор якої починає виробляти імпульси. Частота імпульсів регулюється змінним резистором ППБ-3Б (саме він виведений на лицьову панель реле), включеним послідовно з времязадающего конденсатора 5100 пф, який має допуск 1% і дуже малий ТКЕ. Отримані імпульси підраховуються лічильником із змінним коефіцієнтом ділення, який встановлюється комутацією висновків мікросхеми M01 ... M05. У реле серії ВЛ ця комутація виконувалася на заводі - виготовлювачі. Максимальний коефіцієнт розподілу всього лічильника досягає 235 929 600. Як стверджують в документації на мікросхему, при частоті генератора, що задає 1Гц витримка може досягати понад 9 місяців! На думку розробників цього цілком достатньо для будь-яких додатків. Висновок 10 мікросхеми END - закінчення витримки, з'єднаний з входом 3 - ST старт - стоп. Як тільки на виході END з'являється напруга високого рівня, рахунок імпульсів зупиняється, і на 9 виводі Q1 з'являється напруга високого рівня, яке відкриє транзистор КТ605 і спрацює реле, підключений до колектора КТ605. Сучасні реле часу Як правило, виготовляються на МК. Адже простіше запрограмувати готову фірмову мікросхему, додати кілька кнопок, цифровий індикатор, ніж винаходити щось нове, та потім ще й займатися точною настройкою часу. Таке реле показано на малюнку 4.
Малюнок 4. Реле часу на мікроконтролері
Навіщо робити реле часу своїми руками? І хоча існує така величезна кількість реле часу, практично на будь-який смак, в іноді домашніх умовах доводиться робити щось своє, часто дуже просте. Але подібні конструкції найчастіше виправдовують себе цілком і повністю. Ось деякі з них. Коль скоро ми тільки що розглянули роботу мікросхеми КР512ПС10 у складі реле ВЛ, то розгляд аматорських схем доведеться почати саме з неї. На малюнку 5 показана схема таймера.
Малюнок 5. Таймер на мікросхемі КР524ПС10.
Харчування мікросхеми здійснюється від параметричного стабілізатора R4, VD1 з напругою стабілізації близько 5 В. У момент включення живлення ланцюжок R1C1 формує імпульс скидання мікросхеми. При цьому запускається внутрішній генератор, частота якого задається ланцюжком R2C2 і внутрішній лічильник мікросхеми починає рахунок імпульсів. Кількість цих імпульсів (коефіцієнт ділення лічильника) задається комутацією висновків мікросхеми M01 ... M05. При зазначеному на схемі положенні цей коефіцієнт складе 78643200. Така кількість імпульсів складає повний період сигналу на виході END (вив. 10). Висновок 10 сполучений з висновком 3 ST (старт / стоп). Як тільки на виході END встановлюється високий рівень (відлічили полперіода) лічильник зупиняється. У цей же момент на виході Q1 (вив. 9) також встановлюється високий рівень, який відкриває транзистор VT1. Через відкритий транзистор включається реле K1, яке своїми контактами управляє навантаженням. Для того, щоб запустити витримку часу ще раз достатньо короткочасно вимкнути і знову включити реле. Тимчасова діаграма сигналів END і Q1 показана на малюнку 6.
Малюнок 6. Тимчасова діаграма сигналів END і Q1.
При вказаних на схемі номіналах времязадающей ланцюга R2C2 частота генератора близько 1000 Гц. Тому витримка часу при зазначеному підключенні висновків M01 ... M05 складе близько десяти годин. Для точної настройки такої витримки слід зробити наступне. Підключити висновки M01 ... M05 в позицію «Секунди_10», як показано в таблиці на рисунку 7.
Малюнок 7. Таблиця установки часу таймера (для збільшення натисніть на малюнок). При такому підключенні обертанням змінного резистора R2 провести настроювання витримки 10 сек. за секундоміром. Після чого підключити висновки M01 ... M05, як показано на схемі. Ще одна схема на КР512ПС10 показана на малюнку 8.
Малюнок 8. Реле часу на мікросхемі КР512ПС10
Ще таймер на мікросхемі КР512ПС10. Для початку звернемо увагу на КР512ПС10, точніше на сигнали END, який не показаний зовсім, і сигнал ST, який просто з'єднаний із загальним проводом, що відповідає рівню логічного нуля. При такому включенні не відбудеться зупинки лічильника, як показано на малюнку 6. Сигнали END і Q1 будуть циклічно, не зупиняючись продовжуватися. При цьому форма цих сигналів буде класичним меандром. Таким чином, вийшов просто генератор прямокутних імпульсів, частота яких може регулюватися змінним резистором R2, а коефіцієнт розподілу лічильника можна встановлювати згідно таблиці, показаній на малюнку 7. Безперервні імпульси з виходу Q1 надходять на лічильний вхід десяткового лічильника - дешифратора DD2 К561ИЕ8. Ланцюжок R4C5 при включенні живлення скидає лічильник в нуль. У результаті на виході дешифратора «0» (вив. 3) з'являється високий рівень. На виходах 1 ... 9 низькі рівні. З приходом першого лічильного імпульсу високий рівень переміщається на вихід «1», другий імпульс встановлює високий рівень на виході «2» і так далі, аж до виходу «9». Після чого лічильник переповнюється і цикл рахунки починається заново. Отриманий керуючий сигнал через перемикач SA1 можна подати на генератор звукового сигналу на елементах DD3.1 ... 4, або на підсилювач реле VT2. Величина витримки часу залежить від положення перемикача SA1. За вказаних на схемі з'єднаннях висновків M01 ... M05 і параметрах времязадающей ланцюжка R2C2 можна отримати витримки часу в межах від 30 секунд до 9:00.