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

Універсальність описуваного в статті пристрою в тому, що воно здатне не тільки включити і вимкнути в заданий час чотири навантаження, але і перетворити застарілу машину AT в комп'ютер АТХ і при цьому виконувати функцію "противозависательного" кошти.

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

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

Принципова схема пристрою зображена на рис. 1. Його основа - PIC-контролер PIC16F84A-04 (DD2). Тактову частоту (4 МГц) задає кварцовий резонатор ZQ2. На елементі DD1.1 виконаний генератор імпульсів з частотою проходження 32768 Гц для відліку часу. Імпульси цього генератора надходять через буферний елемент DD1.2 на зовнішній вхід лічильника RTCC мікроконтролера. Необхідну частоту і, отже, точність ходу годинника встановлюють підрядковим конденсатором С2.

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

Транзистори 1VT1-4VT1 навантажені реле 1: 1-4К1, контакти яких включені в ланцюзі живлення навантажень, що приєднуються до розетки XS1-XS4. Світлодіоди 1HL1-4HL1 - індикатори стану навантажень.

Комп'ютер управляє пристроєм по інтерфейсу RS-232. Так як мікроконтролер PIC16F84A не має вбудованого послідовного інтерфейсу, останній реалізований програмно. Сигнали СОМ-порту використані не стандартно. По лінії DTR здійснюється синхронізація переданих даних, по лінії RTS комп'ютер передає інформацію, а по лінії CTS отримує її з контролера. Дані передаються в дуплексному режимі і доповнюються контрольними байтами для перевірки коректності інформації. Більш детально використовуваний інтерфейс описаний у статті автора "Інтерфейс PIC-контролера з ПК" ("Радіо", 2003, № 7, с. 20-22).

Ланцюги R4R7VD4 і R5R8VD5 перетворять рівні RS-232 в рівні ТТЛ для входів мікроконтролера. Рівня ТТЛ з виходу достатньо для мікроконтролера безпосереднього управління лінією RS-232, що дозволило спростити схему узгодження.

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

Після установки часу і налаштування каналів пристрій можна використовувати як автономно (при відключеному кабелі зв'язку від роз'єму XS5), так і під управлінням комп'ютера. Оскільки інтерфейс RS-232 допускає під'єднання і від'єднання кабелю при включених пристроях (hot plug), робити це можна в будь-який час.

Для безпосереднього управління каналами служать кнопки SB1-SB4. Будь утримання з них в натиснутому положенні більше 0,5 с призводить до зміни стану відповідного каналу.

Тимчасова затримка реалізована програмно і запобігає перемикання навантажень при випадковому натисканні. Порт мікроконтролера налаштований так, що його вхідні лінії RB0 - RB3 і RB5 підключені через внутрішні резистори до шини харчування.

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

Коди "прошивки" мікроконтролера наведено в табл. 1. При програмуванні потрібно встановити наступні значення біт в конфігураційному слові: тип генератора (OSC) - HS, сторожовий таймер (WDT) - вимкнений, затримка після включення живлення (FWRTE) - дозволена.

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

Зв'язок комп'ютера з таймером здійснюється через динамічно подгружаемую бібліотеки timercom.dll.

Бібліотека та опис програмного інтерфейсу (API) для роботи з нею і створення власної оболонки для роботи з пристроєм

Для установки подій і ручного управління навантаженнями служить програма TIMER. В її головному вікні (рис. 2) є три закладки. У першій з них ("Навантаження") відображається стан навантажень, яке можна змінити, прибравши або постав і в відповідаю щі й прапорець, у другій ("Події") містяться умови 16 подію, номер каналу навантаження, необхідну дію, час і день тижня, коли воно має статися. В закладці "Параметри" можна вибрати СОМ-порт, до якого підключений пристрій, і встановити прапорець, який дозволяє програмі отримувати дані від пристрої відразу після запуску. Після зміни параметрів подій або стану навантажень необхідно натиснути кнопку "Записати" для передачі нової інформації таймеру (при цьому автоматично встановлюється поточний час). Натискання кнопки "Прочитати" призводить до завантаження поточних даних пристрою.

Пристрій зібрано на друкованій платі розміщено в корпусі мережевого фільтра "Pilot". Кнопки, світлодіоди і розетка XS1 встановлені на його бічній стінці.

Трансформатор Т1 - будь-який малогабаритний з вторинною обмоткою на 12 Ст. В якості 1: 1-4К1 застосовані імпортні реле TRU-12VDC-SB-CL з робочою напругою 12 В і контактами на 5 А (опір обмотки - 400...500 Ом). Резервний джерело живлення GB1 - батарея акумуляторів або гальванічних елементів напругою 3,6...4,5 Ст. Споживаний від неї струм не перевищує 8 мА.

Підключати таймер до СОМ-порту комп'ютера можна як модемним, так і нуль-модемним кабелем. Призначення контактів роз'єму для кожного випадку наведено в табл. 2.

Автор: С. Кулешов, р. Курган