UA RU
Мобільна версія Гарантійні умови Співпраця
Зворотний зв'язок Мапа сайту
0 0
Графік роботи магазину:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 19.00
Нд: вихідний
Каталог
Напиши статтю і отримай знижку!

Шилд драйвера двух двигунів 2А

  • Шилд драйвера двух двигунів 2А
Архівний товар, який більше не продається у нашому магазині

Увы, за этот товар уже голосовать нельзя :(

НО!

У нас есть куча других классных товаров! :)
18
 

Драйвер для двох двигунів з напругою живлення до 46В, постійним струмом до 2А з піками до 3А. Чіп L298N містить в собі потужний мостовий драйвер з двох H-мостів. Дозволяє регулювати напрямок та швидкість обертання незалежно для кожного мотора.

Перемикачі на платі:

VLO (Voltage Logic Onboard):

Чіп L298N працює з двома напругами: логічна напруга (5В) та напруга живлення двигунів (наприклад 7.2В, 9В, 12В в залежності від типу двигуна). Для конвертації напруги живлення двигуна від клеми VEX до логічної 5В напруги служить відповідна схема перетворення напруги.
Оскільки напруга в цьому ланцюзі обмежена 20В, двигуни, які живляться великою напругою не можуть використовувати цю схему. Перемикач VLO на платі служить для включення схеми логічного перетворення напруги (положення "ON") або вимкнення (положення "OFF").

(VLC) (Voltage Logic Connected):

Крім того, що шилд може живитися від схеми перетворення напруги, він також може живитися безпосередньо від 5В поданих від плати Arduino. Для цього треба подати на клеми 5V напругу 5В від плати Arduino. Перемикач VLC дозволяє вибрати звідки живитися шилду - від клеми 5V (положення "ON") чи ні (положення "OFF").

VM (Voltage Motor):

Перемикач VM служить для вибору напруги двигунів. Коли шилд підключений до Arduino є два шляхи живлення двигунів:

  • Від Vin піна плати Arduino (перемикач на VIN)
  • Від клеми VEX (перемикач на VEX)


У порівнянні з Arduino, шилд з L298N може нести більш високу напругу і струм, тому треба бути дуже уважними та обережними при підключенні.

Типові схеми підключення:

1. Напруга двигунів від 6 до 12В
Плата Arduino може живитися зовнішньою напругою від 6 до 12В (пін Vin плати Arduino), якщо напруга двигунів у цьому діапазоні, можна просто використовувати зовнішнє живлення одночасно для Arduino та двигунів. В цьому випадку перемикачі повинні бути виставлені так:
* VLO: OFF
* VLC: ON
* VM: VIN

2. Напруга двигунів менш ніж 6В
Живити двигуни в цьому випадку можна тільки через клеми VEX та GND на шилді, так як 5В схема перетворення напруги на шилді не зможе працювати (напруга VEX занадто низька), таким чином ми можемо тільки підключити 5В клеми Arduino для живлення 5В логічної напруги нашого шилда. В цьому випадку перемикачі повинні бути виставлені так:
* VLO: OFF
* VLC: ON
* VM: VEX

3. Напруга двигунів від 12 до 20В
Живити мотори в цьому випадку вийде тільки від клеми VEX і GND, але 5В схема перетворення напруги може працювати. Таким чином перемикачі слід виставити так:
* VLO: ON
* VLC: OFF
* VM: VEX

4. Напруга двигунів від 20 до 46В
Живити двигуни в цьому випадку вийде тільки від клеми VEX і GND, оскільки 5В схема перетворення напруги працювати не буде (напруга на VEX занадто висока), тому можна тільки підключити 5В клеми Arduino для живлення логічної напруги нашого шилда. Перемикачі виставляються так:
* VLO: OFF
* VLC: ON
* VM: VEX

Для керуванням напрямку руху двигуна А використовуються виводи плати Arduino 13 та 12, швидкість контролюється виводом 10. Для двигуна В напрямок керується через виводи 11 та 8, швидкість через 9-й. На платі є 4 світлодіоди, щоб показати напрямок обертання двигунів, а їх яскравість відповідає їх швидкості.

Приклад скетчу:

// motor A
int dir1PinA = 13;
int dir2PinA = 12;
int speedPinA = 10;

// motor B
// motor A
int dir1PinB = 11;
int dir2PinB = 8;
int speedPinB = 9;

unsigned long time;
int speed;
int dir;

void setup() {
pinMode(dir1PinA, OUTPUT);
pinMode(dir2PinA, OUTPUT);
pinMode(speedPinA, OUTPUT);
pinMode(dir1PinB, OUTPUT);
pinMode(dir2PinB, OUTPUT);
pinMode(speedPinB, OUTPUT);

time = millis();
speed = 0;
dir = 1;
}

void loop() {
analogWrite(speedPinA, speed);
analogWrite(speedPinB, 255 - speed);
// set direction
if (1 == dir) {
digitalWrite(dir1PinA, LOW);
digitalWrite(dir2PinA, HIGH);
digitalWrite(dir1PinB, HIGH);
digitalWrite(dir2PinB, LOW);
} else {
digitalWrite(dir1PinA, HIGH);
digitalWrite(dir2PinA, LOW);
digitalWrite(dir1PinB, LOW);
digitalWrite(dir2PinB, HIGH);
}
if (millis() - time > 5000) {
time = millis();
speed += 20;
if (speed > 255) {
speed = 0;
}
if (1 == dir) {
dir = 0;
} else {
dir =1;
}
}
}

Посилання:

оплата картами Visa і MasterCard