Espruino:Примеры/Полевой транзистор Puck.js

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Полевой транзистор Puck.js[1]

Вторая версия Puck.js оснащена встроенным полевым транзистором. Это позволяет вам управлять устройствами, работающими на средней силе тока (до 200 мА) напрямую через Puck.js, т.е. безо всяких внешних компонентов.

Как это работает

Puck.js оснащен встроенным полевым транзистором, подключенным к контактам D26 и GNDEspruino также есть глобальная переменная FET, эквивалентная D26).

Если контакт D26 находится в состоянии HIGH, полевой транзистор (работающий по принципу замкнутого переключателя) начинает проводить ток и подключает контакт FET к GND. Таким, образом, всё, что подключено между источником питания и контактом FET, будет включено.

Характеристики

В Puck.js используется устройство NTZD3154 (документация). Оно состоит из двух полевых транзисторов: первый используется для передачи ИК-сигнала, а второй доступен для использования вами.

Он имеет следующие характеристики:

  • Максимальное напряжение от стока к истоку – 20 вольт (абсолютное максимальное напряжение, на которое можно переключиться).
  • Максимальная сила тока – 540 мА (при обратном напряжении – 350 мА).
  • Сопротивление во включенном состоянии – 0.5 Ом.

Если вы хотите запитать устройство от Puck.js, у вас есть два варианта: питание от батарейки Puck.js и питание от внешней батареи.

Питание от батарейки Puck.js

Puck.js оснащен 3-вольтовой батарейкой CR2032 емкостью примерно 220 мА·ч – этого обычно мало для питания внешних устройств, но для некоторых проектов должно быть достаточно.

Если внешнее устройство тянет у Puck.js слишком много энергии, это вполне может снизить напряжение до такой степени, что сразу после команды FET.set(), включающей полевой резистор, Puck.js автоматически выключится.

Итак, чтобы запитать внешнее устройство от Puck.js, подключите его следующим образом:

  • Плюсовой контакт – к контакту 3V на Puck.js
  • Минусовой контакт – к контакту FET на Puck.js

К примеру, вы можете подключить между контактами FET и 3V динамик, а затем воспользоваться кодом ниже, чтобы издавать звуки с помощью этого динамика:

function beep() {
  analogWrite(FET,0.01,{freq:1000});
  setTimeout(function() {
    FET.reset();
  },200);
}

beep();
Примечание

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

Питание от внешней батареи

Поскольку полевой резистор, по сути, замыкает контакт FET с контактом GND, мы можем использовать его, чтобы создать более высокое напряжение, чем у батареи Puck.js – но с условием, что внешнее напряжение меньше 20 вольт.

Чтобы запитать устройство от внешней батареи, подключите его следующим образом:

  • Плюсовой контакт – к плюсовому терминалу внешней батареи.
  • Минусовой контакт – к контакту FET на Puck.js.
  • Контакт GND на Puck.js – к минусовому терминалу внешней батареи.

Теперь вы можете включать и выключать внешнее устройство при помощи функций FET.write(1) или FET.write(0).

Внимание!

Электромагнитные устройства (моторы, соленоиды, динамики и т.д.) при отключении от питания генерируют мощные электрические всплески. Хотя у полевого транзистора, которым оснащён Puck.js, есть некоторый уровень защиты (350 мА) от этой противо-ЭДС, если вы хотите что-то запитать через полевой транзистор, мы бы посоветовали подключить параллельно с контактами питаемого устройства дополнительный диод, чтобы дополнительно защитить Puck.js.

См.также

Внешние ссылки