Управление устройствами через usb
За основу схемы взяты сдвиговые регистры 74hc595 которые управляются микроконтроллером PIC18F252. Выхода схемы логические, т.е. лог "1" или лог. "0". Они маломощ ные, по этому для управления какими нибудь устройствами нужны усилители (ключи). Не забывайте про гальваническую развязку управляемых устройств со схемой ! Контроллер управляется по протоколу USART непосредственно с компьютера. Способы реализации протокола рассмотрены ниже.
Рассмотрим два способа получения USART.
1-ый, самый простой способ:
Это преобразователь уровня RS232 в USART. Схема которого приведена ниже.
Думаю здесь рассказывать нечего. 7,8 выводы подключаются к СОМ порту компьютера, а 9,10 к основной схеме устройства.
2-ой способ: Преобразователь USB - COM
Практически на всех новых компьютерах нет последовательного COM порта, а большая часть старой техники, работает именно через этот интерфейс, так называемый RS232. На новых компьютерах появилась последовательная шина USB, но протокол обмена данными через USB сложнее, чем по RS232.
Благодаря разработкам английской компании FTDI (Future Technology Devices International) появилась возможность преобразовать USB в "виртуальный" последовательный порт, обмен данными с которым ведут привычными хорошо известными методами.
Это преобразователь интерфейсов USB to COM предназначен для подключения к USB шине модема, сканера, различную измерительную аппаратуру, т.е. фактически любое устройство, ранее использовавшее интерфейс RS-232. Причем пользователю не требуется никаких знаний об устройстве и работе USB. Поставляемые компанией FTDI программные драйверы создают впечатление, что обмен идет через обычный COM порт. Разумеется, это справедливо только в том случае, если программное обеспечение использует COM порт в стандартном режиме.
Принципиальная схема преобразователя интерфейса показана на рисунке. Его основа - микросхема DD1 FT232BM включена по стандартной схеме, рекомендованной изготовителем.
Микросхему ЭСППЗУ DD2 AT93C46 можно не устанавливать. В ней хранятся идентификаторы изготовителя (VID) и персональный (PID), заводской номер изделия и другие данные. Это необходимо, если по USB с компьютером одновременно связаны несколько устройств на микросхемах FT232BM. Особенно важен серийный номер, так как программный драйвер полагается на его уникальность, ассоциируя тот или иной виртуальный COM-порт с конкретным устройством. Если ПЗУ отсутствует, к компьютеру можно подключить только одно образующее виртуальный COM порт устройство. Вместо AT93С46 можно использовать AT93C56 или AT93C66. Программируется ПЗУ непосредственно в устройстве с помощью специальной утилиты, поставляемой FTDI.
Я немножко подукоротил схемку и сделал вот так. Питание сделал от общей схемы устройства.
Выводы RX и TX к основной схеме устройства. Драйвер к этой МС можно скачать на оф. сайте под конкретную ОС.
Работа устройства представляет из себя двухстороннюю связь с ПК на скорости 115200 Кбит/сек. с проверкой контрольной суммы команды. Т.е. исключены ошибочная передача данных. При запуске программы происходит опрос наличия подключенного устройства и если оно обнаружено или утеряно в процессе, программа даст знать.
Управляется это устройство, специально мною написаной, программой и лежит в архиве. В принципе программа как бы демонстрационная, может только управлять выводами. Так что за индивидуальной программой, для конкретного случая, обращайтесь.
В архиве лежит программа для ПК и демо прошивка для МК устройства. Прошивка на PIC18F252 для конкретного ПК оригинальна, для её получения , пишите мне. Демо прошивка работает 10 минут, затем МК надо заново перепрошивать.
Сборка электрощитов, автоматика и автоматизация для квартир и частных домов. Программы для ПЛК. Сценический свет (световые шоу, настройка оборудования). Консультации, мастер-классы.
Щит с автоматикой IPM для коттеджа (Поварово)
Автоматика моего санузла на логическом реле ABB CL
Щиты TwinLine в Долгопрудный (таунхаус) и Солнечногорск
Щит для котельной на базе сенсорного ПЛК ОВЕН (Папушево)
Щиты с IPM (сеть, генератор, UPS) в Ядромино и Победа-2
Щит в ЖК Монэ на ПЛК ОВЕН со сценарным управлением светом
Силовой щит в Весёлово (Тула): Простой трёхфазный
Щит для квартиры в Митино на ПЛК ОВЕН (свет, отопление)
Управление силовыми нагрузками по USB (на Ke-USB24A)
Девайс на рабочем месте
UPD: Добавлена схема устройства и исходники программы.
Часть 1. Тестовая сборка.
Производитель пишет столько всего вкусного про модуль, например вот, кратко:
Довольный я вернулся домой и первым делом всячески обфоткал модуль со всех сторон.
Модуль Ke-USB24A, вид сверху
Заодно заскочил в КВАРЦ, где купил макетку, всяких моих любимых фенечек вроде разъёмов, клеммников на плату и реле.
Модуль Ke-USB24A, вид снизу
PDFник с документацией на сайте вполне адекватный, выводы расписаны нормально и понятно, чего куда.
Установка модуля на разъёмы
Транзисторы КТ315 79го года выпуска
На плату поставил нормальный разъём, чтобы не городить скрутки из проводков, заодно напаял клеммников (синенькие) под силовые выходы реле.
Разъёмы под модуль и клеммники под сеть 220
Выходные реле и клеммники под винт
Купил себе два десятка про запас, на три выхода: всегда можно подключить 220 как L, PE, N или как L, N, оставив середину пустой. Офигенная штука!
Для пайки использовал какое-то советское подобие паяльной станции и понижающий трансформатор на 36V (у меня от него питается обычный низковольный паяльник на 36).
Вначале получалось красиво, а потом плата стала обрастать снизу кучей проводочков и выглядеть, как ёжик.
Готовая плата с реле
Итак, тем временем плата была готова, спаяно 4 выходных канала, и сами реле напрямую были выведены на клеммники (я взял реле с одной переключающей группой, катушка на 5V).
Подключение блока питания и USB-шнурка для теста
Всё было подключено, и для теста заведена обычная лампочка 220V 100W.
К включению готовы!
Даём команду с терминала, реле щёлкает, лампочка включается.
Выдаём команду (кусок терминала)
Итого, что можно отметить:
Плата была собрана, потестена, и заброшена до осени: в окно светило солнце, и никакие подсветки были не нужны ;)
Часть 2. Готовый девайс.
Окраска корпуса на лестнице
Окрашенный корпус, вышло неплохо!
Заготовка для монтажа выходных розеток
Установленные выходные розетки
Последние фотки платы перед установкой в корпус девайса.
Внешний вид итогового монтажа реле и USB-модуля
Сзади вышел трэш-монтаж.
Кошмарный монтаж соединений на макетной плате
Не буду больше макетки использовать. Или буду использовать в разумных пределах.
Блок питания от зарядника
Конечно же, надо сделать светодиоды, которые индицируют включение реле нагрузок и питание. А ещё красивый красненький выключатель питания (именно такие модели выключателей я тоже люблю за то, что светятся и за то, что рвут два провода сети одновременно).
Монтаж светодиодов цветным кабелем
Вид монтажа спереди
Цветной кабель удобен тем, что не надо постоянно считать жилки, когда что-то отлаживаешь и разбираешься в сигналах, или куда тыкать тестер.
Итак, вот что получилось в итоге.
Плата USB-модуля, установленная на своё место
Макетка прикрепелена к корпусу (опять на втулках), в неё воткнут USB-модуль, справа торчит блок питания, выключатель и светодиоды. Сзади (по компоновке) торчат розетки питания.
Выключатель сети 220 и блок питания
А вот что получилось перед закрытием корпуса.
Готовый монтаж схемы
Проводка 220, конечно жесть, и мне за неё стыдно.
Трэшовое подключение выходных розеток
Девайс вид спереди
Всё это было запихнуто в коробку, утрамбовано, включено и поставлено под цветок у окна, где и стоит до сих пор, работая по полсуток, а то и больше.
Вид подключений сзади
Схема и программа управления
Простейшая схема блока управления нагрузками 220 на Ke-USB24A
Программу управления модулем (исходники и EXEшник) можно скачать по этой ссылке (
22 кБ). Поставляется As IS. Или Ass IS ;)
Выводы
UPD: Вышла новая версия модуля с возможностью определения состояния пинов (включён или нет)!
Послесловие
Устройство компьютерного управления различными приборами, схема которого показана на рис. 1, функционально подобно описанному в [1], но подключается к USB-порту компьютера, который (в отличие от СОМ-порта) сегодня есть в каждом из них. Единственная микросхема устройства — распространенный микроконтроллер ATmega8. Он необходим для организации связи по шине USB. Хотя в нем и отсутствует специализированный аппаратный модуль, эта функция выполняется программно.
Резистор R1, подключенный между положительным выводом источника питания и линией D-шины USB, переводит ее в низкоскоростной режим LS со скоростью обмена 1,5 Мбит/с, что и позволяет расшифровывать посылки компьютера программным способом. Резисторы R4 и R5 устраняют переходные процессы, возникающие при обмене информацией, что увеличивает стабильность работы. Конденсатор С1 блокирует импульсные помехи в цепи питания, что также улучшает стабильность работы устройства Диоды VD1 и VD2 служат для понижения напряжения питания микроконтроллера приблизительно до 3,6 В — это требуется для согласования уровней с шиной USB.
Сигналы управления приборами формируются на выходах РВО—РВ5 и РСО, РС1 микроконтроллера. Высокий логический уровень — напряжение около 3,4 В. Напряжение низкого уровня близко к нулю. К выходам можно подключать приборы, потребляющие ток не более 10 мА (от каждого выхода). Если требуются большие значения тока или напряжения, то следует использовать узлы согласования, показанные в [1] на рис. 5 и 6.
Устройство собрано на макетной плате, печатная не разрабатывалась. Применены резисторы МЯТ, конденсаторы С2 и СЗ — керамические высокочастотные, С1 — К50-35 или аналогичный импортный. Диоды кремниевые с падением напряжения на переходе около 0,7 В.
Программа для микроконтроллера разработана в среде Bascom-AVR версии 1.12.0.0. Для работы с шиной USB использована библиотека swusb.LBX, которая выполняет программное декодирование сигналов USB в режиме реального времени. Полученный в результате компиляции код программы из файла с расширением HEX следует загрузить во FLASH-память микроконтроллера. Для этого был использован программатор [2] совместно со встроенной в Bascom-AVR утилитой. Состояние разрядов конфигурации микроконтроллера должно соответствовать показанному на рис. 2.
При первом подключении устройства к компьютеру операционная система обнаружит новое USB НЮ совместимое устройство с именем "uniUSB" и установит необходимые драйверы. Через несколько секунд устройство настроено и готово к использованию. Для работы с ним была создана программа UniUSB. Она представлена в двух вариантах: для 32-разрядных (х86) и 64-разрядных (х64) операционных систем семейства Windows. Работа 32-разрядной версии проверена в операционных системах Windows 98, Windows ХР, Windows 7, а 64-разрядной — только в Windows ХР х64.
Программа UniUSB написана на языке PureBasic (версия 4.31) с использованием библиотеки пользовательских функций HID_Lib, поддерживающей работу с USB НЮ устройствами. Внешний вид окна программы показан на рис. 3.
В одной папке с ее исполняемым файлом должен находиться файл, называющийся UniUSB_KOfl.txt или UniCOM_KOfl.txt. Последний вариант необходим для совместимости с программой UniCOM, предложенной в [1]. В этом файле хранится сценарий управления внешними приборами. При запуске программы данные из файла загружаются в таблицу, расположенную в главном окне, а при завершении работы сохраняются в файле. Щелчок левой кнопкой мыши по ячейкам таблицы позволяет изменять их состояние: 1 — высокий логический уровень, 0 или пусто — низкий логический уровень.
Для добавления или удаления столбца таблицы нужно по ней щелкнуть правой кнопкой мыши и в появившемся меню выбрать требуемое действие.
При подключении устройства к USB-порту программа обнаружит его и активирует кнопку , расположенную в верхней части окна на панели инструментов. Нажатием на эту кнопку запускают процесс перебора столбцов таблицы и установки указанных в них состояний выходов. Для большей наглядности слева от таблицы подсвечиваются номера выходов, на которых в данный момент установлен высокий логический уровень. Скорость перебора (время в миллисекундах между переходами от столбца к столбцу) задают в поле "Скорость, мс".
Учтите, операционная система Windows — многозадачная! Это означает, что процессорное время делится между множеством иногда скрытых от пользователя процессов, которые выполняются по очереди с учетом установленных в системе приоритетов. Поэтому не стоит ожидать большой точности выдерживания интервалов времени менее 100 мс.
ЛИТЕРАТУРА
1. Носов Т. Управление приборами через СОМ-порт компьютера. — Радио, 2007, № 11,0.61,62.
2. Рыжков А. US-программатор микроконтроллеров AVR и AT89S, совместимый с AVR910. — Радио, 2008, № 7, с. 28, 29
Мы хотим сделать так, чтобы наши устройства управлялись с компьютера программой и можно было использовать возможности компьютера для управления машиной. Для этого нам надо организовать связь по USB между нашим устройством и программой на компьютере.
Прежде чем приступить к этому вы должны были в предыдущей статье ознакомится с Управлением машиной и получить знания о том, что такое микроконтроллер AVR. Если этого не было, сделайте это.
Далее нам надо для связи по USB сделать устройство, программу для микроконтроллера AVR и программу для компьютера.
USB управление для своего устройства
Берем кабель USB и с одной стороны срезаем провода, видим 4 провода, которые нам нужны - красный, чёрный, жёлтый (бывает зеленым) и белый. Красный провод - это плюс питания +5V, чёрный провод - это минус питания. Этими проводами запитываем наше устройство. А другие 2 провода - жёлтый D+ и белый D- используются для обмена данными по USB.
Схема USB устройства на микроконтроллере AVR
Красным и чёрным проводом запитываем микроконтроллер - эти линии просто подключаются к VCC и GND. Линии с данными USB - это D+ и D- подключаются к линиям микроконтроллера, не к случайным, а к тем что заданы в программе для микроконтроллера, которую позднее будем делать, сразу скажу что это будут линии PD2 и PD4. Просто так нельзя подключать их, надо на пути поставить резистор на 68 Ом по требованию стандарта USB и еще снизить напряжение на данных линиях с 5V до 3.6V. Для резисторов посчитаем их мощность - ток USB задается в программе для микроконтроллера и мы его зададим на уровне 0.05 A, значит мощность резисторов 0.05 A * 5 V = 0.25 Вт. Такие и берем. Напряжение снижается параллельным подключением дидов Зенера 3V6 как показано на рисунке, эти диоды надо воткнуть правильной стороной, напомню что чёрная полоска на диоде с одной стороны должна быть направлена в сторону линий D+ и D-, а обратная сторона к минусу питания. И последнее, чтобы работало устройство USB, надо резистором в 1.5 кОм указать режим его работы, подключаем его к D-, это означает низкоскоростной режим, который нам нужен, поскольку мы не планируем передавать большие объемы данных, а только будем посылать простые сигналы, низкоскоростной режим нам нужен. Чтобы увидить что наше устройство работает, подключим светодиод к линии PB0, длинной плюсовой стороной к линии, а другой стороной к минусу питания.Также воспользуемся вспомогательными инструментами для удобства - это зажим на 20 гнезд, чтобы легко извлекать микроконтроллер для перепрограммирования. И это 2 клеммника, чтобы прикрутить провода USB к макетной плате. Вообщем для сборки устройства нам потребуется сделать такой закуп:
Собранное готовое к работе USB устройство выглядит так:
USB устройство своими руками
Программа на микроконтроллер AVR для USB связи
1) Скачиваем исходные коды OpenRoboFW и распакуйте архив на диск C:\, я собрал этот архив из файлов проекта V-USB, настроил их на Attiny2313A и тактовую частоту 12 МГц (эти настройки меняются в файле Makefile, если используется другой микроконтроллер), упростил код для внесения изменений. V-USB дает нам исходники программ с идентификаторами VID и PID, которые нужны для распознания USB устройства компьютером. На всякий случай вот ссылка на проект . После распаковки архива содержимое директории выглядит так:
Назначение важных файлов: main.c - главный файл программы на языке C, она осуществляет обработку информации, пришедшей по USB, и в ней программируется реакция микроконтроллера на USB пакеты с компьютера Makefile - параметры сборки, тип микроконтроллера (взяли - attiny2313a), частота, информация по фьюзам для других микроконтроллеров, при использовании другого микроконтроллера, в этом файле его нужно прописать в строке DEVICE (например - atmega16a) usbconfig.h - параметры USB, порт подкючения линии D-, ток |
Откройте main.c и обратите внимание на 2 области кода, которые там выделены - программа реакции на USB пакет и настройка портов. В этих областях надо вставлять свой код, остальное можно не трогать. Для примера там уже стоит код, его можно менять. В приходящем пакете USB с компьютера есть 2 параметра - p1 и p2, которые передаются из программы в виде параметров, в зависимости от их значений можно менять состояние линий микроконтроллера (портов) в программе реакции.
2) Скачиваем программу WinAVR и устанавливаем, она нужна для создания HEX-прошивки микроконтроллера AVR, сайт WinAVR
3) Запускаем командную строку Windows, которая находится тут c:\Windows\System32\cmd.exe появляется чёрное окно. В этом окне вводим 2 команды (набираем команду, нажимаем enter):
Запускаем подготовку программы для микроконтроллераПодготавливаем программу МК
Также надо прошить fuse-биты настроек микроконтроллера, чтобы изменить его тактовую частоту на совместимую с USB стандартом. Встроенной подходящей частоты нет, поэтому применяется внешний источник тактовой частоты 12 МГц. Для прошивки настроек fuse-битов устройство с программатором надо доработать, подключить к микроконтроллеру внешний кварцевый генератор 12 МГц и 2 конденсатора 20 пФ по схеме как на устройстве USB, т.е. в случае с ATTiny2313A к линиям PA1 и PA0, и также соединить это всё с минусом питания, вообщем как на схеме USB устройства, смотрите на фото ниже как подключено. Это нужно для того, чтобы устройство продолжило работу после установки для него нового источника тактового сигнала, именно этот источник 12 МГц и подключаем. Не забудьте кроме программы также прошить fuse-биты.
Меняем настройки программатором
При этом установите такие биты конфигурации:
Для ATtiny2313A (наш случай):
CKSEL0..3=1111 SUT0..1=10 CKOUT=1 CKDIV=1 RSTDISBL=1 BODLEVEL2..0=101 WDTON=1 SPIEN=0 EESAVE=1 DWEN=1
Установите В справочнике эти fuse-биты и прошейте их в микроконтроллер полученной строкой через программу AVR dude, о том Как прошить тут. Также дам на всякий случай fuse-биты для других микроконтроллеров.
Для ATmega8A:
CKSEL0..3=1111 SUT0..1=10 BODEN=0 BODLEVEL=1 BOOTRST=1 BOOTSZ0..1=00 EESAVE=1 CKOPT=0 SPIEN=0 WDTON=1 RSTDISBL=1
Для ATmega16A:
CKSEL3..0=1111 SUT0..1=10 BODEN=0 BODLEVL=1 BOOTRST=1 BOOTSZ0..1=00 EESAVE=1 CKOPT=0 SPIEN=0 JTAGEN=1 OCDEN=1 LB1..2=00 BLB=0000
Теперь когда программа написана и записана в микроконтроллер, можно проверить правильность сборки устройства. Напишите программу на компьютер для USB связи, читайте далее как это сделать и при этом в процессе будет установлен фильтр для возможности опознания устройства. Подключите устройство к USB порту компьютера, установите фильтр как далее будет описано, если все правильно было собрано и установлено, то оно будет обнаружено и опознано как LEDCtlHID. Если этого не произошло, то ищите проблему и ошибки при сборке устройства или при установке программ, еще раз внимательно все сверьте и проверьте, что ничего не пропущено и что все контакты соединены или запаяны как надо. Бывает проблема тут, если пайка была совершена с неконтактами, с не правильными контактами или не всеми контактами, а также что элементы схемы были повреждены высокой температурой паяльника, и устройство поэтому не работает. Важно собирать устройство именно на макетной плате первый раз.
Программа на компьютер для USB связи
Для начала сделаем простую консольную программу, потом будем делать программу с окнами.
3) Скачиваем программу MinGW, которая нужна для сборки программы из исходника. Устанавливаем. Сайт разработчика MinGW. После установки зайдите в Панель управления, Система, Дополнительные параметры системы, Дополнительно (вкладка), Переменные среды (кнопка), Системные переменные (список), Переменная Path (найти в списке, выделить, нажать кнопку Изменить). Дописываем в поле Значение переменной в конце ;c:\MinGW\bin\ и нажимаем ОК, надеюсь вы установили MinGW в C:\MinGW, иначе надо путь другой прописать.
Настраиваем системную переменную Path для MinGW
Подготовка программы ПК
Изменяем программы под наши нужды
Берём под контроль все порты, прибавляем свои функции. И так, теперь в C:\OpenRobo размещены исходные коды программы для компьютера, а в C:\OpenRoboFW исходные коды программы для микроконтроллера. Их можно изменять, но после каждого изменения надо их занова пересобирать (и перепрошивать микроконтроллер), делать это теперь вы умеете - см. выше пример - пересобрать обе программы можно 4-мя командами в cmd:
Запускаем подготовку программы для микроконтроллераИзменение программы для микроконтроллера
1) Открываем файл C:\OpenRoboFW\main.c, находим там область кода, обозначенную как настройка портов, надо установить все свободные порты на вывод командами DDR, меняем содержимое области на следующий код. Код для main.c:
Порт D не весь настраиваем, а по одному биту вбиваем единицы таким образом на биты 0, 1, 3, 5 и 62) Открываем файл C:\OpenRoboFW\main.c, находим область кода, обозначенную как программа реакции на USB пакет, сделаем, чтобы по команде зажигались светодиоды на всех свободных линиях. Меняем содержимое области на. Код для main.c
К тому же неплохо бы научится вставлять свои функции, которые будут выполняться по вашим командам, пока есть только on, off, status, нужно добавить еще команд, например добавим команду discoteka, по которой будет вызываться какая-нибудь наша функция в микроконтроллере, например - светодиоды горят через один на порте B. Добавим в микроконтроллере обработку дополнительных кодов, пусть это будет код 2, т.к. 1 и 0 уже используются для функций on и off, из программы для компьютера будем посылать потом микроконтроллеру код 2 функцией, вызываемой по команде discoteka. Опять меняем файл C:\OpenRoboFW\main.c, область реакции. Код для main.c
Изменение программы для компьютера
1) Открываем файл C:\OpenRobo\set-led.c
3) Редактируем файл set-led.c вставляем сверху от строчки
Обратите внимание на функцию usb_control_msg, в ней можно передать 2 изменяемых параметра (в первом у нас передаётся 2 или переменная isOn, которая равна 1 или 0), следующее число (там стоит 0) может передать еще 1 значение, например, 1 переменная может быть всё также быть изначальной командой на on или off, а второй переменной можно передать, например, номер порта, который следует включить. Получить доступ к этим параметрам в программе для микроконтроллера можно по именам p1 и p2, для этого примера p1=2, p2=0.
Как сделать программу для Windows
1) Заходим на сайт, выбираем русский язык, нажимаем INSTALL NOW.
2) После установки запускаем, нажимаем Создать проект. Для начала создадим простую программу с 1 кнопкой - нажимаем эту кнопку, текст в ней меняется.
3) Выбираем шаблон Приложение Windows Forms, внизу вводим название программы, нажимаем OK.
4) Перетаскиваем справа элемент Button на центральное окно с формой и оставляем его внутри формы.
5) Кликаем на форму и на кнопку, при этом справа внизу есть окно Свойства, его содержимое меняется. В этом окне задаём необходимые свойства элементов - текст кнопки и окна. Редактируем свойство Text, пишем там любой текст, например, Моя кнопка. Текст на кнопке меняется, это видно на форме в центральном окне.
6) Теперь сделаем так, чтобы при нажатии на эту кнопку, ее свойство, которое определяет текст на ней менялось на другое. Так же можно менять любые другие свойства.
7) Делаем двойной клик на кнопке Моя кнопка, которая находится в форме в центральном окне, попадаем в файл кода Form.h (его можно выбрать в любое время слева в меню). В этом файле после двойного клика была создана функций button1_Click (остальной код автоматом был создан по шаблону при создании проекта), курсор находится внутри нее, нажмите Enter, чтобы создать пустую строку, куда и будем писать код.
8) Как можно видеть в этом же файле чуть повыше есть разделы - button1 и form1, там заданы начальные установки для элементов - кнопки и формы. Воспользуемся ими, скопируем внутрь нашей функции клика по кнопке (это место отмечено красной стрелкой) строчку, где устанавливается название кнопки, а именно this->button1->Text = L"Моя кнопка"; Только текст Моя кнопка изменим на Работает!
9) Нажимаем на кнопку с зеленым треугольником, через некоторое время наша программа запустится (если вы не совершили ошибок) и при нажатии на кнопку, текст внутри меняется с Моя кнопка на Работает!
10) Забрать готовую программу (файл .exe) можно в директории текущего пользователя
Весь процесс показан на картинках.
Так как устройство отслеживает факт включения-выключения устройства по принципу «ведомый-ведущий» самый простой способ – использовать USB порт. Обозначу сразу, при использовании USB порта устройство работает в ноутбуках и компьютерах с блоком питания, отключающем все источники питания. К примеру, в последних моделях блоков питания +5 вольт USB порта присутствует как дежурное даже при выключенном блоке. С ними устройство работать не будет, точнее будет, но постоянно включено. Здесь необходимо как источник сигнала использовать какой либо иной порт, и, соответственно, согласовывать сигнал источника и исполнительного механизма.
В данном устройстве исполнительным механизмом служит реле, с контактами, рассчитаными на 16 ампер и с катушкой на 5 вольт. Использование реле выполняет гальваническую развязку источника сигнала и сети 220 вольт.
Схема модуля USB управления сетевой нагрузкой
Но если планируется использовать ноутбук, то как бы прогонять дополнительные 150 мА через через компьютер не желательно, в таком случае необходимо использовать дополнительный блок питания 5 вольт. В данном варианте был использован импульсный источник питания от зарядного устройства от мобильного телефона. Можно использовать любой нестабилизированный источник питания при условии, что он может обеспечить напряжение 5 вольт и ток порядка 250 мА с учетом запаса. Также можно использовать и другое напряжение, но в таком случае необходимо будет взять и реле с соответственным напряжением питания. Для согласования источника сигнала с реле и источником питания необходимо установить транзисторный ключ типа:
Транзистор выбран типа КТ815 с любой буквой и резистор 1 кОм, диод – КД522. При такой схеме включения ток потребления показал 4 мА, что не столь существенно для ноутбука. Светодиод LED1 и LED2 обозначают состояние цепи. По желанию вместе с резисторами их можно исключить из схемы.
Необходимо обратить внимание что розеточный бокс удлиненный. Можно взять бокс с кнопкой выключения, которую потом удалить, отверстие аккуратно зашить, и в образовавшемся пространстве установить начинку. Эксперименты проводились с нетбуком Lenovo S10-3 и дали положительный результат. С уважением, AZhila .
Читайте также: