Цифровой вывод помпы Arduino 5V

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

Увидел на форуме, что нужен транзистор или реле, но не понял зачем?

Спасибо!

, 👍2


2 ответа


2

Возможно, потому что помпа будет потреблять больше тока (мА), чем может обеспечить вывод GPIO Arduino.

Вывод GPIO на Arduino может выдавать 20 мА или 40 мА максимум (но не рекомендуется в течение более длительного времени).

Поэтому используется отдельный источник питания, в котором базовый вывод транзистора подключен к выводу GPIO (с резистором), чтобы «включать» и выключать транзистор. База транзистора может иметь очень низкий ток (в пределах диапазона тока GPIO), что приводит к гораздо большему току от коллектора (подключенного к источнику питания) к эмиттеру (подключенному к GND). Насос находится где-то между внешним источником питания и заземлением).

Если вы ищете "транзистор в качестве переключателя", вы найдете много примеров.

Вы также можете использовать реле, если вам не нужно часто его включать. Реле обычно используются для устройств с питанием от сети (110+ вольт) и/или сильноточных устройств. Дополнительные сведения о реле см. в комментариях Дункана.

,

Хороший ответ, как обычно, но если вы используете реле, обмоткам реле почти наверняка потребуется больший ток, чем может обеспечить контакт GPIO, поэтому вам все равно понадобится транзистор (и «обратный диод») для управления реле. Существуют различные модули «цифровых реле», в которые все это встроено и которые предназначены для управления непосредственно с контакта 5V GPIO. Вы подаете им линию питания 5 В плюс управляющий сигнал, и они включают или выключают реле в зависимости от цифрового контакта., @Duncan C

Также обратите внимание, что если вы управляете индуктивной нагрузкой, такой как насос, от транзистора, у вас должен быть «обратный диод» для защиты транзистора от обратной ЭДС от индуктора., @Duncan C

@DuncanC Как обычно хороший комментарий :-) ... Должен признать, что для некоторых тестов я действительно использовал не «голое» реле, а релейный модуль, который содержит обратный диод и оптопару, вероятно, вместе с транзистором. Я добавил строку в свой ответ, чтобы прочитать ваши комментарии., @Michel Keijzers

Спасибо за ответы! я сделал с транзистором, и это сработало, спасибо, однако, если я подключу насос прямо к 5 В, он заработает, так что это означает, что контакт на Arduino имеет меньшее напряжение / ампер?, @Thomas Sxt

Контакт на Arduino - 5 В ... чтобы получить макс. рекомендуемые 20 мА, ваш насос должен быть максимум 5 * 0,02 А = 0,1 Вт. Однако Arduino отключится (или контакт) при использовании более 40 мА, но между 20 мА и 40 мА он будет работать, но это определенно не так. хорошо для Arduino (особенно в течение длительного времени). Итак, что вы можете сделать, используйте цифровой мультиметр (DMM), чтобы проверить ток и проверить, является ли он максимальным. 20 мА. Также проверьте, как измерять силу тока (ампер) на цифровом мультиметре. 0,1 Вт кажется мне очень маленькой помпой., @Michel Keijzers

Ок, проверю! Спасибо большое за вашу помощь!, @Thomas Sxt


1

@michel-keijzers указал вам правильное направление. В зависимости от требований к питанию для вашей помпы, вы можете специально изучить logic-levels/ уровень мощности МОП-транзисторов в качестве типа транзистора в вашей схеме.

Вы также можете изучить возможность использования подтягивающего резистора для полного включения полевого МОП-транзистора.

,

MOSFET на самом деле является тегом на этом форуме (https://arduinoprosto.ru/q/tagged/mosfet). Вы можете получить некоторые идеи из других вопросов., @BalooRM

Действительно, полевые МОП-транзисторы логического уровня часто являются отличным выбором, поскольку они почти не потребляют ток от управляющего контакта GPIO. Они имеют ОЧЕНЬ низкое «сопротивление во включенном состоянии», поэтому они могут управлять сильноточными (постоянными) нагрузками, выделяя очень мало тепла и тратя очень мало энергии., @Duncan C