Arduino ULN2003A
тел. +7(499)347-04-82
Описание Arduino ULN2003A
Arduino + ULN2003A — Описание и характеристики
📋 Описание
ULN2003A — это высоковольтный высокотоковый массив из семи составных транзисторов Дарлингтона в одном корпусе (DIP-16 или SOIC-16). Микросхема предназначена для коммутации индуктивных и резистивных нагрузок: реле, соленоидов, шаговых двигателей, светодиодов и ламп.
В контексте Arduino ULN2003A чаще всего используется в драйверах шаговых двигателей 28BYJ-48 — популярный синий модуль с 4 светодиодами. Микросхема позволяет Arduino управлять нагрузками с напряжением до 50 В и током до 500 мА на канал, используя маломощные логические выходы (5 В).
⚙️ Технические характеристики
| Параметр | Значение | |---|---| | Тип | 7-канальный массив Дарлингтона (NPN) | | Корпус | DIP-16, SOIC-16, TSSOP-16 | | Напряжение коллектор-эмиттер (Vce) | 50 В (макс.) | | Выходной ток (на канал) | 500 мА (макс.) | | Пиковый ток | 600 мА | | Входное напряжение (логика 1) | 2.4 В (мин.), совместимо с TTL/CMOS/5V | | Напряжение насыщения (Vce_sat) | ~0.9 В при 100 мА, ~1.3 В при 200 мА | | Входной ток | 0.93 мА при 5 В (каждый канал) | | Рабочая температура | −40…+85 °C | | Встроенные диоды | Есть (защита от обратной ЭДС) | | hFE (усиление) | ≥ 1000 |
Распиновка (DIP-16)
┌───U───┐
1B ──┤1 16├── 1C
2B ──┤2 15├── 2C
3B ──┤3 14├── 3C
4B ──┤4 13├── 4C
5B ──┤5 12├── 5C
6B ──┤6 11├── 6C
7B ──┤7 10├── 7C
GND ──┤8 9├── COM
└───────┘
- Bx — вход (к Arduino)
- Cx — выход (к нагрузке)
- COM — общий вывод диодов (подключается к +V нагрузки)
- GND — земля
🔢 Парт-номера (аналоги)
Оригинальный производитель — Texas Instruments, но есть множество аналогов:
Texas Instruments:
ULN2003ADR— SOIC-16, лентаULN2003AN— DIP-16ULN2003AD— SOIC-16ULN2003ADG4,ULN2003ANG4
Другие производители (pin-to-pin совместимые):
ULN2003APG— ToshibaULN2003D1013TR— STMicroelectronicsMC1413,MC1413B,MC1413P— ON Semiconductor / MotorolaULN2003V— версия с малым потреблением (работа от 3.3 В)ULN2003LV— 8-канальная low-voltage версияULQ2003A— автомобильная серия (до 60 В)SN75468— аналогичный драйвер- Китайские клоны:
ULN2003Aс маркировкой различных фабрик (не отличается по функции)
🔧 Совместимые модели и модули
Шаговые двигатели (чаще всего):
- 28BYJ-48 (5V, 4-фазный униполярный) — идёт в комплекте с модулем ULN2003
- 35BYJ серия
- 42BYGH серия (при доработке)
Модуль драйвера на ULN2003:
- «Stepper Driver ULN2003 Board» — синяя плата с разъёмом под 28BYJ-48 и 4-пиновым интерфейсом на Arduino (IN1-IN4)
Другие совместимые нагрузки:
- Реле (5V, 12V), в т.ч. модули реле с катушкой ≤500 мА
- Соленоиды и электромагниты
- Лампы накаливания, светодиодные ленты
- Малые униполярные шаговые двигатели (5–12 В)
Контроллеры (используются с Arduino):
- Arduino Uno / Nano / Mega / Leonardo / Micro / Pro Mini — любые 5 В платы
- ESP32 / ESP8266 — совместимы с ULN2003, но нужно подавать не 5 В минимум логики (можно V логики через +5 V)
💻 Пример подключения к Arduino
// ВНИМАНИЕ: питание мотора 5В отдельное, GND общий с Arduino!
// Подключение IN1..IN4 к пинам D8..D11 Arduino
#include <Stepper.h>
const int stepsPerRevolution = 2048; // для 28BYJ-48
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
void setup() {
myStepper.setSpeed(10); // RPM
}
void loop() {
myStepper.step(stepsPerRevolution); // 1 оборот вперёд
delay(500);
myStepper.step(-stepsPerRevolution); // 1 оборот назад
delay(500);
}
Схема:
Arduino D8 → IN1
Arduino D9 → IN2
Arduino D10 → IN3
Arduino D11 → IN4
Arduino GND → GND модуля
+5V (~1A) → "+" питания мотора
Мотор → COM / OUT+ разъёма
⚠️ Важные замечания
- НЕ питайте мотор от порта USB Arduino — превышение 500 мА по току и просадки по 5В. Используйте отдельный БП.
- Обязательно общая земля (GND) между Arduino и внешним БП.
- ULN2003A имеет встроенный подавчающий диод на каждый канал — защита от ЭДС самоиндукции реле и двигателей. Отдельные диоды не нужны.
- Падение напряжения ~1 В на транзисторе — учитывайте при питании от 5 В мотора, он получит ~4 В.
- Ток 7 каналов сум��ируется по GND-выводу (пин 8), учитывайте теплоотвод при работе вблизи максимального тока.
Если нужно — могу написать скетч под конкретную задачу (управление по Bluetooth, кнопками, PWM-регулировка скорости) или чертёж схемы в KiCad/Fritzing.