Скорость переключения

Выбор COM-порта

Кнопка старт и пауза

(включение порта)

Кнопка стоп

(отключение порта)

Кнопка настройки выходов

Кнопки ручного

управления входами (1, 2, 3)

Кнопка очистки таблицы

Кнопка вызова справки

Кнопка выхода из программы

Индикаторы, имитирующие

работу выходов

Сетка таблицы со значениями

(пустые ячейки
приравниваются к нулю)

Для управления нагрузкой в схемах с постоянным напряжением, например 24В, можно использовать любые мощные составные транзисторы - в нашем случае КТ829.

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

Для увеличения коммутируемого тока симистор устанавливается на радиатор. Обратите внимание - в высоковольтной части использованы сопротивления мощностью 0,5 Вт.

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

Плата выполнена из одностороннего фольгированного текстолита. Размер платы 30х25мм. На плате под корпусом микросхемы впаяна перемычка. В целях защиты от перегрева микросхемы во время пайки использована 16-контактная панель под микросхему.

Для управления выходами (светодиодами), устройство достаточно соединить с ПК 4х проводным шнуром. Шнур распаивается на стандартный разъем к COM-порту - розетку DB9.

Сигнал +5В для общего провода цифровых входов берётся из схемы устройства. Сопротивления в линиях цифровых входов можно распаять в корпусе розетки DB9.

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

Справочная информация

Основой устройства является доступная микросхема 74hc595, представляющая собой последовательный регистр сдвига с выходной блокировкой. Для управления этой микросхемой достаточно трёх сигнальных линий. В нашем случае сигналы инициируются в программе управления UniCOM и выдаются через интерфейс RS-232 (COM-порт). В качестве сигнальных линий в этом интерфейсе использованы линии 9-контактного разъема: RTS - 7 контакт, DTR - 4 контакт и TxD - 3 контакт.

Принцип работы микросхемы 74hc595 заключается в последовательной записи логических сигналов высокого и низкого уровней, подаваемых на вход DS (14 ножка). Запись осуществляется задним фронтом (переход из лог. 1 в лог. 0) на входе SH_CP (11 ножка). Вывод записанных данных происходит также задним фронтом, но на входе ST_CP (12 ножка). Таким образом, на ножках 1-7 и 15 появляются уровни последних восьми записанных сигналов.

Высокому уровню сигнала на выходах (ножки 1-7 и 15) соответствует напряжение питания микросхемы - в нашем случае +5 Вольт, а низкому уровню соответствует 0 Вольт. Сигналы на выходах являются статическими, т.е. неизменными до тех пор, пока не придёт очередной импульс на вход ST_CP (12 ножка). Необходимо отметить, что снижение напряжения питания ниже минимального уровня ведет к сбросу сигналов на выходах. Согласно документации на микросхему, минимальное напряжение питания составляет 2 вольта.

Сопряжение интерфейса RS-232 с микросхемой 74hc595 сделано посредством стабилитронов на 5,1В. Согласно спецификации на RS-232 высокий уровень сигнала лежит в диапазоне от +3 до +25В, что позволяет нам организовать обратную связь с программой управления UniCOM.

Автор разработал программу и устройство для управления различными электро и радиоприборами с помощью компьютера. Устройство подключают к одному из СОМ-портов, а управлять приборами можно как с помощью экранных клавиш, так и внешних датчиков.

Схема устройства показана на рис.1. Его основа - микросхема 74HC595, представляющая собой 8-разрядный сдвиговый регистр с последовательным вводом и последовательным и параллельным выводами информации. Параллельный вывод осуществляется через буферный регистр с выходами, которые имеют три состояния. Информационный сигнал подают на вход SER (вывод 14), сигнал записи - на вход SCK (вывод 11), а сигнал вывода - на вход RSK (вывод 12). На микросхеме DA1 собран стабилизатор напряжения 5 В для питания регистра DD1.

Рисунок 1. Схема устройства

Устройство подключают к одному из СОМ-портов компьютера. Информационные сигналы поступают на контакт 7 розетки XS1, сигналы завиписи информации - на контакт 4, а сигналы вывода информации - на контакт 3. Сигналы СОМ-порта согнласно стандарту RS-232 имеют уровни около -12 В (лог.1) и около +12 В (лог.0). Сопряжение этих уровней с входными уровнями регистра DD1 выполнено с помощью резисторов R2, R3, R5 и стабилитронов VD1-VD3 с напряжением стабилизации 5,1 В.

Сигналы управления внешними приборами формируются на выходах Q0-Q7 регистра DD1. Высокий уровень равен напряжению питания микросхемы (около 5 В), низкий - менее 0,4 В. Эти сигналы являются статическими и обновляются на момент поступления высокого уровня на вход RSK (вывод 12) регистра DD1. Светодиоды HL1-HL8 предназначены для наблюдения за работой устройства.

Управление устройством осуществляется с помощью разработанной автором программы UmiCOM. Внешний вид главного окна программы показан на рис.2.

Рисунок 2. Внешний вид программы UniCOM

Псоле ее запуска следует выбрать свбодный СОМ-порт и скорость переключения выходов. В строки таблицы вводят состояние каждого из выходов устройства (высокий уроень - 1, низкий - 0 или пусто). Программа "перебирая" в рабочем цикле столбцы таблицы, устанавливает на выходах устройства соответствующие логические уровни. Занесенная в таблицу информация автоматически сохраняется при завершении работы программы и загружается вновь при ее следующем запуске. Для наглядности, в левой части окна программы подсвечены номера выходов, на которых установлен высокий уровень.

Управление приборами можно осуществлять и с помощью внешних контактных датчиков, которые подключают к входам 1-3 и линии +5 В. Они должны работать на замыкание или размыкание контактов. Пример схемы подключения датчиков показан на рис.3.

Рисунок 3. Подключение контактных датчиков

При нажатии на экранную клавишу "Настройка входов" открывается окно "Согласование входов и выходов" (рис.4. ), где выбирают входы, которые будут изменять состояние выходов. Имитировать работу входов можно нажимая на экранные клавиши "1", "2", "3" основного окна программы. В тех случаях, когда приборами нельзя управлять с помощью логических уровней, следует применить реле, схема подключения которого показана на рис.5 , или транзисторную оптопару (рис.6. ).

Рисунок 4. Согласование входов и выходов

Рисунок 5. Схема подключения реле

Рисунок 6. Схема подключения транзисторной оптопары

Большинство деталей монтируют на печатной плате из односторонего фольгированного стеклотекстолита толщиной 1...1,5 мм, чертеж которой показан на рис.7. Резисторы R1-R6 монтируют на выводах розетки XS1.

Рисунок 7. Чертеж печатной платы

В устройстве применены резисторы С2-23. МЛТ, оксидные конденсаторы - К50-35 или импортные, розетка XS1 - DB9F. Помимо указанных на схеме стабилитронов, можно применить BZX55C5V1 или отечественные КС174А, светодиоды - любые. Питают устройство от стабилизированного или нестабилизированного источника питания нпаряжением 12 В и током до 100 мА.

Оценка 1 Оценка 2 Оценка 3 Оценка 4 Оценка 5

Устройство компьютерного управления различными приборами, схема которого показана на рис. 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-порту программа обнаружит его и активирует кнопку "Пуск" , расположенную в верхней части окна на панели инструментов. Нажатием на эту кнопку запускают процесс перебора столбцов таблицы и установки указанных в них состояний выходов. Для большей наглядности слева от таблицы подсвечиваются номера выходов, на которых в данный момент установлен высокий логический уровень. Скорость перебора (время в миллисекундах между переходами от столбца к столбцу) задают в поле "Скорость, мс".

class="eliadunit">

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

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

Источник: Радио №2, 2011 г.

Архив для статьи "Управление нагрузкой через USB интерфейс"
Описание: Исходные тексты программ, файл прошивки микроконтроллера, программа uniUSB
Размер файла: 89.3 KB Количество загрузок: 2 773

Многие из нас наверно хотели бы управлять электрическими цепями через компьютер. А что? Неплохо было бы. Представь, звонит тебе друг, говорит: «Через 20 мин буду», тут проходит 20 минут, звонок в двери, но как не хочется вставать из-за компьютера, идти открывать двери и т.д. А представь иную ситуацию: звонок в двери, тут у тебя на мониторе выползает сообщение типа «У Вас гости», ты нажимаешь кнопку на компьютере - открывается магнитный замок на дверях, и ты орешь на весь дом: «Заходи», или тебе нужно включить электрочайник, свет или еще что то. В наше время это уже не фантастика, а вполне реалистично, только вот из-за плохой экономики далеко не каждый может позволить себе даже самый простейший «смарт-хаус», но если есть желание и прямые руки, то можно запросто сделать управление электрическими цепями через ПК.

В наше время достаточно много людей умеет программировать, они могут написать программку под компьютер, которая смогла бы управлять внешними устройствами, но как подключить тотже электрочайник к компьютеру? Ну, можно, к примеру, через LPT порт, только вот его уже редко где можно увидеть, что тогда остается? USB!!!

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

Итак, из чего же мы будем его делать? Те, кто интересовался данным вопросом, наверно уже слышали о модуле Ke-USB24A.

Описание:

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

Отличительные особенности:

  • интерфейсный модуль для сопряжения по шине USB
  • определяется ОС Windows/Linux как виртуальный COM порт
  • не требует дополнительных схемных элементов, сразу готов к работе
  • 24 дискретные линии ввода/вывода с возможностью независимой настройки направления передачи данных (вход/выход) и сохранения настроек в энергонезависимой памяти модуля
  • встроенный 10-ти разрядный АЦП с гарантированной частотой дискретизации до 400 Гц.
  • динамический диапазон напряжения входного аналогового сигнала для АЦП от 0 до 5 В.
  • набор готовых текстовых команд управления высокого уровня (KE - команды)
  • удобный форм-фактор в виде модуля с DIP-колодкой и разъемом USB-B
  • возможность питания как от шины USB, так и от внешнего источника питания (режим выбирается джампером на плате)
  • возможность сохранения данных пользователя в энергонезависимой памяти модуля (до 32 байт)
  • возможность изменения строкового дескриптора USB устройства
  • каждый модуль имеет уникальный серийный номер доступный программно
  • поддержка ОС Windows 2000, 2003, XP 32/64 bit, Vista 32/64 bit и Windows 7 32/64 bit
  • поддержка OS Linux

Вроде бы это то, что нам нужно, НО… цена этого чуда начинается от $40. Наверно у вас уже пропало желание его покупать.

Давайте лучше сами соберем подобный модуль, только чтобы он был доступный даже голодному студенту!

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

В качестве микроконтроллера возьмем широко распространенный ATmega8 (без индекса L в конце). Характеристики нашего модуля будут такие:

Почему я выбрал именно HID, а не виртуальный COM порт (CDC)? Во-первых, не нужны драйвера, во-вторых, HID в несколько раз меньше грузит микроконтроллер, чем CDC, так как данные запрашиваются не постоянно, а только тогда, когда этого требует хост (компьютер), и вообще, COM порт уже отмирает, сейчас аппаратных COM портов уже практически нет, остались только виртуальные. Логические линии вывода предназначены для управления только двумя состояниями - включенный или выключенный, при выключенном на выходе (ножке микроконтроллера) будет 0В при включенном - 5В, сюда вы можете подключить просто светодиод и управлять ним с ПК, а можете подключить реле (через транзистор) и управлять более мощной нагрузкой (освещение и т.д.). Линии вывода с регулировкой напряжения (ШИМ выход) позволяют плавно менять напряжение на ножке микроконтроллера от 0В до +5В с шагом 5/1024В. Линии ввода с логическим состоянием предназначены для мониторинга состояния кнопок, ключей и т.д. Когда линия замкнута на землю (корпус, GND), ее состояние = 0, если не замкнута - 1. АЦП позволяет измерять напряжение, сюда можно подключить потенциометр, аналоговый термодатчик, или еще что то, только напряжение, на этой ножке не должно превышать напряжение питания. В качестве источника опорного напряжения для АЦП можно использовать как внешний ИОН, так и напряжение питания модуля. Чтобы при перепрошивке не приходилось подключать микроконтроллер к программатору, сделаем возможность заливки прошивки прямо через USB, без использования внешнего программатора.

Схема устройства:

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

Печатная плата:

Ну и в результате получилось вот что:

Теперь разберемся, что куда будем подключать.

  1. USB - Порт. Думаю, его все знают.
  2. Индикатор питания.
  3. Логический вход 1.
  4. Логический вход 2.
  5. Логический вход 3.
  6. Логический вход 4.
  7. Логический вход 5.
  8. Логический вход 6.
  9. Логический вход 7.
  10. Вход АЦП.
  11. Вход для подключения ИОН.
  12. Этот контакт подключен к питанию устройства. Замкните перемычкой 12 и 13 контакты, чтобы напряжение ИОНа было равно напряжения питания.
  13. Логический выход 1.
  14. Логический выход 2.
  15. ШИМ выход 1.
  16. ШИМ выход 2.
  17. Логический выход 3.
  18. Логический выход 4.
  19. Логический выход 5.
  20. Логический выход 6.
  21. Логический выход 7.

Что такое GND?

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

Программа для микроконтроллера.

Так как в статье я хочу рассказать, как управлять цепями через USB с помощью готового модуля, то я не буду объяснять, как работает программа микроконтроллера, снизу можете скачать исходники и посмотреть, там много комментов. Здесь я напишу просто об идентификаторах устройства.

Итак, в исходниках находится файл usbconfig.h , в нем есть строки

#define USB_CFG_VENDOR_ID 0x10, 0x00

#define USB_CFG_DEVICE_ID 0x01, 0x00

#define USB_CFG_VENDOR_NAME "k","i","b","e","r","m","a","s","t","e","r",".","p","l",".","u","a"

#define USB_CFG_VENDOR_NAME_LEN 17

#define USB_CFG_DEVICE_NAME "U","S","B","-","C","o","n","t","r","o","l"

#define USB_CFG_DEVICE_NAME_LEN 11

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

Прошивка устройства.

В скачанных файлах в папке MCUusb_bootloader найдите файл main.hex - это usb-bootloader, его нужно залить в МК с помощью внешнего программатора. После заливки также нужно правильно установить фьюзы, в окне программатора STK500 должно выглядеть так:

Если вы пользуетесь другой программой, то можете просто ввести значения фьюз-битов HIGH и LOW (смотрите на скрин).

После удачной прошивки, можно попробовать прошить устройство через бутлоадер. Как он работает? При включении МК (просто при подаче питания, или после ресета) сразу запускается бутлоадер, он проверяет условие, если оно истинно, то запускается инициализация бутлоадера (компьютер при этом находит устройство). В качестве условия у нас будет «Логический вход 1 = 0″, то есть, чтобы запустить бутлоадер, нужно замкнуть Логический вход 1 на GND и нажать на устройстве кнопку RESET, в диспетчере устройство должно появиться новое HID устройство, так же не требующее драйверов:

Такс, теперь в папке MCUUSB_Controldefault запускаем файл boot.bat , должно выскочить окошко, в котором будут бегать циферки:

Если окно сразу же закрылось, тогда вы сделали что то, не правильно. Если же все ок, тогда внешний программатор для этого устройства Вам уже не понадобится. Теперь можете отключить Логический вход 1 от GND. И на всякий случай, нажмите RESET. В диспетчере устройств так же должно появиться HID устройство (компьютер напишет, что найдено новое). Убедитесь, что в диспетчере появилось именно это устройство.

Хост - это то, что будет управлять устройством, в нашем случае - компьютер. Управление устройством с ПК я опишу более подробно.

Для программистов Delphi написать программу управления HIDом не составит проблем, так как в интернете куча информации. А вот программистам C++ Builder не все так сладко, но, как оказалось, не так все и плохо. В интернете я нарыл библиотеку hidlibrary.h, вот с ее помощью мы будет работать с HID устройством.

Скачайте исходники и запустите USB Control.cbproj (C++ Builder 2010).

В файле hidlibrary.h в самом верху есть строка

Создадим форму, на форме будет один CheckListBox для управления логическими выходами, 2 ScrollBar для управления ШИМ каналами, один ListBox для отображения логических входов, один Label для отображения состояния АЦП и один таймер. Должно получиться вот такое:

Переименуйте СкрулБары в ScrollBar_PWM1 и ScrollBar_PWM2, в их свойствах установите Max=1023.

Создадим структуру

#pragma pack (push, 1)

struct status_t{

unsigned char logical_outputs;

unsigned char logical_inputs;

unsigned char ADC_DATA;

unsigned short int PWM1;

unsigned short int PWM2;

struct status_t DeviceStatus;

#pragma pack (pop)

#pragma pack нужна чтобы компилятор не выравнивал структуру. В logical_outputs хранятся состояние всех логических выходов, в побитном режиме, то есть, первый бит хранит состояние первого выхода, второй - второго и так до седьмого. Аналогично logical_inputs хранит состояние логических входов. В ADC_DATA хранится состояние АЦП, минимальное значение 0, максимальное - 255. В PWM1 хранится состояние первого ШИМ выхода (плавная регулировка напряжения), в PWM2 - состояние второго, минимальное значение 0, максимальное - 1023.

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

HIDLibrary hid;

И добавляем функцию connect().

Теперь данные с HID-устройства можно запросить с помощью функции hid.ReceiveData, указав в качестве параметра указатель на структуру, только перед запросом нужно проверить, подключено ли устройство:

А теперь давайте допишем нашу программу (или просто скачайте исходники, там все готовое).

Добавьте где нить в коде (лучше сразу после структуры) эти строки:

В свойствах таймера укажите Enabled = True, Interval = 500. Щелкните по нему дважды и в обработчике напишите

if (!connect()) return; // Выходим, если устройство не подключено

hid.ReceiveData(&DeviceStatus); // Читаем данные с устройства

for (char i = 0; i < 7; i++)

CheckListBox_LogOuts->Checked[i] = CheckBit(DeviceStatus.logical_outputs, i);

ScrollBar_PWM1->Position = DeviceStatus.PWM1;

ScrollBar_PWM2->Position = DeviceStatus.PWM2;

ListBox_LogInputs->Clear();

for (char i = 0; i < 7; i++)

ListBox_LogInputs->Items->Add(" Лог. вход "+IntToStr(i+1)+" = "+BoolToStr(CheckBit(DeviceStatus.logical_inputs, i)));

Label_ADC->Caption = DeviceStatus.ADC_DATA;

Думаю, тут все понятно и объяснений не требует.

Кликните дважды по CheckListBox, в обработчике напишите

Все, можно компилировать!

Тест-драйв.

Итак, все готово: устройство собрано, микроконтроллер прошит, программа для компьютера создана, можно протестировать.

Подключите устройство к ПК, запустите программу. Слева в листбоксе отображается состояние всех логических входов, если, к примеру, Логический вход 1 не замкнут на GND, тогда будет написано «Лог. вход 1 = -1″, если подключен, то «Лог. вход 1 = 0″. Вот скрин:

Под этим листбоксом отображается результат преобразования АЦП. Замкните вход АЦП на минус, тогда результат будет равен 0, замкните на + питания, результат будет 255. Можно подключить сюда потенциономер, или еще что. Напряжение на ножке АЦП можно вычислить по формуле: Напряжение_ИОН/255*результат_АЦП .

Теперь подключите какую то маленькую нагрузку к Логическом выходу 1 (светодиод или просто вольтметр). Поставьте галочку возле "Лог. выход 1" - светодиод загорится.

Подключите вольтметр к первому ШИМ каналу, покрутите ползунок - напряжение будет меняться.

Завершение.

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



Как вам эта статья?