Управление устройством через usb. Управление электрическими цепями по USB. Рассмотрим два способа получения USART

Управление устройствами через USB-порт компьютера.

П. ВЫСОЧАНСКИЙ, г. Рыбница, Приднестровье, Молдавия
Устройство компьютерного управления различными приборами, схема которого показана на рис. 1, функционально подобно описанному в , но подключается к USB-порту компьютера, который (в отличие от СОМ-порта) сегодня есть в каждом из них. Единственная микросхема устройства - распространенный микроконтроллер ATmega8. Он необходим для организации связи по шине USB. Хотя в нем и отсутствует специализированный аппаратный модуль, эта функция выполняется программно.

Резистор R1, подключенный между положительным выводом источника питания и линией D-шины USB, переводит ее в низкоскоростной режим LS со скоростью обмена 1,5 Мбит/с, что и позволяет расшифровывать посыпки компьютера программным способом. Резисторы R4 и В5 устраняют переходные процессы, возникающие при обмене информацией, что увеличивает стабильность работы. Конденсатор С1 блокирует импульсные помехи в цепи питания, что также улучшает стабильность работы устройства. Диоды VD1 и VD2 служат для понижения напряжения питания микроконтроллера приблизительно до 3,6 В - это требуетсядля согласования уровнен с шиной USB.
Сигналы управления приборами формируются на выходах РВ0-РВ5 и РСО, РС1 микроконтроллера. Высокий логический уровень - напряжение около 3,4 В.
Напряжение низкого уровня близко к нулю. К выходам можно подключать приборы, потребляющие ток не более 10 мА (от каждого выхода). Если требуются большие значения тока или напряжения, то следует использовать узлы согласования, показанные в на рис. 5 и 6. Устройство собрано на макетной плате, печатная не разрабатывалась Применены резисторы МЛТ, конденсаторы С2 и СЗ - керамические высокочастотные, С1 - К50-35 или аналогичный импортный. Диоды кремниевые с падением напряжения на переходе около 0,7 В. Программа для микроконтроллера разработана в среде Bascom-AVR версии 1.12.0.0. Для работы с шиной USB использована библиотека swusb.LBX, которая выполняет программное декодирование сигналов USB в режиме реального времени. Полученный в результате компиляции код программы из файла с расширением HEX следует загрузить во FLASH-память микроконтроллера. Для этого был использован программатор совместно со встроенной в Bascom-AVR утилитой. Состояние разрядов конфигурации микроконтроллера должно соответствовать показанному на рис.2


При первом подключении устройства к компьютеру операционная система обнаружит новое USB HID совместимое устройство с именем "uniUSB" и установит необходимые драйверы. Через несколько секунд устройство настроено и готово к использованию. Для работы с ним была создана программа UniUSB. Она представлена в двух вариантах: для 32-разрядных (х86) и 64-разрядных (х64) операционных систем семейства Windows. Работа 32-разрядной версии проверена в операционных: Windows 98, Windows XP, Windows 7, а 64-разрядной - только в Windows XP х64. Программа UniUSB написана иа языке PureBasic (версия 4.31) с использованием библиотеки пользовательских функций HID Lib, поддерживающей работу с USB HID устройствами. Внешний вид окна программы показан на Рис.3


В одной папке с ее исполняемым файлом должен находиться файл, называющийся UniUSB_код.txt или UniCOM_код.txt. Последний вариант необходим для совместимости с программой UniCOM, предложенной в . В этом файле хранится сценарий управления внешними приборами. При запуске программы данные из файла загружаются в таблицу, расположенную в главном окне, а при завершении работы сохраняются в файле. Щелчок левой кнопкой мыши по ячейкам таблицы позволяет изменять их состояние: 1 - высокий логический уровень, 0 или пусто - низкий логический уровень. Для добавления или удаления столбца таблицы нужно по ней щелкнуть правой кнопкой мыши и в появившемся меню выбрать требуемое действие. При подключении устройства к USB-порту программа обнаружит его и активирует кнопку, расположенную в верхней части окна на панели инструментов. Нажатием на эту кнопку запускают процесс перебора столбцов таблицы и установки указанных в них состояний выходов. Для большей наглядности слева от таблицы подсвечиваются номера выходов, на которых в данный момент установлен высокий логический уровень. Скорость перебора (время в миллисекундах между переходами от столбца к столбцу) задают в поле "Скорость, мс". Учтите, операционная система Windows -- многозадачная! Это означает, что процессорное время делится между множеством иногда скрытых от пользователя процессов, которые выполняются по очереди с учетом установленных в системе приоритетов. По этому не стоит ожидать большой точности выдерживания интервалов времени менее 100 мс.
Для кратковременной остановки перебора столбцов используйте кнопку, Повторное нажатие на нее продолжит перебор с места остановки. Кнопка полностью прекращает перебор столбцов таблицы. Если в процессе обмена информацией между компьютером и устройством произойдет сбой либо устройство будет отключено от разъема USB компьютера, программа сообщит об ошибке, выведя в строке состояния соответствующее сообщение.

ЛИТЕРАТУРА

1. Носов Т. Управление приборами через СОМ-порт компьютера - Радио, 2007, № 11,с.61,62.
2. Рыжков A. US-программатор микроконтроллеров AVR и AT89S, совместимый с AVR910. - Радио, 2008, № 7, с. 28, 29.

По материалам журнала "Радио 2`2011"
Скачать прошивку микроконтроллера и программу для PC можно

Устройство компьютерного управления различными приборами, схема которого показана на рис. 1, подключается к USB-порту компьютера, который сегодня есть в каждом из них. Единственная микросхема устройства - распространенный микроконтроллер ATmega8 . Он необходим для организации связи по шине USB . Хотя в нем и отсутствует специализированный аппаратный модуль, эта функция выполняется программно.

Рисунок 1

Резистор R1, подключенный между положительным выводом источника питания и линией D-шины USB, переводит ее в низкоскоростной режим LS со скоростью обмена 1,5 Мбит/с, что и позволяет расшифровывать посылки компьютера программным способом. Резисторы R4 и R5 устраняют переходные процессы, возникающие при обмене информацией, что увеличивает стабильность работы. Конденсатор С1 блокирует импульсные помехи в цепи питания, что также улучшает стабильность работы устройства Диоды VD1 и VD2 служат для понижения напряжения питания микроконтроллера приблизительно до 3,6 В - это требуется для согласования уровней с шиной USB.

Сигналы управления приборами формируются на выходах РВ0-РВ5 и РС0, РС1 микроконтроллера. Высокий логический уровень - напряжение около 3,4 В. Напряжение низкого уровня близко к нулю. К выходам можно подключать приборы, потребляющие ток не более 10 мА (от каждого выхода). Если требуются большие значения тока или напряжения, то следует использовать узлы согласования.

Устройство собрано на макетной плате, печатная не разрабатывалась Применены резисторы МЛТ, конденсаторы С2 и СЗ - керамические высокочастотные, С1 - К50-35 или аналогичный импортный. Диоды кремниевые с падением напряжения на переходе около 0,7 В.

Программа для микроконтроллера разработана в среде Bascom-AVR версии 1.12.0.0. Для работы с шиной USB использована библиотека swusb.LBX , которая выполняет программное декодирование сигналов USB в режиме реального времени. Полученный в результате компиляции код программы из файла с расширением HEX следует загрузить во FLASH-память микроконтроллера. Состояние разрядов конфигурации микроконтроллера должно соответствовать показанному на рис. 2.

Рисунок 2

При первом подключении устройства к компьютеру операционная система обнаружит новое USB НID совместимое устройство с именем "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.

Рисунок 3

В одной папке с ее исполняемым файлом должен находиться файл, называющийся UniUSB_KOfl.txt . В этом файле хранится сценарий управления внешними приборами. При запуске программы данные из файла загружаются в таблицу, расположенную в главном окне, а при завершении работы сохраняются в файле. Щелчок левой кнопкой мыши по ячейкам таблицы позволяет изменять их состояние: 1 - высокий логический уровень, 0 или пусто - низкий логический уровень.

Для добавления или удаления столбца таблицы нужно по ней щелкнуть правой кнопкой мыши и в появившемся меню выбрать требуемое действие. При подключении устройства к USB-порту программа обнаружит его и активирует кнопку "Пуск" , расположенную в верхней части окна на панели инструментов. Нажатием на эту кнопку запускают процесс перебора столбцов таблицы и установки указанных в них состояний выходов. Для большей наглядности слева от таблицы подсвечиваются номера выходов, на которых в данный момент установлен высокий логический уровень. Скорость перебора (время в миллисекундах между переходами от столбца к столбцу) задают в поле "Скорость, мс".

Учтите, операционная система Windows - многозадачная! Это означает, что процессорное время делится между множеством иногда скрытых от пользователя процессов, которые выполняются по очереди с учетом установленных в системе приоритетов. Поэтому не стоит ожидать большой точности выдерживания интервалов времени менее 100 мс.

Для кратковременной остановки перебора столбцов используйте кнопку "Пауза". Повторное нажатие на нее продолжит перебор с места остановки. Кнопка "Стоп" полностью прекращает перебор столбцов таблицы. Если в процессе обмена информацией между компьютером и устройством произойдет сбой либо устройство будет отключено от разъема USB компьютера, программа сообщит об ошибке, выведя в строке состояния соответствующее сообщение.

Утилита для контроля над подключенными и отображения ранее используемых USB-устройств. USBDeview покажет детальную информацию о каждом составном устройстве. Позволит управлять активными USB-портами и диагностировать скорость передачи данных.

USBDeview обзор

Программа выводит сведения для каждого USB-устройства с возможностью его протестировать:

  • Название устройства
  • Описание
  • Тип устройства
  • Серийный номер (для устройств хранения данных)
  • Дата и время добавления устройства
  • VendorID, ProductID и многое другое

Полное управление над подключенным через порт USB оборудованием:

  • Удалить из системы, ранее используемые USB-устройства
  • Отсоединить, подключенное в данный момент устройство
  • Отключение и включение USB-устройств

USBDeview включает в себя несколько полезных инструментов. Например Speed Test for USB Flash Drives , который проводит диагностику скорости чтения – записи подключенного флэш-накопителя. Имейте в виду вам нужно, минимум 100 Мб свободного дискового пространства для того, чтобы успешно сделать этот тест скорости.

С помощью USBDeview, вы можете управлять свойствами автозапуска для USB-устройств хранения данных. Есть возможность работы на удаленном компьютере, но для этого необходимо войти в систему с правами администратора.

– Игорь (Администратор)

Сегодня, многие пользователи имеют далеко не одно USB устройство. На самом деле, подключение через USB стало практически универсальным способом. Большинство, наверно, уже даже забыло о существовании таких портов/разъемов, как LPT и COM. Например, достаточно большая часть периферийных устройств (принтер и т.д.) подключаются только через USB.

Программа менеджер USBDeview для управления USB устройствами

Если у вас много различных usb устройств, и вы ими активно пользуетесь, то, скорее всего, вы сталкивались с проблемами и ограниченностью стандартного менеджера usb устройств Windows. Для более эффективного управления подключениями, существует специальная утилита под названием USBDeview от NirSoft (ссылка на скачивание).

Примечание : Ограниченность стандартного менеджера устройств Windows вполне обоснована. Так как этой функциональностью пользуются как опытные, так и самые начинающие пользователи.

Примечание : На странице разработчика достаточно много информации. Сами ссылки на скачивание находятся в самом низу.

Утилита является портативной и может выполняться где угодно. Исполняемый файл весит порядке 170 КБ и поставляется как для 32-разрядных, так и для 64-разрядных версий Windows. Для такой небольшой программы, она имеет удивительно большое количество полезных функций.

Примечание : Полностью обо всех ее возможностях вы можете узнать на сайте разработчика. В данной статье речь пойдет лишь о некоторых наиболее используемых из них.

Как вы, наверное, заметили, на картинке представлена часть доступных функций. Подключение, отключение, удаление, открытие, проверка скорости, смена буквы и многое другое.

Полезные функции программы USBDeview

По различным причинам, реестр Windows хранит записи обо всех usb устройствах, когда либо подключенных к операционной системе. USBDeview покажет вам всю информацию обо всех устройствах, для которых сохранились записи в реестре. При необходимости, вы сможете подправить нужную информацию в реестре (утилита позволяет сразу открыть ключ реестра с информацией об usb устройстве).

Примечание : Хранение информации об устройствах используется, как минимум, по нескольким причинам. Во-первых, повторное подключение устройства будет происходить быстрее. Во-вторых, для устройств, требующих установки нестандартных драйверов, это жизненно необходимая функция. Иначе бы приходилось каждый раз устанавливать драйвера заново. В-третьих, устройствам могут присваиваться буквы диска. И чтобы ограничить риск возникновения проблем с одинаковыми буквами, имеет смысл присваивать каждому устройству уникальную букву.

Несмотря на стандарты, применяемые к определению скорости чтения и записи для каждой версии протокола обмена для USB, на каждом устройстве эта скорость может быть разной. USBDeview позволяет проводить простой тест, используя один большой файл для записи и чтения. Конечно, более корректным тестированием было бы копирование и чтение различных групп файлов с разными размерами, но, тем не менее, даже этот тест позволяет оценить примерную скорость.

Утилита так же позволяет сменить букву диска. Конечно, существуют и другие способы, но в данном случае вы сможете это сделать всего в пару щелчков мыши.

В целом, USBDeview представляет собой отличный менеджер USB устройств.

Не только любой программист, но и всякий достаточно опытный пользователь знает, что на компьютер можно переложить множество рутинной работы или, например, заставить его сделать что-то за вас, когда вы в отпуске. Так, компьютер вполне справится с односложными ответами на письма по электронной почте (дескать, письмо получил, подробно отвечу позже). А может ли компьютер, например, накормить вашего кота? Полить ваши цветы? В конце концов, просто каждый вечер включать и выключать свет в вашей квартире, чтобы создать впечатление, что вы дома?

В голливудских фильмах мы часто видим домашнюю автоматизацию такого рода, которая обычно прилагается к герою фильма — учёному или изобретателю, как правило, слегка сумасшедшему, вроде Дока Брауна из «Назад в будущее». Ходят легенды о фидошниках, привязывавших электрические вилки к печатающим головкам матричных принтеров, чтобы можно было выключить свой компьютер дистанционно. Для нажатия на треклятую кнопку использовали даже выдвигающийся лоток CD-привода. Но можно ли сделать это как-то более, скажем так, штатно ? Разумеется, существует множество решений промышленного класса для такого рода задач. Компьютеры управляют станками, подъемными кранами, целыми электростанциями, и это, в принципе, никого не удивляет. Более того, с включением и выключением света в комнате компьютеры тоже справляются, это даже получило своё название — «умный дом» , проблема лишь в том, что промышленные компьютеры не продаются в магазинах, а там, где продаются, стоят очень дорого, ну а компоненты «умного дома» — это обычно специализированные компьютеры, не предполагающие перепрограммирование со стороны конечного пользователя. Попросту говоря, они делают то, что предусмотрел производитель, но это не всегда именно то, чего хотелось бы вам.

Наши устройства призваны заполнить нишу, которую почему-то в упор не замечают производители компьютерной периферии: дать возможность пользователю обычного домашнего компьютера управлять с его помощью чем-то более материальным, нежели письма по электронной почте. Если говорить точнее, с использованием наших устройств вы сможете заставить свой компьютер управлять любыми устройствами, в которых течёт электрический ток. Все устройства, предлагаемые нами в настоящий момент, подключаются к компьютеру через порт USB (в некоторых случаях можно также использовать классический COM-порт, но где его нынче взять). Большинство моделей наших устройств имеют встроенные электромагнитные реле ; предельная коммутируемая мощность этих реле невелика, всего 300 Вт, но этого вполне достаточно для управления настольной лампой или вентилятором, для включения и выключения активного сетевого оборудования (роутеров, свичей, точек доступа и прочего в таком духе), а также и для большинства не слишком навороченных компьютеров. Если требуется бОльшая мощность нагрузки, необходимо использовать внешние реле, например, любые силовые реле с напряжением питания 12 или 24 В, которые вы можете также заказать у нас или подобрать самостоятельно; мощности большинства доступных на рынке реле вполне хватит для управления отопительными приборами, чайниками, насосами и другими мощными потребителями электричества. Некоторые из наших устройств исходно расчитаны на подключение таких реле, к другим внешние реле можно подключить через цепи, управляемые встроенными реле.

Кроме управления электрической нагрузкой, наши устройства умеют реагировать на внешние «раздражители»— входные линии (сигнальные цепи) , в роли которых выступают обыкновенные электрические провода, которые могут быть замкнуты или разомкнуты. Об изменении статуса входной линии устройство оповещает управляющий компьютер, и, кроме того, может среагировать на такое изменение самостоятельно, включив или выключив те или иные управляемые цепи, что позволяет в некоторых случаях обойтись без управляющего компьютера (например, включать и выключать в комнате свет, когда управляющий компьютер не работает).

Естественно, со стороны компьютера требуется управляющее программное обеспечение. Для пользователей, имеющих навыки программирования, мы предлагаем (бесплатно) ряд программ в исходных текстах, включая библиотеки функций для обращения к нашим устройствам; если же самостоятельное написание программного обеспечения со стороны хоста в ваши планы не входит, мы можем предложить управляющие программы в виде статически собранных (то есть не требующих инсталляции ) исполняемых файлов для Linux и Windows. Поскольку наши устройства поддерживают стандарт HID, никакие драйверы для них не требуются — точнее, нужный драйвер в вашей системе уже есть. Отметим, что прошивки наших устройств также доступны в виде исходных текстов, и при помощи программатора (подходящий программатор мы, опять-таки, можем предложить приобрести у нас или подобрать самостоятельно) вы можете изменить поведение нашего устройства, адаптировав его под свои потребности. Как прошивки, так и хостовое программное обеспечение мы распространяем свободно на условиях лицензии GNU GPL v.3.

Сразу отметим, что ориентируемся мы в основном на любителей техники — людей, которые дружат как минимум с отвёрткой (хотя без паяльника вы вполне сможете обойтись; всё, что надо, мы уже спаяли). Впрочем, ограниченным тиражом мы выпускаем устройство, для использования которого не потребуется даже отвёртки — оно представляет собой удлинитель с пятью розетками и встроенным устройством UNC, позволяющим управлять четырьмя розетками из пяти (последняя розетка всегда включена; её можно использовать, например, для питания управляющего компьютера). Наиболее очевидное применение этого варианта устройства — управление всем, что стоит вокруг вашего компьютерного стола: например, вы можете комбинацией клавиш на клавиатуре заставить зажечься или погаснуть свою настольную лампу, включить и выключить вентилятор, колонки, модем и всё прочее, что оказалось в радиусе длины шнура питания от вашего компьютера и имеет мощность питания, не превосходящую 300 Вт. Такое устройство, однако, представляет собой скорее игрушку, нежели что-то иное; оно идеально подходит в качестве оригинального подарка для техногика, но в полной мере возможности наших устройств раскрываются при самостоятельном монтаже управляемых цепей (напомним, для этого потребуется только отвёртка, ну и нож для зачистки проводов). Здесь ваши возможности практически ограничены только вашей фантазией. Наше устройство может быть включено вместо выключателя света в комнате, оно может управлять освещением и вентиляцией аквариума, электромагнитный дверной замок (точнее, только сам электромагнит от него, без дорогостоящего управляющего модуля) позволит заставить ваш компьютер поработать швейцаром, шаговый мотор откроет и закроет форточку, а электромагнитный водяной клапан от стиральной машины позволит автоматизировать полив комнатных цветов (здесь мы надеемся на ваш здравый смысл: компьютеры иногда ломаются, следует предусмотреть защиту от потопа на случай, если ваша система будет работать не так, как вы ожидали — например, разумно было бы брать воду для полива не из водопровода, а из ёмкости, имеющей ограниченный объём).

Ключевые слова/keywords: бюджетный умный дом, умный дом своими руками, компьютерное управление электропитанием, компьютерное управление электричеством, домашняя автоматизация, включение питания по USB, компьютерное управление светом в комнате, управление освещением, контроллер света, управление светом по USB