Управление низковольтной нагрузкой

Материал из Wiren Board

Для управления низковольтной нагрузкой (с напряжением вплоть до напряжения входного питания) в Wiren Board предназначены так называемые "транзисторные выходы", они же FET. С их помощью можно управлять включением низковольтных ламп, светодиодных лент, внешних блоков реле, ...

Всеми транзисторными выходами можно управлять из веб-интерфейса, там они называются соответственно клеммам, например A1_OUT.

Примечание для Wiren Board версий 2.8 и 3.5:

  • при подключении индуктивных нагрузок (реле) не забудьте поставить защитный диод - всплеск напряжения от катушки реле может повредить контроллер. Максимальный ток на канал - 3А, напряжение до 24В.

В Wiren Board 4 защитный диод встроен, и максимальное напряжение не должно превышать напряжения питания контроллера (Vin). Максимальный ток также 3 А.

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

Примеры использования

Пример подключения светодиода
Пример подключения реле

На иллюстрациях приведены схемы подключения светодиода и реле.


Также можно легко подключить готовый модуль реле, например такой

Технические детали

Эквивалентная схема

В Wiren Board для управления низковольтной нагрузкой используются каналы типа "открытый коллектор". Максимальное напряжение - 24 В, ток до 3 А.

Для сокращения общего числа клеммников каналы управления низковольтной нагрузки совмещены с каналами АЦП - смотрите Мультиплексирование портов. На каждом канале мультиплексора стоит защита по перенапряжению, поэтому при напряжении большем 3,8В на клемме течет небольшой ток (до 2мА ). Это вызывает, например, слабое свечение светодиодных лент (решение проблемы: добавить резистор на питание)

Пример работы в Linux

Смотрите GPIO.

  1. Находим номер GPIO, соответсвующий нужному клеммнику в таблице WB2.8/WB3.5/WB4. Для клеммника номер 2 в версии 2,8 это GPIO 32.
  2. Экспортируем GPIO в sysfs
    root@wirenboard:~# echo 32 > /sys/class/gpio/export
  3. Устанавливаем GPIO в режим вывода для управления транзистором. Это обязательно, т.к. GPIO может находится в режиме ввода и иметь высокий импенданс, оставляя транзистор в неопределённом состоянии.
    root@wirenboard:~# echo out > /sys/class/gpio/gpio32/direction
  4. Открываем транзистор, подавая логический высокий уровень на затвор:
    root@wirenboard:~# echo 1 > /sys/class/gpio/gpio32/value
  5. Закрываем транзистор, подавая логический ноль на затвор:
    root@wirenboard:~# echo 0 > /sys/class/gpio/gpio32/value