Управление низковольтной нагрузкой: различия между версиями

Материал из Wiren Board
Строка 29: Строка 29:
[[Файл:Пример реле.JPG|thumb|500px|Пример подключения реле]]
[[Файл:Пример реле.JPG|thumb|500px|Пример подключения реле]]


 
==Пример работы в Linux==
===Пример работы в Linux===
См. [[Работа с GPIO]].
См. [[Работа с GPIO]].



Версия 21:08, 10 октября 2013


Описание

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

В Wiren Board 2.8 есть 7 каналов управления низковольтной нагрузкой по схеме "открытый коллектор". Это клеммы 2-7 и 19. В каждом канале находится N-канальный полевой транзистор.


Клеммы 2-7:

Максимальное напряжение - 30 В, ток до 3 А.

Управляющие транзисторы - IRLML6344

Для сокращения общего числа клеммников, каналы управления низковольтной нагрузки совмещены с каналами мультиплексора АЦП.

На каждом канале мультиплексора стоит защита по перенапряжению, поэтому при напряжении большем 3,8В на клемме течет небольшой ток (до 2мА ).

На клемме 19 стоит более мощный транзистор с рабочим напряжением до 60В. Он управлется GPIO с возможностью аппаратного ШИМа.

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

Примеры даны на картинке.

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

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

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

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

См. Работа с GPIO.

  1. Находим номер GPIO, соответсвующий нужному клеммнику в таблице Список GPIO. Для клеммника номер 2 это GPIO 32.
  2. Экспортируем GPIO в sysfs
root@wirenboard:~# echo 32 > /sys/class/gpio/export

  1. Устанавливаем GPIO в режим вывода для управления транзистором. Это обязательно, т.к. GPIO может находится в режиме ввода и иметь высокий импенданс, оставляя транзистор в неопределённом состоянии.
root@wirenboard:~# echo out > /sys/class/gpio/gpio32/direction

  1. Открываем транзистор, подавая логический высокий уровень на затвор:
root@wirenboard:~# echo 1 > /sys/class/gpio/gpio32/value

  1. Закрываем транзистор, подавая логический ноль на затвор:
root@wirenboard:~# echo 0 > /sys/class/gpio/gpio32/value