Пристрій комп’ютерного управліннярізними приладами, схема якого показана на рис. 1, функціо-нально подібноописаному в [1], але підключається до USB-порту комп’ютера, який (на відмінувід СОМ-порту) сьогодні є в кожному з них. Єдина мікросхема пристрої- Поширений мікроконтролер ATmega8. Він необхідний для організаціїзв’язку по шині USB. Хоча в ньому і відсутня спеціалізований апаратниймодуль, ця функція виконується програмно. Резистор R1, підключений міжпозитивним виводом джерела живлення і лінією D-шини USB, переводить її в низькошвидкіснийрежим LS зі швидкістю обміну 1,5 Мбіт / с, що і дозволяє розшифровувати посилкикомп’ютера програмним способом. Резистори R4 і R5 усувають перехідніпроцеси, що виникають при обміні інформацією, що збільшує стабільність роботи.Конденсатор С1 блокує імпульсні перешкоди в ланцюзі харчування, що також покращуєстабільність роботи пристрою. Діоди VD1 і VD2 служать для пониження напругиживлення мікроконтролера приблизно до 3,6 В – це потрібно дляузгодження рівнів з шиною USB. Сигнали керування приладами формуються навиходах РВ0-РВ5 і РС0, РС1 мікроконтролера. Високий логічний рівень -напруга близько 3,4 В. Напруга низького рівня близько до нуля. До виходівможна підключати прилади, які споживають струм не більше 10 мА (від кожного виходу).Якщо потрібні великі значення струму чи напруги, то слід використовувати вузлиузгодження, показані в [1] на мал. 5 і 6.

Пристрій зібрано на макетної платі,друкована не розроблялася. Застосовані резистори МЛТ, конденсатори С2 і С3 -керамічні високочастотні, С1 – К50-35 або аналогічний імпортний. Діодикремнієві з падінням напруги на переході близько 0,7 В. Програма для мікроконтролерарозроблена в середовищі Bascom-AVR версії 1.12.0.0. Для роботи з шиною USBвикористана бібліотека swusb.LBX, яка виконує програмне декодування сигналівUSB в режимі реального часу. Отриманий в результаті компіляції код програмиз файлу з розширенням HEX слід завантажити у FLASH-пам’ять мікроконтролера.Для цього був використаний програматор [2] спільно з вбудованою в Bascom-AVRутилітою. Стан розрядів конфігурації мікроконтролера повинна відповідатипоказаному на рис. 2. При першому підключенні пристрою до комп’ютера операційнасистема виявить новий USB HID сумісний пристрій з ім’ям”UniUSB” і встановить необхідні драйвери. Через кілька се-кундпристрій налаштовано і готове до використання.

Для роботи з ним була створена програмаUniUSB. Вона представлена ​​у двох варіантах: для 32-розрядних (х86) і 64-розрядних(Х64) операційних систем сімейства Windows. Робота 32-розрядної версії перевіренав операційних системах Windows 98, Windows ХР, Windows 7, а 64-розрядної -тільки в Windows ХР х64. Програма UniUSB написана на мові PureBasic (версія4.31) з використанням бібліотеки користувальницьких функцій HID_lib,що підтримує роботу з USB HID пристроями. Зовнішній вигляд вікна програмипоказаний на рис. 3. В одній папці з її виконуваним файлом повинен знаходитисяфайл, який називається UniUSB_Код.txt або UniCOM_Код.txt. Останній варіант необхіднийдля сумісності з програмою UniCOM, запропонованої в [1]. У цьому файлізберігається сценарій управління зовнішніми приладами. При запуску програми даніз файлу завантажуються в таблицю, розташовану в головному вікні, а при завершенніроботи зберігаються у файлі. Клацання лівою кнопкою миші по комірках таблиці дозволяєзмінювати їх стан: 1 – високий логічний рівень, 0 або пусто – низькийлогічний рівень. Для додавання або видалення стовпця таблиці потрібно по нійклацнути правою кнопкою миші і в меню вибрати потрібну дію.

При підключенні пристрою до USB-портупрограма знайде його і активує кнопку, розташовану у верхній частинівікна на панелі інструментів. Натисканням на цю кнопку запускають процесперебору стовпців таблиці і встановлення вказаних в них станів виходів. Длябільшої наочності зліва від таблиці підсвічуються номери виходів, наяких в даний момент встановлено високий логічний рівень. Швидкістьперебору (час в мілісекундах між переходами від стовпця до стовпця) задаютьв полі “Швидкість, мс”.

Врахуйте, операційна система Windows- Багатозадачна! Це означає, що процесорний час ділиться між безліччюіноді прихованих від користувача процесів, які виконуються по черзі зурахуванням встановлених в системі пріоритетів. Тому не варто очікувати великоїточності витримування інтервалів часу менше 100 мс. Для короткочасноїзупинки перебору стовпців використовуйте кнопку Повторне натискання на неїпродовжить перебір з місця зупинки. Кнопка повністю припиняє перебір стовпцівтаблиці. Якщо в процесі обміну інформацією між комп’ютером і пристроємвідбудеться збій або пристрій буде відключено від роз’єму USB комп’ютера,програма повідомить про помилку, вивівши в рядку стану відповіднеповідомлення.

ЛІТЕРАТУРА

1. Носов Т. Управління приладамичерез СОМ-порт комп’ютера. – Радіо, 2007, № 11,0.61,62.

2. Рижков А. US-програматормікроконтролерів AVR і AT89S, сумісний з AVR910. – Радіо, 2008, № 7, с.
28, 29.

Від редакції. Програми для мікроконтролера і комп’ютера знаходятьсяна нашому FTP-сервері за адресою ftp:// ftp.radio.ru/pub/2011/02/uniUSB.zip