Включение вентилятора с транзистором, вентилятор работает очень медленно

Я хочу управлять вентилятором с помощью arduino от 0 об / мин до полных оборотов в минуту. Используя (модифицированный) шим-сигнал от arduino, я могу управлять скоростью с помощью шим-сигнала, но он не может достигать 0 оборотов в минуту.

Поэтому я решил добавить транзистор в качестве переключателя, используя следующую схему.

schematic

Вентилятор-это снеговик F120, я использовал BC337 в качестве транзистора (800 мА) и резистора 2,2 ком, для контроллера я использую вывод 6 на arduino nano и устанавливаю его высоко/низко. Arduino и вентилятор работают от источника питания 12 В. Я удалил шим-сигнал, чтобы просто включить или выключить его полностью для целей тестирования.

Я надеялся использовать транзистор в качестве переключателя включения/выключения, а при включении просто посылать шим-сигнал, так как он уже работал.

Теперь вентилятор можно выключить/включить с помощью arduino, но он работает очень медленно, скажем, 10% полной pwr. Может кто-нибудь объяснить, почему это так? Есть ли лучший способ контролировать это?

Редактировать: я попытался полностью удалить резистор, но вентилятор по-прежнему движется очень медленно

Правка: это 4-проводной вентилятор, но он не может пройти весь путь до 0 с помощью шим. Вот почему я хочу "переключиться"

Я понизил резистор до 120 Ом и переключил вывод gpio, никакого эффекта, если я подожду достаточно долго, транзистор нагреется

Редактировать: я подключил транзистор к 5 В Arduino вместо цифрового выхода (высокий) и низкий, и вентилятор работает хорошо (резистор все еще находится между ними, протестированы 120 и 2,2 Ком, обе ситуации работают). Я предполагаю, что цифровой выход не может обеспечить достаточный ток?

, 👍0

Обсуждение

Это 4-проводный вентилятор?, @Majenko


2 ответа


Лучший ответ:

5

С резистором 2,2 К вы значительно ограничиваете ток, который может протекать через транзистор.

Я не смотрел спецификации этого транзистора, но, принимая типичные значения для Vbe (0,6 В) и Hfe (100), мы можем рассчитать:

Ibe = (5V - 0.6V) / 2200 ohm = 0.002A

Ice = Ibe x Hfe = 0.002 x 100 = 0.2A

Таким образом, даже если ваш транзистор способен на 800 мА, на самом деле вы допускаете максимум 200 мА.

Добавьте к этому падение напряжения транзистора, и у вас будет рецепт медленного вентилятора.

На самом деле вам было бы лучше использовать для этой работы N-канальный МОП-транзистор, поскольку он управляется напряжением на затворе, а не током, протекающим через него. Кроме того, в режиме насыщения они больше похожи на резистор с очень низким значением, чем на пару диодов.

Также, если ваш вентилятор является 4-проводной вентилятор (как те, что я нашел на Google просмотр для этой модели), то вы даже не хотите транзистора: один из выводов вентилятор с ШИМ-вход, который можно подключить (вместе с вентилятором наземный) непосредственно к Arduino (это в основном включает в себя транзистор внутри вентилятор) для управления скоростью.

,

BC337 имеет относительно высокое усиление по постоянному току. 4-контактные вентиляторы часто не могут быть затемнены с помощью ШИМ, я думаю, именно поэтому оператор хочет использовать транзистор., @Sim Son

@SimSon Каждый 4-контактный вентилятор, который я когда-либо использовал, остановился на рабочем цикле 0%... Вот как вы добиваетесь бесшумных вычислений., @Majenko

- Я действительно пытался изменить резистор на низкое значение 120 Ом, но это не изменило результата. - это 4-проводный вентилятор, но он не останавливается при рабочем цикле 0%. Я тоже был удивлен, но, по-видимому, это не так уж необычно. Вместо того, чтобы покупать новые вентиляторы, я решил добавить транзистор в качестве переключателя, @user1908460

Я в порядке, чтобы переключиться на моп-транзистор, но у меня его нет. У вас есть предложения, какой из них использовать? Могу ли я использовать его в качестве замены в той же схеме?, @user1908460

Может быть, этот парень, IRLZ34N? https://eu.mouser.com/ProductDetail/Infineon/IRLZ34N?qs=sGAEpiMZZMua%252Bgb89%252BTvM2aBJqYrAlCZ6Q%252BoLUS32zE=, @user1908460

Это сработало бы отлично., @Majenko

Вентиляторы типа A, как указано Intel, не останавливаются при рабочем цикле 0%, это делают только вентиляторы типа B и C..., @Sim Son

Я заказал пару, пройдет около недели, пока я смогу протестировать., @user1908460


1

Я использовал BC337 для переключения небольших нагрузок, таких как вентиляторы, поэтому я знаю, что в целом это работает. Как объяснил Майенко, базовое сопротивление 2,2 Ком, однако, немного велико.

"Я попытался полностью удалить резистор, и вентилятор по - прежнему движется очень медленно" - если вы управляли транзистором без базового резистора, велика вероятность того, что GPIO был поврежден, попробуйте другой GPIO с 500-1000 Ом. Как правило, если транзистор нагревается при переключении небольшой нагрузки, что-то не так. Если между эмиттером и коллектором наблюдается разумное падение напряжения, по возможности уменьшите сопротивление базы.

Другое дело, что вам не следует переключать 4-контактный вентилятор с низкой стороны, если вы хотите одновременно управлять им с помощью ШИМ-входа. В случае отключения заземления вся схема вентилятора находится на уровне напряжения питания: Arduino увидит 12 В на своих выводах. Вместо этого используйте переключатель на верхней стороне

Правка: вы действительно убедились, что рабочий цикл вентилятора на входе PWM составлял 100%, когда транзистор был включен?

,

транзистор действительно нагрелся через некоторое время, скажем, через 20-30 секунд. Я также снизил резистор до 120 Ом без какого-либо эффекта, все равно становится жарко. Затем я переключился с цифрового выхода только на 5 В и протестировал оба резистора, оба, похоже, заставляют вентилятор работать на полной скорости при отключенном шим. Затем я подключил шим в той же конфигурации, и им можно было управлять. Так что, похоже, проблема в цифровом выходе, я попытался использовать 3 разных контакта 6, 7 и 8. Все, похоже, порождают одну и ту же проблему., @user1908460

@user1908460 также возможно, что транзистор сломан. Базовый резистор очень важен: если он слишком низкий, вы можете превысить номинальный ток базы или GPIO. Если он слишком высок, транзистор не работает в области насыщения, что приводит к высокой рассеиваемой мощности. Скорее всего, транзистор был уничтожен во время ваших предыдущих попыток., @Sim Son

Хорошая идея, я только что протестировал два других с более низким сопротивлением. Вентилятор также вращается очень медленно. Однако прямое подключение его к 5 В также работало., @user1908460

@user1908460 установите высокое значение GPIO и измерьте **а)** напряжение между GPIO и GND, **б)** напряжение на базовом резисторе, **в)** напряжение между коллектором и эмиттером. Изображение вашей проводки также может помочь., @Sim Son

существует а) 0,8-0,9 В над GPIO-gnd, б) 0,24 В над резистором (120 Ом) и в) 7,7 В над коллектором-эмиттером. Я также протестировал GPIO-GND без какой-либо нагрузки, и это было 5 В., @user1908460

Я также сделал то же самое измерение при подключении базового резистора к 5 В arduino вместо GPIO а) 5 В от 5 В-GND б) 4 В через резистор в) 0,1 В от коллектора-эмиттера, @user1908460

@user1908460 GPIO мертв. Он *может* по-прежнему работать с МОП-транзистором, но вам лучше использовать GPIO, который не сломан, или заменить микроконтроллер. И, как я уже сказал, используйте резистор в диапазоне 500-1000 Ом. Нет необходимости загружать GPIO с 36 мА для вашей небольшой нагрузки. Это очень близко к максимальному рейтингу., @Sim Son

Спасибо, я также закажу еще один arduino, протестирую оба и найду резистор 500-1000 Ом., @user1908460

@user1908460 вы можете использовать 3 из 2k2 параллельно. Кстати, если бы я сделал это сегодня, я бы также использовал МОП-транзистор, как предложил Майенко., @Sim Son

Хорошо, да, поскольку я уже заказал МОП-транзистор, я последую вашему совету. Я использовал транзистор, так как он лежал у меня, не нужно было ждать отправки...., @user1908460

@user1908460 вы можете использовать свой 120 Ом в качестве резистора затвора для МОП-транзистора ;), @Sim Son

супер спасибо, да, я бы просто догадался о чем-то и, вероятно, снова что-то сломал :P, @user1908460