MENU
Главная » Статьи » ДИСТАНЦИОННОЕ УПРАВЛЕНИЕ IK,RF,USB

8-канальное управление устройствами по USB с помощью ATiny2313

Захаров Денис, Украина

Как известно, существует достаточное количество интерфейсов, с помощью которых микроконтроллер (МК) может общаться с внешними устройствами. Если необходимо связать МК с персональным компьютером или ноутбуком, то с уверенностью можно сказать, что лучше всего использовать интерфейс COM-порта RS-232.

Причина такого выбора очевидна – практически все контроллеры имеют аппаратные модули UART, с помощью которых можно передавать информацию при минимальном расходе ресурсов МК. Кроме того, существует множество хорошо зарекомендовавших себя программ, предназначенных для работы с COM-портом. Поскольку сигналы МК имеют уровни TTL, для согласования с интерфейсом RS-232 необходим преобразователь уровней. Часто его выполняют на основе доступной и популярной микросхемы MAX232.

8-канальное управление устройствами по USB с помощью ATiny2313
Рисунок 1.

Представленное устройство (Рисунок 1) предназначено для управления приборами с помощью любого ПК, имеющего порт USB. Современные компьютеры и ноутбуки имеют по несколько таких портов. С помощью этого комплекса можно производить управление светом, телевизором и другими приборами. Исполняющие устройства не обязательно должны находиться в непосредственной близости от ПК.

Прибор состоит из вполне доступных и распространенных элементов. Обе микросхемы – микроконтроллеры ATtiny2313 семейства AVR. Первый контроллер подключен к USB-порту компьютера и выполняет функцию конвертора форматов USB-COM. Второй подключается к первому и все время сканирует команды, которые посылаются с ПК через терминальную программу Terminal v1.9b.

Подключенный к выводу 2 USB резистор R4 переводит устройство в низкоскоростной режим LS, позволяющий при обмене данными со скоростью 1.5 Мбит/с с помощью программы выпонять расшифровку посылок от ПК.

С помощью резисторов R2 и R3 происходит устранение переходных процессов. Конденсатор С5 блокирует импульсные помехи в цепи питания. Стабилитроны D1 и D2 необходимы для согласования логических уровней МК и USB входа ПК. Для безошибочной передачи данных между контроллерами частоты кварцевых резонаторов должны быть равны 12 и 4 МГц.
К выводам /RESET следует подключить подтягивающие резисторы, чтобы в дальнейшем избежать произвольного сброса МК из-за влияния помех и статических напряжений. В данной схеме все команды отображаются на светодиодах, подключенных к порту В. Чтобы управлять какими-либо устройствами, необходимо подключать выходы контроллера к реле (Рисунок 2).

8-канальное управление устройствами по USB с помощью ATiny2313
Рисунок 2.

Собрать устройство можно на макетной плате, хотя лучше, все же, на полноценной печатной плате. Элементы можно разместить, например, так, как показано на Рисунке 3.

8-канальное управление устройствами по USB с помощью ATiny2313
Рисунок 3.

Программа для микроконтроллера U1 разработана товарищем GetChiper в среде Bascom-AVR. Для работы с шиной USB использована библиотека swusb.LBX. С ее помощью выполняется программное декодирование USB протокола в режиме реального времени. Для работы устройства с ПК, нужно установить соответствующие драйверы, скопировав их на жесткий диск. При первом подключении устройство опознается и запросит драйвер. Далее нужно указать путь к папке с файлами, и все заработает.

8-канальное управление устройствами по USB с помощью ATiny2313
Рисунок 4.

Программа микроконтроллера U2 была написана мною в среде AVRStudio на языке ассемблера. Блок-схема алгоритма работы МК представлена на Рисунке 4. Аппаратный модуль UART следует настроить на прерывание по завершению приема данных. Сам МК не будет выполнять ни одной функции, пока не наступит прерывание. Для снижения энергопотребления можно воспользоваться режимом sleep, но в данной конструкции этого делать не понадобилось. Как только из терминала ПК последуют команды, МК мгновенно перейдет к их сканированию. На данный момент контроллер поддерживает следующую систему команд:

-on1, on2, on3, on4, on5, on6, on7, on8 – команды установки портов в «лог. 1»;
-off1, off2, off3, off4, off5, off6, off7, off8 – команды установки портов в «лог. 0»;
-ser – установить все порты в активное состояние «лог. 1»;
-clr – сбросить все порты в состояние «лог.0».

После окончания ввода каждой команды необходимо нажимать Enter. Таким образом МК сможет определить конец команды и приступить к ее сканированию. На каждую верную команду контроллер будет отвечать «ok». Если ввести неверные данные, то в терминальную строку вернется «error». Пример выполнения команды показан на Рисунке 5.

8-канальное управление устройствами по USB с помощью ATiny2313
Рисунок 5.

Версия прошивки 1.0. Выставлять фьюзы необходимо в соответствии с Рисунком 6. Разрабатывается следующая версия прошивки, где будет происходить самообучение МК и изменение систем команд в терминале.

8-канальное управление устройствами по USB с помощью ATiny2313
Рисунок 6.

Программное обеспечение МК, виртуальная модель Proteus и драйвер для ПК - скачать
Протокол передачи данных между МК и ПК- скачать



Источник: http://www.rlocman.ru/shem/schematics.html?di=151044
Категория: ДИСТАНЦИОННОЕ УПРАВЛЕНИЕ IK,RF,USB | (04.03.2015)
Просмотров: 6329 | Теги: Схема, ATiny2313, 8-канальное, устройствами, прошивкаов., usb, микроконтролёр, Управление | Рейтинг: 5.1/25
Похожие материалы
Всего комментариев: 0
avatar

Copyright MyCorp © 2024    Бесплатный конструктор сайтов - uCoz                               Яндекс.Метрика