28BYJ-48 + ULN2003

Референс комплекта: Olimex; микросхема ULN2003A по документации TI · Olimex SM-5VDC-DRV: 28BYJ-48 5 V + ULN2003

Комплект маломощного редукторного шагового двигателя для изучения последовательности фаз.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает Olimex SM-5VDC-DRV: 28BYJ-48 5 V + ULN2003

28BYJ-48 с ULN2003 показывает, как последовательное включение обмоток вызывает движение ротора. Редуктор позволяет получить медленное движение выходного вала; комплект подходит для указателей и небольших учебных механизмов.

Референс — пяти-вольтовый Olimex SM-5VDC-DRV. В продаже есть другие напряжения и механические исполнения. ULN2003 является набором силовых ключей: он не понижает питание и не регулирует ток обмоток как A4988. Падение напряжения на Darlington-ключах также влияет на доступный момент.

Часто встречающиеся 2048 и 4096 зависят от режима полного/половинного шага и фактического редуктора. Номинальные 64:1 не следует превращать в обещание точного оборота. Для измеримого угла калибруют число шагов, учитывают люфт и используют датчик начала отсчёта. Пример отправляет 256 полушаговых переходов и не объявляет их определённым углом.

Пропуски шагов программно не видны. При дрожании без вращения отключите питание и проверьте порядок фаз и источник; повышать напряжение вместо диагностики нельзя. Все изменения разъёмов делаются при отключённом питании.

28BYJ-48 + ULN2003, Olimex SM-5VDC-DRV · 5 В. Фото: Olimex; https://www.olimex.com/Products/Robot-CNC-Parts/StepperMotors/SM-5VDC-DRV/. Лицензия на повторное использование не установлена. Удалён фон; объект равномерно масштабирован, детали и маркировка сохранены.

Схема соединений SLDV LAB показывает функциональные названия контактов; порядок строк не задаёт их физическое расположение. Подключение и первое включение выполняются по процедуре карточки.

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

Тип двигателя
Униполярный, 5 проводов
Питание референса
5 В
Редуктор по поставщику
Номинально 64:1; точный коэффициент конкретного двигателя проверяется
Силовая часть
ULN2003A: низкобоковые ключи Darlington с защитными диодами
Контроль реального положения
Нет
Питание модуля
В примере отдельные 5 В на двигатель и ULN2003-плату, логика 5 В Arduino Uno R3, общая земля. Маркировка 5–12V на плате не разрешает подавать 12 В на мотор 5 В.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
IN1, IN2, IN3, IN4 платы ULN2003D8, D9, D10, D11 Arduino Uno R3 соответственноПоследовательность в коде соответствует именно этому порядку IN1…IN4; соединения с мотором проверить по плате.
+ / VCC платы+5 В отдельного источникаПитает мотор через общий провод; проверьте, что COM защитных диодов ULN2003 связан с этим плюсом.
− / GND платыМинус внешнего источника и GND UnoОбщая земля; плюс внешнего источника не соединять с 5V Uno, питаемого USB.
Пятиконтактный разъём двигателяСоответствующий разъём платы ULN2003Общий провод мотора идёт к +5 В, четыре фазы — к выходам ключей. Не втыкать разъём со смещением. На GPIO обмотки не подключаются.

Подходит для Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать 28BYJ-48 с ULN2003. Уточни напряжение двигателя по маркировке, схему платы драйвера, контроллер, нагрузку и требуемый угол. Объясни общий провод и COM защитных диодов, выбери внешний источник и дай полный пример с явной последовательностью фаз и отключением обмоток после пробы. Не считай 4096 точным универсальным числом шагов на оборот и не подавай 12 В на мотор 5 В.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Контроллер и API
Arduino Uno R3; Arduino AVR Boards 1.8.6

Внешние библиотеки шагового двигателя не нужны; используются базовые GPIO.

Входы драйвера
IN1=D8; IN2=D9; IN3=D10; IN4=D11

Соответствует массиву phasePins.

Последовательность
8 состояний полушага; 5 мс на состояние

Умеренная стартовая скорость без механической нагрузки; это не максимальная скорость.

Проба
256 переходов после символа t

В конце все IN переводятся в LOW: удерживающий момент исчезает.

Arduino Uno R3: 256 переходов после команды t

cpp
const uint8_t phasePins[4] = {8, 9, 10, 11};
const uint8_t states[8][4] = {
  {1,0,0,0}, {1,1,0,0}, {0,1,0,0}, {0,1,1,0},
  {0,0,1,0}, {0,0,1,1}, {0,0,0,1}, {1,0,0,1}
};
void off() {
  for (uint8_t p : phasePins) digitalWrite(p, LOW);
}
void setup() {
  for (uint8_t p : phasePins) {
    digitalWrite(p, LOW);
    pinMode(p, OUTPUT);
  }
  Serial.begin(115200);
  Serial.println("Power 5V driver, remove load, send t.");
}
void loop() {
  if (!Serial.available() || Serial.read() != 't') return;
  for (uint16_t n = 0; n < 256; ++n) {
    for (uint8_t i = 0; i < 4; ++i)
      digitalWrite(phasePins[i], states[n % 8][i] ? HIGH : LOW);
    delay(5);
  }
  off();
  Serial.println("256 commanded transitions; coils off.");
}

Полный скетч для Uno R3 и Arduino AVR Boards 1.8.6. API сверено; не компилировалось и не проверялось на аппаратуре. Сначала загрузите код, затем включите внешние 5 В, отправьте t при 115200 бод. Проверяйте свободное движение без гудения и перегрева. Счётчик не является энкодером; выключение обмоток может освободить нагрузку, поэтому проба проводится без подвешенного груза.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты