Управление устройствами на 220в через LPT порт (полный цикл создания)

USB устройство своими руками

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

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

Далее нам надо для связи по USB сделать устройство, программу для микроконтроллера AVR и программу для компьютера.

Подготовка схемы печатной платы

  1. COM порт (тот что был не совпал с моим, по отверстиям крепления)
  2. гнездо питания
  3. зажим на три контакта
  4. реле HJR-3FF-S-Z

Финальный вид платы

После добавления необходимых деталей началось само проектирование печатной платы. Проходило оно в несколько попыток, было их около пяти. Каждый вариант платы печатался на картоне прокалывались отверстия и в них вставлялись детали. Собственно так и было выяснено, что мой COM порт не совпадает с тем который был в SL5. Так же всплыла небольшая ошибка в схеме реле — реально корпус реле был сдвинут на 2-3 мм. Естественно все ошибки были исправлены.
На первом печатном варианте выяснилось еще и не правильное подключение транзистора, были перепутаны два контакта.
После всех исправлений и подгонок получилось плата следующего вида:

Фотовид платы с прозрачностью

В SL5 есть функция «Фотовид» для просмотра платы, вот как она выглядит в нем:

Фотовид платы без прозрачности

На финальном варианте платы будут еще немного подправлены дорожки, а в остальном она выглядит так же.

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

↑ Схема структурная

Тут все очень просто и почти не требует пояснения. Вся электрическая часть устройства состоит из следующих элементов:
a) Блок управления включения/выключения нагрузки
b) Микроконтроллер
c) Преобразователь USB – UART
d) ПК и программа управления устройством

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

Управление нагрузкой на большом расстоянии

Здесь применяется похожая схема, только модуль GSM реагирует не на радиосигнал, а на команды через SMS-сообщения. Например, зимой Вам нужно включить электроотопление на пути с работы, чтобы когда Вы приедете домой, то зашли в теплое помещение. Для этого просто отправляете SMS с телефона или звоните на модуль, а он принимает Вашу команду и включает электрокотел или конвектор.

Как и радиореле, GSM-модуль работает в двух режимах: «вкл» и «выкл». Но в отличие от него, здесь есть обратная связь — модуль может отправлять команды на Ваш мобильный номер. Чаще может быть срабатывание датчика, подключенного к реле.

Например, его можно использовать для защиты от воров. Представьте, Вас нет дома и на дверях дома сработал датчик движения. GSM-модуль тут же присылает Вам SMS, уведомляя, что сработал датчик. Вы набираете номер SIM-карты, установленной в модуле и он включает освещение по всему дому. Это отпугнет любого вора.

Также Вы дополнительно будете знать о том, что датчик сработал и сможете набрать кого-то из знакомых, чтобы проверили или вызвать полицию.

Чтобы настроить GSM модуль на прием и передачу GSM-команд, к нему нужно подключить ноутбук. На него устанавливается драйвер, через который программируется модуль. После этого он ставится на DIN-рейку в щиток, где к нему подключаются провода, идущие к управляемым розеткам и датчикам.

Внутри ставится обычная телефонная «симка» любого оператора. Главное, чтобы без PIN-кода и были деньги на счету, для отправки сообщений.

GSM-приставка имеет весомые преимущества и недостатки перед другими способами ДУ домом. И так, для лучшего понимания выведем основные плюсы и минусы.

Преимущества:

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

Недостатки:

  • Ограниченное количество подключаемых приборов;
  • Нужно следить за состоянием баланса карты;
  • Зависимость от GSM-покрытия связи;
  • Высокая стоимость GSM-модуля;
  • Сложность в монтаже и подключении;
  • Работает только на включение и выключение контактов.

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

Постоянный ток

Оптопара

Оптопара – отличный элемент, позволяет выполнять две функции: коммутировать нагрузку (пусть и небольшую) и полностью физически развязывает микроконтроллер с ней. Оптопары можно использовать для имитации нажатия кнопок у других внешних устройств, то есть замыкать чисто логический сигнал. Также можно использовать для разрывания питания различных датчиков и модулей в устройстве вместо транзистора. Оптопара состоит из двух частей: светодиод, который мы включаем при помощи микроконтроллера, и выходная часть, которая может быть разной (транзистор, симистор и проч.), таким образом сигнал с микроконтроллера отделяется от нагрузки через луч света, что очень важно при коммутации высоковольтных или каких-то чувствительных цепей. Для управления внешними устройствами надо брать оптопары с транзисторным выходом, например очень распространённую PC814 и её аналоги (FOD814, LTV814 и прочие), при желании можно выковырять почти из любого блока питания. Данная оптопара позволяет коммутировать нагрузку с напряжением до 60 Вольт и током до 50 мА. Покажу вырезку из даташита с этими параметрами, у остальных оптопар параметры будут называться точно так же:

blank

Подключается оптопара следующим способом: светодиодом мы управляем с МК через резистор, а выход подключаем в разрыв нагрузки, соблюдая полярность. Что касается светодиода на управляющем входе оптопары – для него нужен резистор, как считать резистор для светодиода было рассказано в уроке про светодиоды. В большинстве случаев достаточно поставить резистор на 220 Ом, как и для любых светодиодов. Если ток светодиода будет меньше указанного, соответственно уменьшится максимальный ток выхода, что для этой оптопары уже критично (светодиод хочет аж 50 мА). Оптопара не предусмотрена для управления большой нагрузкой, обычно это коммутация других логических цепей, поэтому о токе можно не думать. Подключение нагрузки (условный нагрузочный резистор):

blank

blank

Для управления “кнопкой” другого устройства (фотоаппарат, кофемашина) достаточно подключить оптопару параллельно кнопке. Во избежание замыкания оптопары на кнопку (что сожгёт оптопару) желательно поставить защитный резистор с номиналом 200-1000 Ом. Тут будет две схемы, по сути одинаковые. Перед подключением нужно проверить мультиметром, где у кнопки “плюс”, а где “минус”, так как выход с оптопары у нас полярный.

blank

blank

Существует также интересная оптопара TLP172 с мосфетным выходом, причём неполярным (может коммутировать нагрузку в любую сторону)! Управляет напряжением до 60 Вольт при токе до 400 мА – уже вполне серьёзная игрушка.

Транзистор

Самый компактный способ управлять нагрузкой постоянного тока – транзистор. Транзисторы бывают биполярные и полевые (MOSFET, полевик, ключ). Биполярные уже морально и физически устарели, имеют много характеристик и требуют дополнительного изучения темы, поэтому мы рассмотрим только полевые транзисторы. Схема типовая и выглядит вот так:

blank

Или вот так, конкретно для корпуса to220. Также на этой схеме плата Ардуино питается от внешнего источника в пин Vin:

blank

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

Что за резисторы?

  • Резистор на 100 Ом (можно ставить в диапазоне 100-500 Ом, мощность любая) выполняет защитную функцию: затвор полевика представляет собой конденсатор, в момент открытия затвора конденсатор начнёт заряжаться и в цепи пойдёт большой ток (практически короткое замыкание), который может повредить пин Ардуино. Резистор просто ограничивает ток в цепи пин-затвор и спасает пин от скачков тока. В целом можно его не ставить, но когда-нибудь оно обязательно сломается =)
  • Резистор на 10 кОм (можно ставить в диапазоне 5-50 кОм, мощность любая) выполняет подтягивающую функцию для затвора. Если случится так, что плата Ардуино выключена или сигнальный провод от неё отвалился – на затвор будут приходить случайные наводки и он может случайно открыться. Если в этот момент будет подключен источник питания – нагрузка тоже включится! Восстание машин начнётся именно с этого момента. Подтягивающий к GND резистор позволяет “прижать” затвор, чтобы он не открылся сам по себе. Имеет смысл ставить его прямо на корпус транзистора, если монтаж производится навесом:

Я привёл схему, в которой используется N-канальный полевой транзистор, который управляет линией GND. Существуют также P-канальные мосфеты, они управляют линией питания. Такие транзисторы в целом дороже, реже встречаются и имеют высокий порог напряжения открытия, т.е. для их работы придётся ставить ещё один транзистор (биполярный) и с его помощью подавать более высокий сигнал от внешнего источника на затвор P-канального полевика. Поэтому в 99% случаев просто используют более удобные N-канальные ключи. Как выбрать транзистор для своей задачи? Первым делом смотрим на напряжение открытия транзистора (как читать график в даташите – см. видео урок ниже), 100% подойдёт транзистор с пометкой Logic Level в описании или даташите: такие мосфеты точно будут работать на полную катушку от пина МК. Само собой ток и напряжение должны соответствовать (взяты с запасом) для нагрузки, которую будет коммутировать мосфет. Есть ещё параметр сопротивление открытого канала, на этом сопротивлении будет падать напряжение и превращаться в тепло. Для мощных нагрузок нужно рассматривать полевики с низким сопротивлением канала, чтобы сильно не грелись. Приведу свой список мосфетов в двух основных корпусах: выводной to220 и dpack для поверхностного монтажа, в нём “Ток при 3V” и “Ток при 5V” означает максимальный ток через транзистор (на нагрузку) в Амперах при управлении логическим сигналом 3 и 5 Вольт. Максимальное напряжение для нагрузки смотрите у конкретного транзистора, но у всех оно выше 24V. “R” – сопротивление открытого канала в миллиомах (10^-3 Ом). Также полевики отсортированы по увеличению цены в российских магазинах =)

Маркировка R, мОм Ток при 3V Ток при 5V
IRLZ24NPBF 60 4 20
IRF3704ZPBF 7.9 10 >100
IRLB8743PBF 3.2 20 >100
IRL2203NPBF 7 30 >100
IRLB8748PBF 4.8 10 >100
IRL8113PBF 6 40 >100
IRL3803PBF 6 20 >100
IRLB3813PBF 1.95 20 >100
IRL3502PBF 7 >100 >100
IRL2505PBF 8 20 >100
IRF3711PBF 6 80 >100
IRL3713PBF 3 20 >100
IRF3709ZPBF 6.3 40 >100
AUIRL3705N 6.5 20 >100
IRLB3034PBF 1.7 >100 >100
IRF3711ZPBF 6 20 >100
Маркировка R, мОм Ток при 3V Ток при 5V
STD17NF03LT4 50 5 40
IRLR024NPBF 65 4 20
IRLR8726PBF 6 10 110
IRFR1205PBF 27 10
IRFR4105PBF 45 10
IRLR7807ZPBF 12 10 100
IRFR024NPBF 75 8
IRLR7821TRPBF 10 11 100
STD60N3LH5 8 30 160
IRLR3103TRPBF 19 11 100
IRLR8113TRPBF 6 40 110
IRLR8256PBF 6 10 110
IRLR2905ZPBF 13 100
IRLR2905PBF 27 20 90

Для слаботочных цепей мне нравится использовать полевик 2n7000 (купить мешок) – тянет до 400 мА. Корпус – компактный выводной to-92. Также у друзей-китайцев есть удобные готовые модули с мосфетами и всей необходимой обвязкой:

blank

Ну и самый важный момент: на полевой транзистор можно подавать ШИМ сигнал для “плавного” управления нагрузкой: плавно менять скорость вращения мотора, яркость светодиодной ленты, мощность обогревателя и прочее прочее!

Внимание! При управлении индуктивной нагрузкой (клапан, мотор, электромагнит, соленоид) обязательно нужен диод! См. последнюю главу.


Твердотельное реле (SSR DC)

Более простой вариант – твердотельное реле (Solid State Relay, SSR) для постоянного тока (DC), найти можно на том же Aliexpress по запросу SSR DC. Внимательно смотрим на маркировку: под выходными клеммами должно быть написано VDC, т.е. постоянное напряжение. Твердотельное реле имеет стандартный корпус для моделей постоянного и переменного тока, поэтому нужно читать что написано и не перепутать. Также в маркировке после слова SSR обычно указан ток в Амперах, т.е. SSR-25 это реле на 25 Ампер. Максимальное напряжение указано под выходными клеммами.

blank

Твердотельное реле подключается напрямую к Arduino, пин “-” к GND, “+” к любому цифровому пину. Выход реле ставится в разрыв цепи питания нагрузки, как выключатель. Важно не перепутать плюс и минус, потому что внутри реле представляет собой полевой транзистор на радиаторе =)

blank

Внимание! При управлении индуктивной нагрузкой (клапан, мотор, электромагнит, соленоид) обязательно нужен диод! См. последнюю главу.

Управление силовыми нагрузками по USB (на Ke-USB24A)

Девайс на рабочем месте

Девайс на рабочем месте

С этой задачей сталкивается рано или поздно любой разработчик, который шаманит чего-нибудь на компьютере и сидит с паяльником. Рано или поздно ему приходит в голову Идея: «Управление освещением с компьютера» или что-то подобное. Кто-то хочет чайник кипятить, кликая на иконку в трее, кто-то — включать лампу, не вставая с кресла, кто-то — обогреватель… В общем, заканчивается это всё каким-нибудь iXBT, темами со схожими названиями и LPT-портом.

LPT-порт — это первое, что приходит в голову разработчикам старой закалки, заставшим ещё Windows 3.11 и 95;) Потому что он прост, как два пальца, и его пинами можно легко дёргать, просто записывая байт на выход. В общем, компьютер превращается в некий интерактивный микроконтроллер с одним двунаправленным восьмибитным портом. Но сейчас есть ноуты. Windows Seven и прочие «прелести» цивилизации… Понятие «Умный дом» всё большое входит в наши головы, и надо думать, как заменить старый LPT-порт. Наткнулся я тут, изучая этот вопрос в инете, на прикольный модуль Ke-USB24A, от KernelChip, и решил его купить и потыкать.

UPD: Добавлена схема устройства и исходники программы.

Часть 1. Тестовая сборка.

Производитель пишет столько всего вкусного про модуль, например вот, кратко:

Модуль Ke-USB24A предназначен для сопряжения внешних цифровых и аналоговых устройств, датчиков и исполнительных механизмов с компьютером через шину USB. Определяется как дополнительный (виртуальный) COM порт. Модуль имеет 24 дискретные линии ввода/вывода (либо лог. 0 либо лог. 1) с возможностью настройки направления передачи данных (вход/выход) и встроенный 10-ти разрядный АЦП. Для управления модулем предусмотрен набор текстовых команд управления (KE — команды).

В общем, получаем тот же самый LPT-порт, но управляемый по USB — отличная вещь для всяких игрушек вида «вкл-откл с компьютера». На тот момент (летом) я ваял многоканальный диммер, задачей которого было автономно и с компьютера регулировать (ну или хотя бы включать-выключать) пару ламп освещения в комнате: я люблю местное освещение и рассеянный свет — например в потолок светит лампа, удобно её врубить, когда темнеет — яркий свет не нужен, а глаза при слабом рассеянном свете лучше воспринимают светящийся монитор.

Так вот! С диммером были проблемы, и я решил собрать простейшее устройство, хотя бы «на коленках», чтобы тыкать нагрузки на 220 вольт с компа. Решил, что 4х штук мне как раз хватит, и поехал покупать модуль. Сама контора расположена в бизнес-центре, по звонку на сотик выходит их товарищ, выносит модуль, завёрнутый в полиэтилен с пупырышками (кажется, ничерта не электростатический) и забирает деньги. Цена, наверное, кусается, по меркам микроконтроллерщиков — 1350 рублей, но мне она была приемлема как для «коробочного», готового решения Plug-n-Play — в смысле, всунул USB шнур — и работай. Даже программка-терминал у них своя есть.

Довольный я вернулся домой и первым делом всячески обфоткал модуль со всех сторон.

Модуль Ke-USB24A, вид сверху

Модуль Ke-USB24A, вид сверху

Заодно заскочил в КВАРЦ, где купил макетку, всяких моих любимых фенечек вроде разъёмов, клеммников на плату и реле.

Модуль Ke-USB24A, вид снизу

Модуль Ke-USB24A, вид снизу

Модуль — полная вещь в себе, сделанная на базе Microchip’овского микроконтроллера PIC18F4550. Наверное, и на AVR такое же можно лепить, но узнал я об этом уже позже, благодаря сайту одного челябинского товарища (блин, кажется я начну уважать этот город! Правда! он у меня постоянно на слуху). Торчит только тантал по питанию, кварц, несколько ёмкостей и перемычка, которой выбирается питание — от USB или внешнее.

PDFник с документацией на сайте вполне адекватный, выводы расписаны нормально и понятно, чего куда.

Установка модуля на разъёмы

Установка модуля на разъёмы

В общем, воткнул я его в плату и начал лепить выходные реле из того, что было под рукой: КТ315х 70-80х годов выпуска, каких-то помоечных светодиодов и блока питания от компьютера — так как на данный момент нету никакого лабораторного источника, питаюсь от него.

Транзисторы КТ315 79го года выпуска

Транзисторы КТ315 79го года выпуска

На плату поставил нормальный разъём, чтобы не городить скрутки из проводков, заодно напаял клеммников (синенькие) под силовые выходы реле.

Разъёмы под модуль и клеммники под сеть 220

Разъёмы под модуль и клеммники под сеть 220

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

Выходные реле и клеммники под винт

Выходные реле и клеммники под винт

Купил себе два десятка про запас, на три выхода: всегда можно подключить 220 как L, PE, N или как L, N, оставив середину пустой. Офигенная штука!

Для пайки использовал какое-то советское подобие паяльной станции и понижающий трансформатор на 36V (у меня от него питается обычный низковольный паяльник на 36).

Рабочий инструмент

Вначале получалось красиво, а потом плата стала обрастать снизу кучей проводочков и выглядеть, как ёжик.

Готовая плата с реле

Готовая плата с реле

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

Итак, тем временем плата была готова, спаяно 4 выходных канала, и сами реле напрямую были выведены на клеммники (я взял реле с одной переключающей группой, катушка на 5V).

Подключение блока питания и USB-шнурка для теста

Подключение блока питания и USB-шнурка для теста

Всё было подключено, и для теста заведена обычная лампочка 220V 100W.

К включению готовы!

К включению готовы!

Даём команду с терминала, реле щёлкает, лампочка включается.

Выдаём команду (кусок терминала)

Выдаём команду (кусок терминала)

Заработало!

Итого, что можно отметить:

  • Простота решения — купил, воткнул, используй (обычные ТТЛ выходы);
  • При желании, схема может питаться от USB целиком, без внешнего источника питания;
  • Реле ЖРУТ безумно много! USB-порт тянет 1-2 канала одновременно. Остальным реле не хватает тока, чтобы сработать;
  • Всё это безумно прикольно и интересно, и можно как-то использовать. Хехе!

Плата была собрана, потестена, и заброшена до осени: в окно светило солнце, и никакие подсветки были не нужны 😉

Часть 2. Готовый девайс.

Осень пришла внезапно) А вместе с ней, роясь в куче хлама, я выкопал свитч, на котором недрогнувшей рукой Сурового Админа Миши с одной давней конторы было написано категоричное слово «ТРУП». Его серая коробочка меня привлекла, и меня осенило: «А вот же отличный корпус для моего девайса!», и затем родился концепт устройства. Питаться и питать нагрузки оно должно было через евроразъёмы (как на компьютере и на UPS-ах), возможно иметь автономное управление и быть мелким, чтобы его можно было положить на стол/полку и забыть.

Были куплены компоненты, а в качестве блока питания использован старый зарядник от фотика Casio, который давал 5,5 вольт при токе до 0,5А. Почему-то ток у него такой же, как у USB-порта, но все-все реле он тянул без напряга, нагрева и других проблем. Модуль при напряжении 5,5 вольт вёл себя отлично — итого, за три часа прогона — никакого нагрева микросхем или других деталей схемы. На автономное управление было забито из-за нехватки места в корпусе под выключатели: хотел, чтобы реле их шутнтировали, или сделать аналог «проходного выключателя», но в итоге забил, решив, что ноут у меня и так постоянно работает всё время — подойти и тыкнуть мышкой кнопку — нет никаких препятствий.

Окраска корпуса на лестнице

Окраска корпуса на лестнице

В корпусе были проточены все необходимые дырки и прорези (мелкие — напильником, крупные — элекролобзиком с тонкой пилкой), после чего корпус был покрашен чёрной краской из баллончика прямо на лестнице подъезда 🙂 Газетки помогли мало, и там до сих пор следы 😉

Окрашенный корпус, вышло неплохо!

Окрашенный корпус, вышло неплохо!

Евророзетки не влезали в корпус, и крепить их за «ушки» и на винты не получилось.

Заготовка для монтажа выходных розеток

Заготовка для монтажа выходных розеток

Пришлось делать ужасную порнографию: вырезать кусок макетки, припаять их туда, а макетку на втулках на винтах закрепить к корпусу и улить это всё суперклеем. Усилие на вынимание вилки пережили — держаться будет! 😉

Установленные выходные розетки

Установленные выходные розетки

Последние фотки платы перед установкой в корпус девайса.

Внешний вид итогового монтажа реле и USB-модуля

Внешний вид итогового монтажа реле и USB-модуля

Напаял туда ещё КРЕНку, потом вспомнил, что она всё равно ничего не будет стабилизировать, так как 0,5 вольта (5,5 — 5,0) ей не хватит для работы. КРЕНку так и оставил, но отключил.

Сзади вышел трэш-монтаж.

Кошмарный монтаж соединений на макетной плате

Кошмарный монтаж соединений на макетной плате

Не буду больше макетки использовать. Или буду использовать в разумных пределах.

Блок питания от зарядника

Блок питания от зарядника

Конечно же, надо сделать светодиоды, которые индицируют включение реле нагрузок и питание. А ещё красивый красненький выключатель питания (именно такие модели выключателей я тоже люблю за то, что светятся и за то, что рвут два провода сети одновременно).

Монтаж светодиодов цветным кабелем

Монтаж светодиодов цветным кабелем

Обратите внимание, я перешёл на использование плоского цветного кабеля и разъёмов серии BLS-, кажется — кабель удобно на них паять, разъём отламывается на столько пинов, насколько надо, и выглядит красиво.

Вид монтажа спереди

Вид монтажа спереди

Цветной кабель удобен тем, что не надо постоянно считать жилки, когда что-то отлаживаешь и разбираешься в сигналах, или куда тыкать тестер.

Итак, вот что получилось в итоге.

Плата USB-модуля, установленная на своё место

Плата USB-модуля, установленная на своё место

Макетка прикрепелена к корпусу (опять на втулках), в неё воткнут USB-модуль, справа торчит блок питания, выключатель и светодиоды. Сзади (по компоновке) торчат розетки питания.

Выключатель сети 220 и блок питания

Выключатель сети 220 и блок питания

К выключателям я паяюсь, а соединения изолирую термоусадкой — получается красиво и аккуратно.

А вот что получилось перед закрытием корпуса.

Готовый монтаж схемы

Готовый монтаж схемы

Проводка 220, конечно жесть, и мне за неё стыдно.

Трэшовое подключение выходных розеток

Трэшовое подключение выходных розеток

Ипнет — переделаю. Не ипнет — пусть работает. Была мысль залить это всё термоклеем из пистолета, но в три ночи было на всё наплевать.

Девайс вид спереди

Девайс вид спереди

Всё это было запихнуто в коробку, утрамбовано, включено и поставлено под цветок у окна, где и стоит до сих пор, работая по полсуток, а то и больше.

Вид подключений сзади

Вид подключений сзади

Схема и программа управления

Схема управления очень напоминает такой же модуль, но с релюшками (Ke-USB24R). На выходы модуля, которыми мы управляем через USB, совершенно тупо навешаны транзисторы (из тех, что попались под руку) — КТ315 в ключевом режиме. В коллекторную цепь транзистора включено реле с защитным диодом, спасающим транзистор от напряжения самоиндукции при коммутации реле. Ну дополнительно в моём блоке ещё навешаны обычные светодиоды с ограничительными резисторами, которые светятся и показывают какой канал включён.

Простейшая схема блока управления нагрузками 220 на Ke-USB24A

Дополнительно на схеме дорисовал пример какого-нибудь контактного входа, типа кнопки: внешний резистор подтяжки на +5 вольт ставлю обычно всегда, привычка от микроконтроллеров семейства ВЕ51 (8051). Соответственно на данном примере вход работает инверсно: «0» означает замкнутую кнопку. ИМХО этот способ немного более помехоустойчив ко всяким импульсным выбросам.

Питание в моей схеме бралось от первого попавшегося под руку источника +5V, и реле, соответственно, тоже были с катушкой на 5V. Внешний источник питания нужен лишь тогда, когда мы не укладываемся в выдаваемые USB штатные 500мА. Ток потребления схемы будет равен (4*ТокРеле) + ТокМодуля. В моём случае USB тянуло пару реле из 4х, поэтому я не парился особо (всё равно схема коммутирует 220 — значит там оно есть!) и воткнул сетевой источник питания (перемычку на плате модуля СНЯТЬ!). Особо извращённые люди могут покопать в сторону твёрдотельных реле, которые потребляют гораздо меньше обычных электромагнитных.

Программа управления модулем была такой примитивной, что писалась на Visual Basic 6 за 1 час вместе с отладкой. Кнопки «открыть/закрыть» порт, и четыре кнопки на 4 выхода. Рядом с ней лежит текстовый конфиг-файл (Ke-USBControl.Conf), откуда она при запуске считывает названия этих кнопок — можно менять их без перекомпиляции проги. Первая строка — номер COM-порта, выбираемого по умолчанию для железки (как сменить ей правильный COM-порт — читать вот тут: Изменение номера COM-портов / Отображение скрытых устройств). В планах сделать автопинг модуля и реконнект к нему (см. выводы).

Программу управления модулем (исходники и EXEшник) можно скачать по этой ссылке (~22 кБ). Поставляется As IS. Или Ass IS 😉

Выводы

  • Модуль — забавная игрушка и не более. На самом деле — полное ГАВНО, и использовать можно только как красивый заменитель LPT-порта для старых игрушек или разработок типа моей — ткнул кнопку, включилась лампочка.
  • Теперь я знаю про симисторы и оптопары. Можно сделать так, чтобы питалось только от USB и коммутировало до 2х кВт на канал 220.
  • Протокол управления модулем — тоже гавно. Самое дерьмовое, чего они не сделали, и что вылезло в процессе эксплуатации, это то, что нельзя прочитать состояние пина модуля, настроенного на выход, как в микроконтроллере. Оно обычно и не нужно, но вот даже сам модуль не может выдать информацию — какие пины сейчас «включены». Зачем нужно? Простой пример: у вас что-то включено из программы. Программа так и отображает: это вкл, это — выкл. Тут вам нужен USB-порт. Вы выдрали шнур, закрыли программу (или вообще винды перегрузили), поюзали, сунули назад, запустили программу. И всё. Она не знает, что было включено, а что нет — и получить эту информацию НИКАК нельзя!
  • Дополение к предыдущему. Если дёрнуть шнур и вставить его назад, девайс определяется, но криво. Нужно закрыть порт в программе, ещё раз передёрнуть шнур, и открыть порт. С каким-то полудохлым конвертором USB<>RS-232, у меня такого не наблюдается.

Это так и останется игрушкой, в основном из-за отсутствия обратной связи по выходам — никуда её не применить. Будет включать-выключать лампы, а потом подарю кому-нибудь.

UPD: Вышла новая версия модуля с возможностью определения состояния пинов (включён или нет)!

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector