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

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

Останнім часом коло побутової відеоапаратури (телевізор, відеомагнітофон) поповнився новими приладами - дверними видеоглаэками, телекамерами спостереження за територією чи об'єктом та ін. Звідси випливає необхідність у пристрої, здатному керувати за заданою програмою ввімкненням-вимкненням приладу, причому бажано без їх переробки. Один з варіантів такого пристрою представлений нижче.

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

"ЦИКЛОП" являє собою невеликий прилад з цифровим табло, трьома кнопками управління, має збоку вікно ІК-приймача і виносної ІЧ випромінювач. Прилад можна розмістити у будь-якому зручному для користувача місці, а ІЧ випромінювач кріплять до стіни або меблів навпроти телевізора і відеомагнітофона.

Схема пристрою зображена на рис. 1.

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

Почнемо з короткого опису принципу передачі команд пультів дистанційного керування побутової апаратури. Існує кілька способів кодування інформації для передачі по ІЧ каналу. Перший - високочастотна модуляція. Порівняно низькочастотної інформаційної посилкою модулюють несучу частоту, близьку до 43,5 кГц. Це дозволяє відв'язатися від постійної складової інфрачервоного фону приміщення. Другий спосіб - команду представляють у вигляді коду "МАНЧЕСТЕР", який не має тривалих нульових або поодиноких станів і тому добре захищений від завад. Деякі виробники для більш економного витрачання ресурсу батареї живлення пульта ДУ застосовують спосіб одноразової передачі коду. При натисканні на кнопку пульта спочатку передається посилка з кодом команди, а потім слідують щодо короткі посилки з кодом утримування натиснутою клавіші.

Завдання пристрою - прийняти і декодувати команди, записати їх енергонезалежну пам'ять, а потім, отримавши сигнал ззовні, транслювати ці команди в певній послідовності. Якість роботи багато в чому залежить від точності прийому команд.

Модуль BL1 - стандартний однокристальний фотоприймач від кольорового телевізора - призначений для введення команд з пульта ДУ. З виходу модуля очищена від постійної складової инаертированная цифрова послідовність надходить на вхід Р3.2 мікроконтролера DD1.

Фотоприймач краще використовувати готовий, оскільки в цьому пристрої до нього пред'явлені досить високі вимоги. Фотоприймачі різних типів зараз є у продажу в магазинах.

Оброблена інформація про прийнятих командах у спеціальній формі надходить на зберігання в ПЗУ DS1. Сформована кодова послідовність з виходу Р1.0 контролер DD1 надходить на вхід елемента DD2.4, який в парі з DD2.3 утворює генератор імпульсів з періодом повторення 27,2 мкс. Цей параметр необхідно витримувати якомога точніше, оскільки більшість однокристальних фотоприймачів, побутової апаратури для приймання команд з пультів ДУ уніфіковані і мають однакові параметри несучої частоти.

З виходу елемента DD2.4 кодова послідовність надходить на підсилювач струму - транзистор VT2. Навантаженням транзистора служать два ІЧ діода-випромінювача BI1 та BI2. Вони і керують самої відеоапаратурою. Діоди різного типу - АЛ156А і АЛ145А - вибрані не випадково. Справа в тому, що довжина хвилі випромінювання пультів СДУ різної теле - і відеоапаратури у різних виробників може відрізнятися. Тому використані два різних діода, щоб отримати більш широкий спектр випромінювання. Якщо потужності не вистачає (таке буває, коли апаратура розташована в різних місцях), можна збільшити число світлодіодів, підібравши резистор R15.

Пристрій "ЦИКЛОП" має два універсальних входу. Вхід 1 - з гальванічною розв'язкою на оптрон U1 - розрахований на вхідна постійна напруга 12 В, але якщо його підключити через гасить конденсатор, то можна працювати і від мережі ~220 (Наприклад, підключити квартирний дзвінок). Вхід 2 - це вхід тригера Шмітта, зібраного на транзисторі VT1 і елементі DD2.2. На цей вхід можна подавати і 12 В, і будь-який аналоговий сигнал з мікрофонного підсилювача або аудіодомофона.

Сигнали з обох входів проходять через цифровий фільтр, коефіцієнт передачі якого встановлюють програмно. Обидва входу здатні спрацьовувати від будь-якого фронту імпульсу, що дозволяє использоаать пристрій з різними датчиками.

Пристрій зібрано на друкованій платі (рис. 2) односторонньо фольгованого склотекстоліти товщиною 1,5 мм Резистори R17-R32 - Р1-12 або інші для поверхневого монтажу (їх припаюють до друкованої плати з боку провідників). Якщо резисторів для поверхневого монтажу немає, можна просвердлити отвори і встановити вертикально звичайні МЛТ 0,125. Цифровий світлодіодний індикатор HG1 (фірми King Bright) припаюють до плати з боку друку поверх резистори R23, R24, R31, R32. Крім того, він розташований точками вгору. Кнопки керування розташовані з боку преси. Стабілізатор DA1 пригвинчений до плати, фольга під ним виконує функцію тепловідведення.

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

Програма написана з урахуванням того, що частота задаючого генератора - 24 МГц. Можна, до речі, використовувати кварцеаый резонатор на іншу частоту - від 10 МГц і більше. ІК фотоприймач BL1 - від телевізорів і відеомагнітофонів Funai, Samsung, LG. Дросель L1 - ДМ-0,1. Мікроконтролер DD1 (фірми ATMEL) встановлений в припаянную до плати панель.

При програмуванні пристрої з'єднувальні провідники повинні бути можливо коротше, щоб зменшити вплив наведень. Вікно фотоприймача бажано закрити світлофільтром, що пропускає тільки ІЧ-промені. Пульт дистанційного керування слід розмістити на відстані 10...60 см від пристрою. В пам'ять пристрою заносять команди з пульта керування телевізора або магнітофона. По команді з зовнішнього датчика кнопки дзвінка пристрій виконає задану програму: увімкне або перемкне телевізор і відеомагнітофон.

На панелі управління розташовані три кнопки і дисплей. Кнопками користувач може вибирати різні варіанти роботи. Пам'ять розбита на 16 розділів (програм), кожна з яких може складатися з 16-ти кроків (команд управління апаратурою).

Для нормальної і ефективної роботи пристрою в системі відеоспостереження необхідно правильно ввести програму в пам'ять. Щоб краще зрозуміти принцип програмування, розглянемо приклад. Припустимо, за дзвінком у двері вимагається включити телевізор на 15 с, після чого вимкнути, а відеомагнітофон включити на запис протягом 30 с і потім теж вимкнути. Оскільки деякі телевізори не відразу після включення здатні сприймати команди з пульта ДУ, треба витримати паузу у 5 з перед включенням відеовходу телевізора (AV), до якого підключений відеовічко.

Уявімо собі, як можна виконати ці операції за допомогою пультів телевізора і відеомагнітофона.

  • Натиснути на кнопку POWER на пульті телевізора.
  • Почекати 5 с і натиснути на кнопку AV fn на пульті телевізора.
  • Натиснути на кнопку POWER на пульті відеомагнітофона.
  • Натиснути на кнопку AV input на пульті відеомагнітофона.
  • Натиснути на кнопку запису REC на пульті відеомагнітофона.
  • Почекати 15 с і натиснути на кнопку вимикання на пульті телевізора.
  • Почекати ще 15 с і натиснути на кнопку вимикання на пульті відеомагнітофона.
  • А тепер спробуємо перевести цей алгоритм керування в програму для пристрою "ЦИКЛОП".

  • Натиснути на кнопку POWER на пульті телевізора.
  • Натиснути на кнопку POWER на пульті відеомагнітофона.
  • Натиснути на кнопку AV input на пульті відеомагнітофона.
  • Натиснути на кнопку REC на пульті відеомагнітофона. На виконання кожної команди пристрою потрібно 1 ц. Отже, вже є невелика пауза (3) для телевізора під час виконання команд для відеомагнітофона.
  • Виждати 2 з і натиснути на кнопку AV in на пульті телевізора.
  • Почекати 15 с і натиснути на кнопку вимикання на пульті телевізора.
  • Почекати ще з 14 і натиснути на кнопку вимикання на пульті відеомагнітофона.
  • Слід дуже уважно поставитися до складання програми. Розглянутий приклад не враховує всіх особливостей роботи системи спостереження, так і побутова апаратура часто працює за різними алгоритмами, з різним часом реакції.

    У пристрої передбачено п'ять режимів роботи.

    РЕЖИМ "PROGRAM" - ПРОГРАМУВАННЯ

    Режим "PROGRAM" включають натисканням на кнопку SB1 "Mode". Дисплей висвітить '00 (точка, що стоїть попереду, вказує на включення програмування). Якщо програми вже були введені і яку з них треба відкоригувати, її вибирають кнопки SB2 "<<<" або SB3 ">>>".

    Символ у першому знакоместе табло - номер набираемой програми шістнадцятковому коді (0 - перша, F - шістнадцята), а в другому - порядковий номер кроку (команди) в програмі, також в шістнадцятковому коді.

    Звертаємо увагу на тип пульта управління. Справа в тому, що в системах ДУ використовують кілька видів команд. Відмінностей у роботі з телевізором або відеомагнітофоном може бути зовсім не видно, проте пристрій "ЦИКЛОП" ці команди вводяться по-різному. Для простих команд (без енергозбереження) все просто: одне натискання - одна команда. При введенні команд іншого виду потрібно буде зробити три натискання на одну і ту ж кнопку пульта, щоб "ЦИКЛОП" зрозумів передану команду. Різницю буде видно відразу по роботі пристрою. Поки команда достовірно не визначена, переходу на наступний крок не буде!

    Визначивши команду, пристрій переходить на наступний крок програмування - номер на дисплеї збільшиться на одиницю. Зараз можна ввести в програму час паузи між командами або наступну команду. Час паузи набирають кнопками "<<<" чи ">>>", його можна змінювати від 1 до 256 с. Кожне натискання додає затримку на 1, загальний час у секундах дисплей показує в шістнадцятковому коді. Після кожного натиснення на ці кнопки дисплей протягом приблизно однієї секунди відображає тривалість затримки, яка буде виконана тільки ПІСЛЯ що заданої команди. За умовчанням вона має мінімально можливе значення - 1с.

    Після завдання всіх кроків програми натисканням на кнопку SB1 "Mode" можна перервати програмування і кнопки SB2 і SB3 вибрати для введення наступну програму. Повторне натискання на кнопку "Mode" викличе перехід пристрою в режим "WORK" (про це буде сказано нижче).

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

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

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

    РЕЖИМ "TEST"

    Режим "TEST" призначений для налагодження і перевірки програми. Він складається з двох розділів: перевірки команд і програм. Увійти в ці режими можна з режиму програмування.

    При натисканні на кнопки SB2 і SB1 дисплей покаже L0. Символ L означає перевірку команди, а цифра 0 вказує її номер - перший. Вибрати проверяемую команду можна кнопками SB2 і SB3. При натисканні на кнопку SB1 пристрій відтворить обрану команду.

    При натисканні на кнопки SB3 і SB1 дисплей покаже АЛЕ. В цьому режимі можна перевірити цілу програму. Вибрати проверяемую програму можна кнопками SB2 і SB3. При натисканні на кнопку SB1 пристрій відтворить вибрану програму. Таким чином можна перевірити роботу кожної окремої команди і програми в цілому. У разі виходу з ладу хоча б однієї команди необхідно більш уважно перепрограмувати пристрій.

    При знаходженні помилки у виконанні програми можна буде повернутися в режим "PROGRAM" і перепрограмувати тільки її.

    Вийти з режиму "TEST" можна, якщо знову натиснути на ті ж кнопки, які були натиснуті при вході.

    РЕЖИМ "WORK"

    Режим "WORK" є основним. Користувач може сам вибрати номер програми, записаної в пам'ять, по якій пристрій буде працювати.

    Приклади показань дисплея в режимі "WORK": миготливі символи 10 або 3 - або 04. Це - режим очікування імпульсу від будь-якого входу. Перша цифра показує номер програми, яка буде запускатися від входу 1, а друга цифра - номер програми, яка буде запускатися від входу 2. Якщо замість цифри дисплей висвічує прочерк, це означає, що відповідний вхід відключений і пристрій не буде реагувати на імпульс. Коли на дисплеї мигають два прочерку - відключені обидва входи і "ЦИКЛОП" не буде виконувати ні одну програму. Вибрати програму для кожного входу можна кнопками SB2 і SB3.

    Якщо протягом певного часу імпульсу на вхід не надходить, дисплей вимикається, а пристрій продовжує працювати в режимі "WORK" без індикації. Ця функція потрібна для того, щоб дисплей не привертав зайвої уваги. Включення дисплея можна викликати натисканням на кнопку SB2 або SB3. Часовий інтервал до вимкнення дисплея встановлюється в параметрах пристрою.

    РЕЖИМ "ACTIVE"

    Якщо пристрій перебуває в режимі "WORK" і на будь-який з його входів, для якого визначено програму, надходить імпульс, воно переходить в режим "ACTIVE". Тривалість імпульсу повинна перевищувати деяке значення (Р0 або Р1 в розділі параметрів). Це потрібно для запобігання помилкових спрацьовувань пристрої від коротких імпульсів, які можуть з'явитися в результаті проникнення перешкод. Відразу після переходу в режим "ACTIVE" ЦИКЛОП починає виконувати програму, визначену для даного входу. Дисплей висвічує спеціальний символ у вигляді трьох горизонтальних ліній і номер команди, яка передається. В цей час пристрій не здатне сприймати натискання на кнопки або повторні імпульси на вхід. Закінчивши виконувати програму, пристрій повернеться в режим "WORK".

    РЕЖИМ "PARAMETER"

    Цей режим необхідний тільки в процесі програмування пристрою. Увійти в нього можна з режиму програмування, натиснувши одночасно кнопки SB2 і SB3.

    Перерахуємо параметри, які можна встановлювати в цьому режимі.

    • Р0 - захисний інтервал 1 -го каналу (0 - FF) (1/100 с).
    • Р1 - захисний інтервал 2-го каналу (0 -FF) (1/100 с).
    • Р2 - число посилок в пачці (2-32).
    • РЗ - інтервал між посилками (40-95 %).
    • Р4 - частота кварцевого резонатора, МГц.
    • Р5 - <зарезервовано>.
    • Р6 - номер програми 1 -го входу.
    • Р7 - номер програми 2-го входу.
    • Р8 - час до гасіння індикаторів, с.
    • 1_х - кожна команда.
    • Нх - кожна програма.

    Параметри РВ і Р1 задаються в сотих частках секунди і, відповідно, можуть приймати значення від 0,01 до 2,56 с. Завдання параметрів РО або Р1 рівними нулю забезпечує спрацьовування пристрою по першому зміні рівня сигналу. Активним рівнем для входів є рівень, протилежний тому, який мався на вході в момент переходу пристрою в режим "WORK". Якщо необхідно на вхід 2 подати змінну напругу частотою 50 Гц, тоді параметр Р1 необхідно виставити рівним нулю, так як при цьому на вході буде пульсуюча напруга частотою 50 Гц і тривалістю менше 0,01 с.

    Параметр Р2 задає число посилок коду команди при виконанні пристроєм кожного кроку програми. Цей параметр потрібен в ситуаціях, коли керований об'єкт (телевізор або відеомагнітофон) невпевнено сприймає їх посилають команди. Зазвичай буває досить значення, рівного 2-3.

    Сенс параметра Р3 - інтервал між посилками команд в пачці, виражений в відсотках від довжини команди (її тривалості в часі). Введений він на всякий випадок, так як "фірмовий" інтервал між командами з пульта не вимірюється і не фіксується в пам'яті. Практика показала майже повну некритичність цього параметра в зазначених межах регулювання.

    Параметр Р4 змінюють а разі використання кварцового резонатора з частотою, відрізняється від зазначеної на схемі. Використовується цей параметр виключно для коректної генерації тимчасових інтервалів між командами і захисних інтервалів. Не потрібно забувати, що чим нижче тактова частота, тим гірше точність запису і відтворення команд. За замовчуванням задана частота кварцового резонатора 24 МГц.

    Параметри Р6 і Р7 - довідкові, вони відображають номери програм, прив'язаних до входів 1 і 2 відповідно. У режимі "PARAMETER" вони не можуть бути змінені.

    Параметр Р8 визначає час у секундах між останнім натисканням на кнопки і виключенням дисплея.

    У процесі програмування "ЦИКЛОП" може відображати помилки. Майже всі помилки скидаються автоматично.

    Ось їх опис:

    • Е1 - помилка прийому коду.
    • Е2 - занадто довгий код.
    • ЕЗ - занадто короткий код.
    • Е5 - переповнення пам'яті.
    • Е6 - несправність пам'яті.

    У разі переповнення пам'яті пристрою необхідно виконати операцію стирання. Для цього потрібно увійти в режим "PROGRAM" і натиснути відразу всі три кнопки. На дисплеї з'являться миготливі символи у вигляді трьох горизонтальних ліній. Не відпускаючи кнопок, потрібно дочекатися появи прочерків, при цьому вся інформація в пам'яті команд і програм буде стерта. Параметри пристрою залишаються бвз зміни.

    Програмне забезпечення до мікроконтролера

    Автори: Д. Беспятых, А. Колесніков, р. Первоуральск Свердловської обл.