IRF520 Module: Красный модуль (и его проблемы)
IRF520 Module — это, пожалуй, самый продаваемый MOSFET-модуль для Arduino на AliExpress. Красная плата, удобные клеммники, цена ~$0.5. Но у него есть серьёзные ограничения, о которых продавцы не предупреждают.
Характеристики модуля
| Параметр | Значение | Проблема |
|---|---|---|
| MOSFET | IRF520N | Не Logic Level! |
| $V_{DS}$ (макс.) | 100V | ✅ Хорошо |
| $I_D$ (макс.) | 9.2A | ⚠️ Только с радиатором |
| $V_{GS(th)}$ | 2-4V | ❌ Нужно 10V для полного открытия |
| $R_{DS(on)}$ при $V_{GS}=5V$ | ~500 мОм | ❌ Очень высокое! |
| $R_{DS(on)}$ при $V_{GS}=10V$ | ~200 мОм | ✅ Нормально |
Главная проблема: IRF520 — НЕ Logic Level
Посмотрите на график $R_{DS(on)}$ от $V_{GS}$ из даташита:
R_DS(on)
│
1Ω ├────●
│ ╲
│ ╲
│ ╲●
0.2├─────────╲●──────●──────●
│ ↓ ↓ ↓
└──┬───┬───┬───┬───┬───┬──► V_GS
0 2 4 6 8 10 12V
↑ ↑
Arduino Arduino
3.3V 5V
При 5V от Arduino IRF520 открывается частично:
- Сопротивление канала ~500 мОм (вместо 200 мОм)
- Потери в 2.5 раза выше
- MOSFET греется
- Мотор крутится медленнее
При 3.3V (ESP32, Raspberry Pi) ситуация ещё хуже — MOSFET может вообще не открыться!
Когда модуль IRF520 МОЖНО использовать
- Малые токи (<1A) — светодиоды, маленькие вентиляторы
- Низкое напряжение нагрузки — потери на MOSFET менее критичны
- Arduino 5V + простые задачи — вкл/выкл без ШИМ
Пример: Управление вентилятором 12V/0.5A
#define FAN_PIN 9
void setup() {
pinMode(FAN_PIN, OUTPUT);
}
void loop() {
digitalWrite(FAN_PIN, HIGH); // Вентилятор ВКЛ
delay(5000);
digitalWrite(FAN_PIN, LOW); // Вентилятор ВЫКЛ
delay(2000);
}
Это терпимо.
Когда модуль IRF520 НЕЛЬЗЯ использовать
- ❌ Токи >2A — сильный нагрев, возможен выход из строя
- ❌ ESP32 / Raspberry Pi (3.3V) — MOSFET не откроется нормально
- ❌ ШИМ-управление моторами — потери на переключение + проводимость
- ❌ Светодиодные ленты высокой мощности — яркость будет ниже ожидаемой
Тест: Как проверить свой модуль
// Тест работоспособности MOSFET-модуля
#define MOSFET_PIN 9
#define TEST_LOAD_PIN A0 // Подключите резистор 100Ом между LOAD+ и LOAD-
void setup() {
Serial.begin(115200);
pinMode(MOSFET_PIN, OUTPUT);
}
void loop() {
// Измерение напряжения при разных PWM
for (int pwm = 0; pwm <= 255; pwm += 25) {
analogWrite(MOSFET_PIN, pwm);
delay(100);
int adc = analogRead(TEST_LOAD_PIN);
float voltage = adc * (5.0 / 1023.0);
float expected = (pwm / 255.0) * 5.0;
Serial.print("PWM: "); Serial.print(pwm);
Serial.print(" Ожидаемо: "); Serial.print(expected, 2);
Serial.print("V Реально: "); Serial.print(voltage, 2);
Serial.println("V");
}
delay(2000);
}
Результаты:
- Если реальное напряжение близко к ожидаемому — модуль работает
- Если сильно ниже — MOSFET не полностью открывается
Решение 1: Добавить драйвер затвора
Если модуль уже куплен, можно добавить драйвер уровня (Gate Driver), который поднимет напряжение до 10-12V:
Arduino 5V ──────────────────────────────┐
│
Arduino GPIO ──[TC4427]── GATE ──[IRF520 Module]
│
GND
TC4427 — простой двухканальный драйвер затвора. Выход до 18V, ток 1.5A.
Решение 2: Заменить MOSFET
Можно выпаять IRF520 и впаять Logic Level MOSFET:
| Замена | $V_{DS}$ | $I_D$ | $R_{DS(on)}$ | Совместимость |
|---|---|---|---|---|
| IRLZ44N | 55V | 47A | 22 мОм @ 5V | ✅ |
| IRL540N | 100V | 36A | 44 мОм @ 5V | ✅ |
| RFP30N06LE | 60V | 30A | 35 мОм @ 5V | ✅ |
Решение 3: Купить правильный модуль
Вместо IRF520 Module ищите:
1. Модуль на IRLZ44N
Редко встречается готовым, но можно собрать самому.
2. Модуль на AOD4184
AOD4184A — современный Logic Level MOSFET:
- $V_{GS(th)} = 1.2V$ (отлично для 3.3V!)
- $R_{DS(on)} = 4.5$ мОм (очень низкое)
- $I_D = 50A$
3. Драйверы типа D4184 Module
Синие модули “D4184 PWM” на базе AOD4184 — рекомендуются:
- Работают от 3.3V и 5V
- Ток до 40A
- Оптоизоляция (часто)
- Цена ~$1-2
Сравнение модулей
| Модуль | MOSFET | Logic Level? | Макс. ток | Для 3.3V? | Цена |
|---|---|---|---|---|---|
| IRF520 (красный) | IRF520N | ❌ | ~2A (реально) | ❌ | $0.5 |
| D4184 (синий) | AOD4184 | ✅ | 40A | ✅ | $1-2 |
| FR120N Module | FR120N | ✅ | 9A | ✅ | $1 |
| DIY на IRLZ44N | IRLZ44N | ✅ | 40A | ✅ | $0.5 |
Вывод
IRF520 Module — это ловушка для новичков. Он дёшев и популярен, но из-за неподходящего MOSFET работает плохо в большинстве проектов.
Рекомендация: Покупайте модули на AOD4184 или паяйте схему с IRLZ44N самостоятельно. Это стоит тех же денег, но работает в разы лучше.
