4.02.4. Лабораторная работа №4.2.4.md


Управляем мощностью

Тема работы

До сих пор мы управляли только маломощными светодиодами. Но что, если нам нужно управлять чем-то более серьёзным, например, мотором вентилятора? Пины микроконтроллера не могут выдать достаточный ток для такой задачи. В этой лабораторной работе мы решим эту проблему с помощью транзисторов, которые мы изучали в главе 2. Мы соберём две схемы — одну с биполярным NPN-транзистором (BC337), другую с N-канальным MOSFET (IRF530N) — и научимся плавно регулировать скорость вращения вентилятора.

Цель

  • Научиться управлять мощной нагрузкой (вентилятором) с помощью микроконтроллера и транзистора.
  • На практике сравнить работу биполярного и полевого (MOSFET) транзисторов.
  • Изучить, как характеристики транзистора влияют на работу схемы, и научиться решать проблему неполного открытия MOSFET.
  • Применить ШИМ (PWM) для плавной регулировки скорости вращения мотора.

Оборудование и материалы

  • Отладочная плата Рудирон.
  • Макетная плата и модуль питания.
  • Аккумуляторная батарея 9В.
  • Вентилятор (DC мотор, 5В).
  • 1 биполярный NPN-транзистор.
  • 1 N-канальный MOSFET.
  • 1 резистор номиналом 1 кОм.
  • 1 резистор номиналом 10 кОм.
  • Соединительные провода.
  • USB-кабель для подключения Рудирона.
  • Компьютер с Arduino IDE.

Ход работы

  1. Подготовка питания

    Вентилятор потребляет значительный ток, поэтому питать его напрямую от USB-порта нельзя. Мы будем использовать внешнее питание.

    • Установите модуль питания на макетную плату, подключите к нему батарею 9В и установите перемычки на .
    • Рудирон подключите к компьютеру через USB.

      Важно! «Земли» (GND) Рудирона и модуля питания на макетной плате должны быть соединены вместе одним проводом. Это нужно, чтобы у обеих частей схемы был общий нулевой уровень напряжения.

  2. Схема №1. Управление с помощью NPN-транзистора BC337

    Сначала соберём схему с биполярным транзистором. Он работает как ключ, управляемый током: небольшой ток с пина микроконтроллера на «базу» транзистора открывает путь для большого тока через вентилятор.

    Характеристика BC337 Значение
    Макс. ток коллектора 800 мА
    Макс. напряжение 45 В
    Коэффициент усиления (hFE) 100 - 630
    • Подключите вентилятор. Красный провод (+) к шине 5V на макетной плате, чёрный () к выводу Коллектор (C) BC337.
    • Подключите транзистор. Эмиттер (E) к GND, а Базу (B) через резистор 1 кОм к пину 5 Рудирона. Резистор здесь ограничивает ток базы.
  3. Схема №2. Управление с помощью MOSFET IRF530N

    Теперь заменим биполярный транзистор на полевой. MOSFET управляется напряжением на затворе.

    Характеристика IRF530N Значение
    Макс. ток стока 17 А
    Макс. напряжение 100 В
    Напряжение открытия (Vgs(th)) 2 - 4 В

    Обратите внимание на последнюю строчку. IRF530N — не «логический» (logic-level) транзистор. Ему нужно 2-4 В только чтобы начать открываться, а для полного открытия и минимального сопротивления требуется около 10 В. Пин Рудирона выдаёт всего 3.3 В. Этого может быть недостаточно!

    • Подключите MOSFET. Чёрный провод () вентилятора к выводу Сток (Drain). Исток (Source) к GND. Затвор (Gate) к пину 5 Рудирона.
    • Хитрость. Подтяжка затвора к 5В. Чтобы «помочь» MOSFET открыться сильнее, мы «подтянем» затвор к более высокому напряжению с макетной платы. Добавьте в схему резистор 10 кОм между пином 5 и шиной 5V на макетной плате.
  4. Написание и загрузка кода

    Код для обеих схем будет одинаковым, чтобы мы могли честно сравнить их работу.

    • Установите перемычку PRG | RUN в положение PRG.
    • В Arduino IDE введите следующий код:

      void setup() {
        // pinMode для ШИМ-пина не обязателен
      }
      
      void loop() {
        // Плавно увеличиваем ШИМ от 0 до 255
        for (int speed = 0; speed <= 255; speed++) {
        analogWrite(5, speed); // Подаём ШИМ на пин 5
        delay(20);
        }
        delay(1000); // Пауза на максимальной скорости
      
        // Плавно уменьшаем ШИМ от 255 до 0
        for (int speed = 255; speed >= 0; speed--) {
        analogWrite(5, speed);
        delay(20);
        }
        delay(1000); // Пауза на нулевой скорости
      }
      
    • Сначала соберите Схему №1 и загрузите код. Оцените максимальную скорость вентилятора.
    • Затем разберите схему и соберите Схему №2 с подтягивающим резистором. Снова загрузите код и сравните результат.

Результаты

Вы должны увидеть, что вентилятор плавно меняет скорость вращения в обеих схемах. Однако, скорее всего, вы заметите, что со схемой №1 вентилятор вращается значительно быстрее и мощнее.

Анализ результатов

  • Схема с NPN BC337: Работает, но биполярный транзистор для своего управления потребляет часть тока с пина Рудирона. Кроме того, на нём есть небольшое, но постоянное падение напряжения. Эта энергия теряется, превращаясь в тепло, и не доходит до вентилятора.
  • Схема с MOSFET IRF530N: MOSFET управляется напряжением и почти не потребляет ток. Благодаря подтягивающему резистору, когда пин 5 находится в состоянии HIGH (выход Рудирона имеет высокое сопротивление), напряжение на затворе поднимается почти до 5В. Этого достаточно, чтобы MOSFET открылся гораздо сильнее, чем от 3.3В. Его сопротивление становится очень низким, и почти вся мощность от источника питания идёт на вентилятор.

Выводы

В этой лабораторной работе вы:

  • Научились управлять мощными устройствами, такими как мотор, с помощью транзисторов.
  • Использовали ШИМ для плавной регулировки скорости.
  • На практике сравнили два типа транзисторов и убедились в большей эффективности MOSFET для управления мощностью.
  • Освоили практический приём («лайфхак») для управления стандартными (не логическими) MOSFET от низковольтного микроконтроллера.

Вопросы для самопроверки

  1. Почему нельзя подключать вентилятор напрямую к пину микроконтроллера?
  2. Какой параметр NPN-транзистора управляет его открытием? А у MOSFET?
  3. Что такое напряжение открытия Vgs(th) у MOSFET и почему оно важно?
  4. Зачем в схеме с IRF530N мы добавили подтягивающий резистор к 5В?
  5. Как изменить код, чтобы вентилятор работал только на половине своей максимальной мощности?

Вы освоили управление мощными нагрузками — это ключ к робототехнике и автоматизации! В следующей лабораторной работе мы познакомимся с ещё одним важным элементом механики — сервоприводом.