Вход

   Звукотехника

   Источники питания

   Измерительная техника

   Автолюбителям

   Радио-начинающим

   Электроника в быту

   Радио и связь

   Примочки для ПК

   Шпионские штучки

   Микроконтроллеры

   Об Arduino

   Проекты на Arduino

   Учебники и статьи

   Софт для Arduino

   ЛИТЕРАТУРА

     Справочники

     Начинающим

     Книги

   СОФТ

     Полезный софт

   ЖУРНАЛЫ

     Радио

     Радиоаматор

   ДОКУМЕНТАЦИЯ

     Справочный листок

Главная » Статьи » СХЕМЫ » Примочки для компьютера

Управление приборами через USB-порт компьютера на ATmega8

Устройство компьютерного управления различными приборами, схема которого показана на рис. 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





Источник: Радио. №2. 2011 | Категория: Примочки для компьютера | Добавлен: 04.04.2011 | Автор: П. ВЫСОЧАНСКИЙ | Просмотров: 7649

Проверка тИЦ и PR
Яндекс.Метрика

РадиоГИД © 2010-2016 Обратная связь Сайты-партнеры
Бесплатный хостинг uCoz