Схема подключения ULN2003A
Микросхема ULN2003A – комплект составных коммутаторов с широкой сферой применения. Матрица может быть задействована для контроля нагрузок значительной мощности в различных современных проектах, например, для управления светодиодными индикаторами, электромагнитными клапанами и реле, шаговыми моторами, двигателями постоянного тока и т.д.
Модуль имеет 16-выводной компактный корпус на семь каналов (транзисторов Дарлингтона). Все выходы и входы расположены друг напротив друга, что очень удобно. Устройство имеет компактный размер. Об остальных технических параметрах читайте далее:
Важно! При разработке схем с этим модулем следует обращать внимание на пороги регулирования тока.
Т.к. микросхема универсальна, но все же предназначена для работы с p-МОП логикой (5В), в дальнейшем мы рассмотрим подключение ULN2003A к Arduino с применением униполярного шагового двигателя (модель может быть любой). С такими моторами данный модуль обычно работает в «паре». Оба – бюджетны по стоимости и отлично «ладят».
Для реализации сборки нам понадобятся такие аппаратные компоненты как: микроконтроллер Arduino Mini, ШД BYJ48 5В, драйвер ULN2003, источник питания на 5В, провода.
Схема подключения ULN2003A к Ардуино показана на скриншоте:
Для программирования и дальнейшего применения сборки нужен скетч. Он стандартный, его можно отыскать в среде разработки IDE по пути: Файл/Примеры. Подключаем.
Теперь заливаем прошивку:
Как показывает пользовательская практика применения рассматриваемой микросхемы, она является достаточно мощным и полезным инструментом, а значит, может пригодится многим «ардуинщикам» и любителям «самоделок».
Модуль имеет 16-выводной компактный корпус на семь каналов (транзисторов Дарлингтона). Все выходы и входы расположены друг напротив друга, что очень удобно. Устройство имеет компактный размер. Об остальных технических параметрах читайте далее:
- напряжение (максимальное): до 50V;
- пиковый ток: 600 мА (на канал-500);
- питание катушки: 12-48В;
- тип корпуса: SO-16;
- рабочие температуры: -60°C…+150°C;
- имеются защитные диоды на выходе;
- коэффициент заполнения: 100%.
Важно! При разработке схем с этим модулем следует обращать внимание на пороги регулирования тока.
Т.к. микросхема универсальна, но все же предназначена для работы с p-МОП логикой (5В), в дальнейшем мы рассмотрим подключение ULN2003A к Arduino с применением униполярного шагового двигателя (модель может быть любой). С такими моторами данный модуль обычно работает в «паре». Оба – бюджетны по стоимости и отлично «ладят».
Для реализации сборки нам понадобятся такие аппаратные компоненты как: микроконтроллер Arduino Mini, ШД BYJ48 5В, драйвер ULN2003, источник питания на 5В, провода.
Схема подключения ULN2003A к Ардуино показана на скриншоте:
Для программирования и дальнейшего применения сборки нужен скетч. Он стандартный, его можно отыскать в среде разработки IDE по пути: Файл/Примеры. Подключаем.
Теперь заливаем прошивку:
/* Скетч для шагового двигателя BYJ48
Схема подключения: IN1 >> D8 IN2 >> D9 IN3 >> D10 IN4 >> D11 VCC ... 5V.
Лучше использовать внешний источник питания Gnd
Автор кода: Mohannad Rawashdeh
Детали на русском языке: /arduino-shagovii-motor-28-BYJ48-draiver-ULN2003
Англоязычный вариант: http://www.instructables.com/member/Mohannad+Rawashdeh/ 28/9/2013 */
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
int Steps = 0;
boolean Direction = true;
unsigned long last_time;
unsigned long currentMillis ;
int steps_left=4095;
long time;
void setup()
{
Serial.begin(115200);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
// delay(1000);
}
void loop()
{
while(steps_left>0){
currentMillis = micros();
if(currentMillis-last_time>=1000){
stepper(1);
time=time+micros()-last_time;
last_time=micros();
steps_left--;
}
}
Serial.println(time);
Serial.println("Wait...!");
delay(2000);
Direction=!Direction;
steps_left=4095;
}
void stepper(int xw){
for (int x=0;x<xw;x++){
switch(Steps){
case 0:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
break;
case 1:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
break;
case 2:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
break;
case 3:
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
break;
case 4:
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
case 5:
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
case 6:
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
case 7:
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
break;
default:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
}
SetDirection();
}
}
void SetDirection(){
if(Direction==1){ Steps++;}
if(Direction==0){ Steps--; }
if(Steps>7){Steps=0;}
if(Steps<0){Steps=7; }
}
Как показывает пользовательская практика применения рассматриваемой микросхемы, она является достаточно мощным и полезным инструментом, а значит, может пригодится многим «ардуинщикам» и любителям «самоделок».
Похожие новости
Инструкция по установке библиотек для Arduino...
Подключаем сервопривод к Ардуино, скетчи, библиотеки и все что для этого нужно...
Адресная светодиодная лента на Arduino – отличное решение для создания SMART освещения в любом помещении либо создания цветомузыки ∕ эффекта декоративной...
Среда программирования Arduino IDE (Integrated Development Environment ) может функционировать не только на платформах Windows и Mac, но и на базе операционной...
Сегодня мы поговорим о том, как подключить ESP32 к Ардуино. Данная инструкция больше подходит для Windows девайсов (хотя и для других операционных систем типа...