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

Материал из Wiren Board
Строка 34: Строка 34:
# Экспортируем GPIO в sysfs
# Экспортируем GPIO в sysfs


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

Версия 21:02, 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